cxl/core: Define a 'struct cxl_root_decoder'
authorDan Williams <dan.j.williams@intel.com>
Wed, 13 Jul 2022 01:38:26 +0000 (18:38 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 21 Jul 2022 15:40:47 +0000 (08:40 -0700)
commit0f157c7fa1a0e1a55b602d8b269344392e9033ad
treed4559e85aeb0fb971f726e433c67668b10993188
parent974854ab0728532600c72e41a44d6ce1cf8f20a4
cxl/core: Define a 'struct cxl_root_decoder'

Previously the target routing specifics of switch decoders were factored
out of 'struct cxl_decoder' into 'struct cxl_switch_decoder'.

This patch, 2 of 3, adds a 'struct cxl_root_decoder' as a superset of a
switch decoder that also track the associated CXL window platform
resource.

Note that the reason the resource for a given root decoder needs to be
looked up after the fact (i.e. after cxl_parse_cfmws() and
add_cxl_resource()) is because add_cxl_resource() may have merged CXL
windows in order to keep them at the top of the resource tree / decode
hierarchy.

Co-developed-by: Ben Widawsky <bwidawsk@kernel.org>
Signed-off-by: Ben Widawsky <bwidawsk@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/165784326541.1758207.9915663937394448341.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/acpi.c
drivers/cxl/core/port.c
drivers/cxl/cxl.h