On 3/28/23 6:13 PM, Alison Schofield wrote:
On Mon, Mar 27, 2023 at 02:46:11PM -0700, Dave Jiang wrote:
Add debugfs output to /sys/kernel/debug/cxl/memX/qtgmap
The debugfs attribute will dump out all the DSMAS ranges and the associated
QTG ID exported by the CXL device CDAT.
Do you want to document these?
The poison inject & clear inflight patchset documents in:
Documentation/ABI/testing/debugfs-cxl
Sure. I'll take a look at your series to see what it should look like.
Alison
Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
---
drivers/cxl/mem.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c
index 39c4b54f0715..bf2cb5a54a7f 100644
--- a/drivers/cxl/mem.c
+++ b/drivers/cxl/mem.c
@@ -45,6 +45,21 @@ static int cxl_mem_dpa_show(struct seq_file *file, void *data)
return 0;
}
+static int cxl_mem_qtg_show(struct seq_file *file, void *data)
+{
+ struct device *dev = file->private;
+ struct cxl_memdev *cxlmd = to_cxl_memdev(dev);
+ struct qos_prop_entry *qos;
+
+ list_for_each_entry(qos, &cxlmd->qos_list, list) {
+ seq_printf(file, "%08llx-%08llx : QTG ID %u\n",
+ qos->dpa_range.start, qos->dpa_range.end,
+ qos->qtg_id);
+ }
+
+ return 0;
+}
+
static int devm_cxl_add_endpoint(struct device *host, struct cxl_memdev *cxlmd,
struct cxl_dport *parent_dport)
{
@@ -117,6 +132,7 @@ static int cxl_mem_probe(struct device *dev)
dentry = cxl_debugfs_create_dir(dev_name(dev));
debugfs_create_devm_seqfile(dev, "dpamem", dentry, cxl_mem_dpa_show);
+ debugfs_create_devm_seqfile(dev, "qtgmap", dentry, cxl_mem_qtg_show);
rc = devm_add_action_or_reset(dev, remove_debugfs, dentry);
if (rc)
return rc;