root/include/trace/events/intel_iommu.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Intel IOMMU trace support
   4  *
   5  * Copyright (C) 2019 Intel Corporation
   6  *
   7  * Author: Lu Baolu <baolu.lu@linux.intel.com>
   8  */
   9 #ifdef CONFIG_INTEL_IOMMU
  10 #undef TRACE_SYSTEM
  11 #define TRACE_SYSTEM intel_iommu
  12 
  13 #if !defined(_TRACE_INTEL_IOMMU_H) || defined(TRACE_HEADER_MULTI_READ)
  14 #define _TRACE_INTEL_IOMMU_H
  15 
  16 #include <linux/tracepoint.h>
  17 #include <linux/intel-iommu.h>
  18 
  19 DECLARE_EVENT_CLASS(dma_map,
  20         TP_PROTO(struct device *dev, dma_addr_t dev_addr, phys_addr_t phys_addr,
  21                  size_t size),
  22 
  23         TP_ARGS(dev, dev_addr, phys_addr, size),
  24 
  25         TP_STRUCT__entry(
  26                 __string(dev_name, dev_name(dev))
  27                 __field(dma_addr_t, dev_addr)
  28                 __field(phys_addr_t, phys_addr)
  29                 __field(size_t, size)
  30         ),
  31 
  32         TP_fast_assign(
  33                 __assign_str(dev_name, dev_name(dev));
  34                 __entry->dev_addr = dev_addr;
  35                 __entry->phys_addr = phys_addr;
  36                 __entry->size = size;
  37         ),
  38 
  39         TP_printk("dev=%s dev_addr=0x%llx phys_addr=0x%llx size=%zu",
  40                   __get_str(dev_name),
  41                   (unsigned long long)__entry->dev_addr,
  42                   (unsigned long long)__entry->phys_addr,
  43                   __entry->size)
  44 );
  45 
  46 DEFINE_EVENT(dma_map, map_single,
  47         TP_PROTO(struct device *dev, dma_addr_t dev_addr, phys_addr_t phys_addr,
  48                  size_t size),
  49         TP_ARGS(dev, dev_addr, phys_addr, size)
  50 );
  51 
  52 DEFINE_EVENT(dma_map, map_sg,
  53         TP_PROTO(struct device *dev, dma_addr_t dev_addr, phys_addr_t phys_addr,
  54                  size_t size),
  55         TP_ARGS(dev, dev_addr, phys_addr, size)
  56 );
  57 
  58 DEFINE_EVENT(dma_map, bounce_map_single,
  59         TP_PROTO(struct device *dev, dma_addr_t dev_addr, phys_addr_t phys_addr,
  60                  size_t size),
  61         TP_ARGS(dev, dev_addr, phys_addr, size)
  62 );
  63 
  64 DECLARE_EVENT_CLASS(dma_unmap,
  65         TP_PROTO(struct device *dev, dma_addr_t dev_addr, size_t size),
  66 
  67         TP_ARGS(dev, dev_addr, size),
  68 
  69         TP_STRUCT__entry(
  70                 __string(dev_name, dev_name(dev))
  71                 __field(dma_addr_t, dev_addr)
  72                 __field(size_t, size)
  73         ),
  74 
  75         TP_fast_assign(
  76                 __assign_str(dev_name, dev_name(dev));
  77                 __entry->dev_addr = dev_addr;
  78                 __entry->size = size;
  79         ),
  80 
  81         TP_printk("dev=%s dev_addr=0x%llx size=%zu",
  82                   __get_str(dev_name),
  83                   (unsigned long long)__entry->dev_addr,
  84                   __entry->size)
  85 );
  86 
  87 DEFINE_EVENT(dma_unmap, unmap_single,
  88         TP_PROTO(struct device *dev, dma_addr_t dev_addr, size_t size),
  89         TP_ARGS(dev, dev_addr, size)
  90 );
  91 
  92 DEFINE_EVENT(dma_unmap, unmap_sg,
  93         TP_PROTO(struct device *dev, dma_addr_t dev_addr, size_t size),
  94         TP_ARGS(dev, dev_addr, size)
  95 );
  96 
  97 DEFINE_EVENT(dma_unmap, bounce_unmap_single,
  98         TP_PROTO(struct device *dev, dma_addr_t dev_addr, size_t size),
  99         TP_ARGS(dev, dev_addr, size)
 100 );
 101 
 102 #endif /* _TRACE_INTEL_IOMMU_H */
 103 
 104 /* This part must be outside protection */
 105 #include <trace/define_trace.h>
 106 #endif /* CONFIG_INTEL_IOMMU */

/* [<][>][^][v][top][bottom][index][help] */