]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
cxl: Move hpa_to_spa callback to a new root decoder ops structure
authorAlison Schofield <alison.schofield@intel.com>
Mon, 4 Aug 2025 08:00:09 +0000 (01:00 -0700)
committerDave Jiang <dave.jiang@intel.com>
Tue, 12 Aug 2025 23:01:32 +0000 (16:01 -0700)
commit524b2b76f365fb90a7f894ac17261ea760464e2c
tree136e6f572452b487898de94a8e3babdd903b9bdf
parent8f5ae30d69d7543eee0d70083daf4de8fe15d585
cxl: Move hpa_to_spa callback to a new root decoder ops structure

The root decoder's HPA to SPA translation logic was implemented using
a single function pointer. In preparation for additional per-decoder
callbacks, convert this into a struct cxl_rd_ops and move the
hpa_to_spa pointer into it.

To avoid maintaining a static ops instance populated with mostly NULL
pointers, allocate the ops structure dynamically only when a platform
requires overrides (e.g. XOR interleave decoding).

The setup can be extended as additional callbacks are added.

Co-developed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Link: https://patch.msgid.link/818530c82c351a9c0d3a204f593068dd2126a5a9.1754290144.git.alison.schofield@intel.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/acpi.c
drivers/cxl/core/port.c
drivers/cxl/core/region.c
drivers/cxl/cxl.h