brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · a43e5dd Raw
109 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.4 */5#undef TRACE_SYSTEM6#define TRACE_SYSTEM rwmmio7 8#if !defined(_TRACE_RWMMIO_H) || defined(TRACE_HEADER_MULTI_READ)9#define _TRACE_RWMMIO_H10 11#include <linux/tracepoint.h>12 13DECLARE_EVENT_CLASS(rwmmio_rw_template,14 15	TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,16		 volatile void __iomem *addr),17 18	TP_ARGS(caller, caller0, val, width, addr),19 20	TP_STRUCT__entry(21		__field(unsigned long, caller)22		__field(unsigned long, caller0)23		__field(unsigned long, addr)24		__field(u64, val)25		__field(u8, width)26	),27 28	TP_fast_assign(29		__entry->caller = caller;30		__entry->caller0 = caller0;31		__entry->val = val;32		__entry->addr = (unsigned long)addr;33		__entry->width = width;34	),35 36	TP_printk("%pS -> %pS width=%d val=%#llx addr=%#lx",37		(void *)__entry->caller0, (void *)__entry->caller, __entry->width,38		__entry->val, __entry->addr)39);40 41DEFINE_EVENT(rwmmio_rw_template, rwmmio_write,42	TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,43		 volatile void __iomem *addr),44	TP_ARGS(caller, caller0, val, width, addr)45);46 47DEFINE_EVENT(rwmmio_rw_template, rwmmio_post_write,48	TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,49		 volatile void __iomem *addr),50	TP_ARGS(caller, caller0, val, width, addr)51);52 53TRACE_EVENT(rwmmio_read,54 55	TP_PROTO(unsigned long caller, unsigned long caller0, u8 width,56		 const volatile void __iomem *addr),57 58	TP_ARGS(caller, caller0, width, addr),59 60	TP_STRUCT__entry(61		__field(unsigned long, caller)62		__field(unsigned long, caller0)63		__field(unsigned long, addr)64		__field(u8, width)65	),66 67	TP_fast_assign(68		__entry->caller = caller;69		__entry->caller0 = caller0;70		__entry->addr = (unsigned long)addr;71		__entry->width = width;72	),73 74	TP_printk("%pS -> %pS width=%d addr=%#lx",75		 (void *)__entry->caller0, (void *)__entry->caller, __entry->width, __entry->addr)76);77 78TRACE_EVENT(rwmmio_post_read,79 80	TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,81		 const volatile void __iomem *addr),82 83	TP_ARGS(caller, caller0, val, width, addr),84 85	TP_STRUCT__entry(86		__field(unsigned long, caller)87		__field(unsigned long, caller0)88		__field(unsigned long, addr)89		__field(u64, val)90		__field(u8, width)91	),92 93	TP_fast_assign(94		__entry->caller = caller;95		__entry->caller0 = caller0;96		__entry->val = val;97		__entry->addr = (unsigned long)addr;98		__entry->width = width;99	),100 101	TP_printk("%pS -> %pS width=%d val=%#llx addr=%#lx",102		 (void *)__entry->caller0, (void *)__entry->caller, __entry->width,103		 __entry->val, __entry->addr)104);105 106#endif /* _TRACE_RWMMIO_H */107 108#include <trace/define_trace.h>109