cxl: Remove core/acpi.c and cxl core dependency on ACPI
authorRobert Richter <rrichter@amd.com>
Fri, 11 Jul 2025 15:15:27 +0000 (17:15 +0200)
committerDave Jiang <dave.jiang@intel.com>
Tue, 15 Jul 2025 14:51:54 +0000 (07:51 -0700)
commit12b3d697c812aaf356e82d9e1f351fbb2ea97500
tree3ee81b189dc367543dcedb88187d025b8ef63177
parentbdf2d9fd3a86538b8c7368989248b857b5f1bcf1
cxl: Remove core/acpi.c and cxl core dependency on ACPI

From Dave [1]:

"""
It was a mistake to introduce core/acpi.c and putting ACPI dependency on
cxl_core when adding the extended linear cache support.
"""

Current implementation calls hmat_get_extended_linear_cache_size() of
the ACPI subsystem. That external reference causes issue running
cxl_test as there is no way to "mock" that function and ignore it when
using cxl test.

Instead of working around that using cxlrd ops and extensively
expanding cxl_test code [1], just move HMAT calls out of the core
module to cxl_acpi. Implement this by adding a @cache_size member to
struct cxl_root_decoder. During initialization the cache size is
determined and added to the root decoder object in cxl_acpi. Later on
in cxl_core the cache_size parameter is used to setup extended linear
caching.

[1] https://patch.msgid.link/20250610172938.139428-1-dave.jiang@intel.com

[ dj: Remove core/acpi.o from tools/testing/cxl/Kbuild ]
[ dj: Add kdoc for cxlrd->cache_size ]

Cc: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Robert Richter <rrichter@amd.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://patch.msgid.link/20250711151529.787470-1-rrichter@amd.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/acpi.c
drivers/cxl/core/Makefile
drivers/cxl/core/acpi.c [deleted file]
drivers/cxl/core/core.h
drivers/cxl/core/region.c
drivers/cxl/cxl.h
tools/testing/cxl/Kbuild