Message ID | 20250306164448.3354845-14-rrichter@amd.com |
---|---|
State | New |
Headers | show |
Series | cxl: Address translation support, part 1: Cleanups and refactoring | expand |
Robert Richter wrote: > Improve debugging by adding and unifying messages whenever a decoder > was added to a port. It is especially useful to get the decoder > mapping of the involved CXL host bridge or PCI device. This avoids a > complex lookup of the decoder/port/device mappings in sysfs. I am not opposed to this debug statement, but I hope that most use cases for associating objects are handled by tooling and we don't need to keep extending kernel debug statements for these queries. E.g.: show all the decoders and targets of port1 # cxl list -PT -p 1 -Di [ { "port":"port1", "host":"pci0000:34", "depth":1, "decoders_committed":0, "nr_dports":1, "dports":[ { "dport":"0000:34:00.0", "id":0 } ], "decoders:port1":[ { "decoder":"decoder2.0", "interleave_ways":1, "state":"disabled" }, { "decoder":"decoder2.1", "interleave_ways":1, "state":"disabled" }, { "decoder":"decoder2.2", "interleave_ways":1, "state":"disabled" }, { "decoder":"decoder2.3", "interleave_ways":1, "state":"disabled" }, { "decoder":"decoder1.0", "interleave_ways":1, "state":"disabled", "nr_targets":1, "targets":[ { "target":"0000:34:00.0", "position":0, "id":0 } ] } ] } ]
diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index cb14829bb9be..3e75e612cbc4 100644 --- a/drivers/cxl/acpi.c +++ b/drivers/cxl/acpi.c @@ -421,7 +421,15 @@ static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws, rc = cxl_decoder_add(cxld, target_map); if (rc) return rc; - return cxl_root_decoder_autoremove(dev, no_free_ptr(cxlrd)); + + rc = cxl_root_decoder_autoremove(dev, no_free_ptr(cxlrd)); + if (rc) + return rc; + + dev_dbg(root_port->dev.parent, "%s added to %s\n", + dev_name(&cxld->dev), dev_name(&root_port->dev)); + + return 0; } static int cxl_parse_cfmws(union acpi_subtable_headers *header, void *arg, diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c index 70cae4ebf8a4..00c2de629a34 100644 --- a/drivers/cxl/core/hdm.c +++ b/drivers/cxl/core/hdm.c @@ -34,7 +34,8 @@ static int add_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld, if (rc) return rc; - dev_dbg(&cxld->dev, "Added to port %s\n", dev_name(&port->dev)); + dev_dbg(port->uport_dev, "%s added to %s\n", + dev_name(&cxld->dev), dev_name(&port->dev)); return 0; }