arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / events / rwmmio.h
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_SYSTEM
6 #define TRACE_SYSTEM rwmmio
7
8 #if !defined(_TRACE_RWMMIO_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define _TRACE_RWMMIO_H
10
11 #include <linux/tracepoint.h>
12
13 DECLARE_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
41 DEFINE_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
47 DEFINE_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
53 TRACE_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
78 TRACE_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>