OpenCloudOS-Kernel/drivers/cxl/core
Dan Williams d17d0540a0 cxl/core/hdm: Add CXL standard decoder enumeration to the core
Unlike the decoder enumeration for "root decoders" described by platform
firmware, standard decoders can be enumerated from the component
registers space once the base address has been identified (via PCI,
ACPI, or another mechanism).

Add common infrastructure for HDM (Host-managed-Device-Memory) Decoder
enumeration and share it between host-bridge, upstream switch port, and
cxl_test defined decoders.

The locking model for switch level decoders is to hold the port lock
over the enumeration. This facilitates moving the dport and decoder
enumeration to a 'port' driver. For now, the only enumerator of decoder
resources is the cxl_acpi root driver.

Co-developed-by: Ben Widawsky <ben.widawsky@intel.com>
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/164374688404.395335.9239248252443123526.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2022-02-08 22:57:30 -08:00
..
Makefile cxl/core/hdm: Add CXL standard decoder enumeration to the core 2022-02-08 22:57:30 -08:00
core.h cxl/core/hdm: Add CXL standard decoder enumeration to the core 2022-02-08 22:57:30 -08:00
hdm.c cxl/core/hdm: Add CXL standard decoder enumeration to the core 2022-02-08 22:57:30 -08:00
mbox.c cxl/core: Convert to EXPORT_SYMBOL_NS_GPL 2021-11-15 11:02:59 -08:00
memdev.c cxl/core: Convert to EXPORT_SYMBOL_NS_GPL 2021-11-15 11:02:59 -08:00
pci.c cxl/core: Generalize dport enumeration in the core 2022-02-08 22:57:30 -08:00
pmem.c cxl/pmem: Introduce a find_cxl_root() helper 2022-02-08 22:57:29 -08:00
port.c cxl/core/hdm: Add CXL standard decoder enumeration to the core 2022-02-08 22:57:30 -08:00
regs.c cxl/core/hdm: Add CXL standard decoder enumeration to the core 2022-02-08 22:57:30 -08:00