#include <linux/idr.h>
 #include <linux/pci.h>
 #include <cxlmem.h>
+#include "trace.h"
 #include "core.h"
 
 static DECLARE_RWSEM(cxl_memdev_rwsem);
 {
        struct cxl_dev_state *cxlds = cxlmd->cxlds;
        struct cxl_mbox_inject_poison inject;
+       struct cxl_poison_record record;
        struct cxl_mbox_cmd mbox_cmd;
        struct cxl_region *cxlr;
        int rc;
                dev_warn_once(cxlds->dev,
                              "poison inject dpa:%#llx region: %s\n", dpa,
                              dev_name(&cxlr->dev));
+
+       record = (struct cxl_poison_record) {
+               .address = cpu_to_le64(dpa),
+               .length = cpu_to_le32(1),
+       };
+       trace_cxl_poison(cxlmd, cxlr, &record, 0, 0, CXL_POISON_TRACE_INJECT);
 out:
        up_read(&cxl_dpa_rwsem);
 
 {
        struct cxl_dev_state *cxlds = cxlmd->cxlds;
        struct cxl_mbox_clear_poison clear;
+       struct cxl_poison_record record;
        struct cxl_mbox_cmd mbox_cmd;
        struct cxl_region *cxlr;
        int rc;
        if (cxlr)
                dev_warn_once(cxlds->dev, "poison clear dpa:%#llx region: %s\n",
                              dpa, dev_name(&cxlr->dev));
+
+       record = (struct cxl_poison_record) {
+               .address = cpu_to_le64(dpa),
+               .length = cpu_to_le32(1),
+       };
+       trace_cxl_poison(cxlmd, cxlr, &record, 0, 0, CXL_POISON_TRACE_CLEAR);
 out:
        up_read(&cxl_dpa_rwsem);
 
 
        )
 );
 
-#define show_poison_trace_type(type)              \
-       __print_symbolic(type,                     \
-       { CXL_POISON_TRACE_LIST,        "List"  })
+#define show_poison_trace_type(type)                   \
+       __print_symbolic(type,                          \
+       { CXL_POISON_TRACE_LIST,        "List"   },     \
+       { CXL_POISON_TRACE_INJECT,      "Inject" },     \
+       { CXL_POISON_TRACE_CLEAR,       "Clear"  })
 
 #define __show_poison_source(source)                          \
        __print_symbolic(source,                              \