1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM iommu 4 5 #define TRACE_INCLUDE_PATH trace/hooks 6 7 #if !defined(_TRACE_HOOK_IOMMU_H) || defined(TRACE_HEADER_MULTI_READ) 8 #define _TRACE_HOOK_IOMMU_H 9 #include <trace/hooks/vendor_hooks.h> 10 11 #include <linux/types.h> 12 13 #ifdef __GENKSYMS__ 14 #include <linux/iova.h> 15 #endif 16 17 struct iova_domain; 18 19 DECLARE_RESTRICTED_HOOK(android_rvh_iommu_setup_dma_ops, 20 TP_PROTO(struct device *dev, u64 dma_base, u64 dma_limit), 21 TP_ARGS(dev, dma_base, dma_limit), 1); 22 23 24 DECLARE_HOOK(android_vh_iommu_iovad_alloc_iova, 25 TP_PROTO(struct device *dev, struct iova_domain *iovad, dma_addr_t iova, size_t size), 26 TP_ARGS(dev, iovad, iova, size)); 27 28 DECLARE_HOOK(android_vh_iommu_iovad_free_iova, 29 TP_PROTO(struct iova_domain *iovad, dma_addr_t iova, size_t size), 30 TP_ARGS(iovad, iova, size)); 31 32 DECLARE_HOOK(android_vh_adjust_alloc_flags, 33 TP_PROTO(unsigned int order, gfp_t *alloc_flags), 34 TP_ARGS(order, alloc_flags)); 35 36 #endif /* _TRACE_HOOK_IOMMU_H */ 37 38 /* This part must be outside protection */ 39 #include <trace/define_trace.h> 40