linux/drivers/cxl/core
Alison Schofield f0832a5863 cxl/region: Provide region info to the cxl_poison trace event
User space may need to know which region, if any, maps the poison
address(es) logged in a cxl_poison trace event. Since the mapping
of DPAs (device physical addresses) to a region can change, the
kernel must provide this information at the time the poison list
is read. The event informs user space that at event <timestamp>
this <region> mapped to this <DPA>, which is poisoned.

The cxl_poison trace event is already wired up to log the region
name and uuid if it receives param 'struct cxl_region'.

In order to provide that cxl_region, add another method for gathering
poison - by committed endpoint decoder mappings. This method is only
available with CONFIG_CXL_REGION and is only used if a region actually
maps the memdev where poison is being read. After the region driver
reads the poison list for all the mapped resources, poison is read for
any remaining unmapped resources.

The default method remains: read the poison by memdev resource.

Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/438b01ccaa70592539e8eda4eb2b1d617ba03160.1681838292.git.alison.schofield@intel.com
Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2023-04-23 11:46:06 -07:00
..
core.h cxl/region: Provide region info to the cxl_poison trace event 2023-04-23 11:46:06 -07:00
hdm.c cxl/hdm: Extend DVSEC range register emulation for region enumeration 2023-04-04 15:34:34 -07:00
Makefile cxl/pci: Move tracepoint definitions to drivers/cxl/core/ 2023-01-04 17:11:11 -08:00
mbox.c cxl/trace: Add TRACE support for CXL media-error records 2023-04-23 11:45:53 -07:00
memdev.c cxl/region: Provide region info to the cxl_poison trace event 2023-04-23 11:46:06 -07:00
pci.c cxl/pci: Handle excessive CDAT length 2023-04-03 16:16:49 -07:00
pmem.c cxl/port: Fix find_cxl_root() for RCDs and simplify it 2023-04-04 15:34:34 -07:00
port.c cxl/port: Fix find_cxl_root() for RCDs and simplify it 2023-04-04 15:34:34 -07:00
region.c cxl/region: Provide region info to the cxl_poison trace event 2023-04-23 11:46:06 -07:00
regs.c cxl/regs: Fix sparse warning 2022-12-05 12:33:20 -08:00
suspend.c PM: CXL: Disable suspend 2022-04-22 16:09:42 -07:00
trace.c cxl/pci: Move tracepoint definitions to drivers/cxl/core/ 2023-01-04 17:11:11 -08:00
trace.h cxl/trace: Add TRACE support for CXL media-error records 2023-04-23 11:45:53 -07:00