13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
23d0407baSopenharmony_ci#undef TRACE_SYSTEM
33d0407baSopenharmony_ci#define TRACE_SYSTEM iommu
43d0407baSopenharmony_ci
53d0407baSopenharmony_ci#define TRACE_INCLUDE_PATH trace/hooks
63d0407baSopenharmony_ci
73d0407baSopenharmony_ci#if !defined(_TRACE_HOOK_IOMMU_H) || defined(TRACE_HEADER_MULTI_READ)
83d0407baSopenharmony_ci#define _TRACE_HOOK_IOMMU_H
93d0407baSopenharmony_ci
103d0407baSopenharmony_ci#include <linux/types.h>
113d0407baSopenharmony_ci
123d0407baSopenharmony_ci#include <linux/tracepoint.h>
133d0407baSopenharmony_ci#include <trace/hooks/vendor_hooks.h>
143d0407baSopenharmony_ci
153d0407baSopenharmony_ciDECLARE_HOOK(android_vh_iommu_setup_dma_ops,
163d0407baSopenharmony_ci	TP_PROTO(struct device *dev, u64 dma_base, u64 size),
173d0407baSopenharmony_ci	TP_ARGS(dev, dma_base, size));
183d0407baSopenharmony_ci
193d0407baSopenharmony_ciDECLARE_HOOK(android_vh_iommu_alloc_iova,
203d0407baSopenharmony_ci	TP_PROTO(struct device *dev, dma_addr_t iova, size_t size),
213d0407baSopenharmony_ci	TP_ARGS(dev, iova, size));
223d0407baSopenharmony_ci
233d0407baSopenharmony_cistruct iova_domain;
243d0407baSopenharmony_ci
253d0407baSopenharmony_ciDECLARE_HOOK(android_vh_iommu_iovad_alloc_iova,
263d0407baSopenharmony_ci	TP_PROTO(struct device *dev, struct iova_domain *iovad, dma_addr_t iova, size_t size),
273d0407baSopenharmony_ci	TP_ARGS(dev, iovad, iova, size));
283d0407baSopenharmony_ci
293d0407baSopenharmony_ciDECLARE_HOOK(android_vh_iommu_free_iova,
303d0407baSopenharmony_ci	TP_PROTO(dma_addr_t iova, size_t size),
313d0407baSopenharmony_ci	TP_ARGS(iova, size));
323d0407baSopenharmony_ci
333d0407baSopenharmony_ciDECLARE_HOOK(android_vh_iommu_iovad_free_iova,
343d0407baSopenharmony_ci	TP_PROTO(struct iova_domain *iovad, dma_addr_t iova, size_t size),
353d0407baSopenharmony_ci	TP_ARGS(iovad, iova, size));
363d0407baSopenharmony_ci
373d0407baSopenharmony_ci
383d0407baSopenharmony_ci#endif /* _TRACE_HOOK_IOMMU_H */
393d0407baSopenharmony_ci
403d0407baSopenharmony_ci/* This part must be outside protection */
413d0407baSopenharmony_ci#include <trace/define_trace.h>
42