summaryrefslogtreecommitdiffstats
path: root/scripts/stackdelta
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2022-06-06 15:18:31 -0700
committerDan Williams <dan.j.williams@intel.com>2022-07-25 12:18:07 -0700
commit27b3f8d13830cdbd8deae2b709af182d88237ba5 (patch)
treec00a25cbb7df72c757373c6f6acc134fdde3988c /scripts/stackdelta
parent384e624bb211b406db40edc900bb51af8bb267d0 (diff)
downloadlinux-27b3f8d13830cdbd8deae2b709af182d88237ba5.tar.bz2
cxl/region: Program target lists
Once the region's interleave geometry (ways, granularity, size) is established and all the endpoint decoder targets are assigned, the next phase is to program all the intermediate decoders. Specifically, each CXL switch in the path between the endpoint and its CXL host-bridge (including the logical switch internal to the host-bridge) needs to have its decoders programmed and the target list order assigned. The difficulty in this implementation lies in determining which endpoint decoder ordering combinations are valid. Consider the cxl_test case of 2 host bridges, each of those host-bridges attached to 2 switches, and each of those switches attached to 2 endpoints for a potential 8-way interleave. The x2 interleave at the host-bridge level requires that all even numbered endpoint decoder positions be located on the "left" hand side of the topology tree, and the odd numbered positions on the other. The endpoints that are peers on the same switch need to have a position that can be routed with a dedicated address bit per-endpoint. See check_last_peer() for the details. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/165784337827.1758207.132121746122685208.stgit@dwillia2-xfh.jf.intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'scripts/stackdelta')
0 files changed, 0 insertions, 0 deletions