^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define TRACE_SYSTEM swiotlb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #if !defined(_TRACE_SWIOTLB_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define _TRACE_SWIOTLB_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) TRACE_EVENT(swiotlb_bounced,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) TP_PROTO(struct device *dev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) dma_addr_t dev_addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) size_t size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) enum swiotlb_force swiotlb_force),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) TP_ARGS(dev, dev_addr, size, swiotlb_force),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) __string( dev_name, dev_name(dev) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) __field( u64, dma_mask )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) __field( dma_addr_t, dev_addr )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) __field( size_t, size )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) __field( enum swiotlb_force, swiotlb_force )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) __assign_str(dev_name, dev_name(dev));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) __entry->dma_mask = (dev->dma_mask ? *dev->dma_mask : 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __entry->dev_addr = dev_addr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) __entry->size = size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __entry->swiotlb_force = swiotlb_force;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) TP_printk("dev_name: %s dma_mask=%llx dev_addr=%llx "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) "size=%zu %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) __get_str(dev_name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) __entry->dma_mask,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) (unsigned long long)__entry->dev_addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) __print_symbolic(__entry->swiotlb_force,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) { SWIOTLB_NORMAL, "NORMAL" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) { SWIOTLB_FORCE, "FORCE" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) { SWIOTLB_NO_FORCE, "NO_FORCE" }))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #endif /* _TRACE_SWIOTLB_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #include <trace/define_trace.h>