linux/drivers/cxl/core
Smita Koralahalli 078d3ee7c1 cxl/core/regs.c: Skip Memory Space Enable check for RCD and RCH Ports
According to CXL r3.2 section 8.2.1.2, the PCI_COMMAND register fields,
including Memory Space Enable bit, have no effect on the behavior of an
RCD Upstream Port. Retaining this check may incorrectly cause
cxl_pci_probe() to fail on a valid RCD upstream Port.

While the specification is explicit only for RCD Upstream Ports, this
check is solely for accessing the RCRB, which is always mapped through
memory space. Therefore, its safe to remove the check entirely. In
practice, firmware reliably enables the Memory Space Enable bit for
RCH Downstream Ports and no failures have been observed.

Removing the check simplifies the code and avoids unnecessary
special-casing, while relying on BIOS/firmware to configure devices
correctly. Moreover, any failures due to inaccessible RCRB regions
will still be caught either in __rcrb_to_component() or while
parsing the component register block.

The following failure was observed in dmesg when the check was present:
	cxl_pci 0000:7f:00.0: No component registers (-6)

Fixes: d5b1a27143 ("cxl/acpi: Extract component registers of restricted hosts from RCRB")
Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Cc: <stable@vger.kernel.org>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Terry Bowman <terry.bowman@amd.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Robert Richter <rrichter@amd.com>
Link: https://patch.msgid.link/20250407192734.70631-1-Smita.KoralahalliChannabasappa@amd.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
2025-04-21 08:30:13 -07:00
..
acpi.c acpi/hmat / cxl: Add extended linear cache support for CXL 2025-02-26 13:45:22 -07:00
cdat.c cxl/cdat: Remove redundant gp_port initialization 2025-03-14 15:00:55 -07:00
core.h cxl/core: Fix caching dport GPF DVSEC issue 2025-04-09 12:48:18 -07:00
features.c cxl/feature: Update out_len in set feature failure case 2025-04-18 09:33:56 -07:00
hdm.c Merge branch 'for-6.15/guard_cleanups' into cxl-for-next2 2025-03-14 16:11:06 -07:00
Makefile Merge branch 'for-6.15/features' into cxl-for-next 2025-03-17 09:22:59 -07:00
mbox.c Merge branch 'for-6.15/features' into cxl-for-next 2025-03-17 09:22:59 -07:00
mce.c cxl: Add mce notifier to emit aliased address for extended linear cache 2025-02-26 14:13:49 -07:00
mce.h cxl: Add mce notifier to emit aliased address for extended linear cache 2025-02-26 14:13:49 -07:00
memdev.c Merge branch 'for-6.15/features' into cxl-for-next 2025-03-17 09:22:59 -07:00
pci.c cxl/pci: Drop the parameter is_port of cxl_gpf_get_dvsec() 2025-04-09 12:48:18 -07:00
pmem.c cxl/pmem: Remove is_cxl_nvdimm_bridge() 2025-01-03 11:20:06 +01:00
pmu.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
port.c cxl/core: Fix caching dport GPF DVSEC issue 2025-04-09 12:48:18 -07:00
ras.c cxl/pci: Add trace logging for CXL PCIe Port RAS errors 2025-03-14 14:22:08 -07:00
region.c cxl/region: Fix the first aliased address miscalculation 2025-03-20 11:28:45 -07:00
regs.c cxl/core/regs.c: Skip Memory Space Enable check for RCD and RCH Ports 2025-04-21 08:30:13 -07:00
suspend.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
trace.c cxl/region: Move cxl_trace_hpa() work to the region driver 2024-04-30 12:24:42 -07:00
trace.h Merge branch 'for-6.15/extended-linear-cache' into cxl-for-next2 2025-03-14 16:22:34 -07:00