cxl/core: Define a 'struct cxl_endpoint_decoder'
authorDan Williams <dan.j.williams@intel.com>
Sat, 21 May 2022 23:24:14 +0000 (16:24 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 21 Jul 2022 15:41:20 +0000 (08:41 -0700)
commit3bf65915cefa879e3693a824d8801a08e4778619
treece0808cf81df257bf3f19c18a6c421067c4d806d
parent0f157c7fa1a0e1a55b602d8b269344392e9033ad
cxl/core: Define a 'struct cxl_endpoint_decoder'

Previously the target routing specifics of switch decoders and platform
CXL window resource tracking of root decoders were factored out of
'struct cxl_decoder'. While switch decoders translate from SPA to
downstream ports, endpoint decoders translate from SPA to DPA.

This patch, 3 of 3, adds a 'struct cxl_endpoint_decoder' that tracks an
endpoint-specific Device Physical Address (DPA) resource. For now this
just defines ->dpa_res, a follow-on patch will handle requesting DPA
resource ranges from a device-DPA resource tree.

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/165784327088.1758207.15502834501671201192.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/hdm.c
drivers/cxl/core/port.c
drivers/cxl/cxl.h
tools/testing/cxl/test/cxl.c