Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.5-rc5 106 lines 2.6 kB view raw
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 19DECLARE_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 46DEFINE_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 52DEFINE_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 58DEFINE_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 64DECLARE_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 87DEFINE_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 92DEFINE_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 97DEFINE_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 */