cxl/component_regs: Fix offset
authorBen Widawsky <ben.widawsky@intel.com>
Fri, 11 Jun 2021 05:11:13 +0000 (22:11 -0700)
committerDan Williams <dan.j.williams@intel.com>
Sat, 12 Jun 2021 17:30:41 +0000 (10:30 -0700)
The CXL.cache and CXL.mem registers begin after the CXL.io registers
which occupy the first 0x1000 bytes. The current code wasn't setting
this up properly for future users of the component registers. It was
correct for the probing code however.

Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Fixes: 08422378c4ad ("cxl/pci: Add HDM decoder capabilities")
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20210611051113.224328-1-ben.widawsky@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core.c

index b134b29..c613dc7 100644 (file)
@@ -599,7 +599,7 @@ void cxl_probe_component_regs(struct device *dev, void __iomem *base,
                        length = 0x20 * decoder_cnt + 0x10;
 
                        map->hdm_decoder.valid = true;
-                       map->hdm_decoder.offset = offset;
+                       map->hdm_decoder.offset = CXL_CM_OFFSET + offset;
                        map->hdm_decoder.size = length;
                        break;
                default: