summaryrefslogtreecommitdiff
path: root/include/trace/events/iommu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/trace/events/iommu.h')
-rw-r--r--include/trace/events/iommu.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/include/trace/events/iommu.h b/include/trace/events/iommu.h
index 2c7befb10f13..7b8ba9ffa5a3 100644
--- a/include/trace/events/iommu.h
+++ b/include/trace/events/iommu.h
@@ -83,6 +83,29 @@ DEFINE_EVENT(iommu_device_event, detach_device_from_domain,
TP_ARGS(dev)
);
+DECLARE_EVENT_CLASS(iommu_map_unmap,
+
+ TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
+
+ TP_ARGS(iova, paddr, size),
+
+ TP_STRUCT__entry(
+ __field(u64, iova)
+ __field(u64, paddr)
+ __field(size_t, size)
+ ),
+
+ TP_fast_assign(
+ __entry->iova = iova;
+ __entry->paddr = paddr;
+ __entry->size = size;
+ ),
+
+ TP_printk("IOMMU: iova=0x%016llx paddr=0x%016llx size=0x%zx",
+ __entry->iova, __entry->paddr, __entry->size
+ )
+);
+
TRACE_EVENT(map,
TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
@@ -129,6 +152,77 @@ TRACE_EVENT(unmap,
)
);
+DEFINE_EVENT(iommu_map_unmap, map_start,
+
+ TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
+
+ TP_ARGS(iova, paddr, size)
+);
+
+DEFINE_EVENT(iommu_map_unmap, map_end,
+
+ TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
+
+ TP_ARGS(iova, paddr, size)
+);
+
+DEFINE_EVENT_PRINT(iommu_map_unmap, unmap_start,
+
+ TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
+
+ TP_ARGS(iova, paddr, size),
+
+ TP_printk("IOMMU: iova=0x%016llx size=0x%x",
+ __entry->iova, __entry->size
+ )
+);
+
+DEFINE_EVENT_PRINT(iommu_map_unmap, unmap_end,
+
+ TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size),
+
+ TP_ARGS(iova, paddr, size),
+
+ TP_printk("IOMMU: iova=0x%016llx size=0x%x",
+ __entry->iova, __entry->size
+ )
+);
+
+DECLARE_EVENT_CLASS(iommu_map_sg,
+
+ TP_PROTO(unsigned long iova, unsigned int nents),
+
+ TP_ARGS(iova, nents),
+
+ TP_STRUCT__entry(
+ __field(u64, iova)
+ __field(int, nents)
+ ),
+
+ TP_fast_assign(
+ __entry->iova = iova;
+ __entry->nents = nents;
+ ),
+
+ TP_printk("IOMMU: iova=0x%016llx nents=%u",
+ __entry->iova, __entry->nents
+ )
+);
+
+DEFINE_EVENT(iommu_map_sg, map_sg_start,
+
+ TP_PROTO(unsigned long iova, unsigned int nents),
+
+ TP_ARGS(iova, nents)
+);
+
+DEFINE_EVENT(iommu_map_sg, map_sg_end,
+
+ TP_PROTO(unsigned long iova, unsigned int nents),
+
+ TP_ARGS(iova, nents)
+);
+
DECLARE_EVENT_CLASS(iommu_error,
TP_PROTO(struct device *dev, unsigned long iova, int flags),