]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
66433b05 JK |
2 | |
3 | #undef TRACE_SYSTEM | |
4 | #define TRACE_SYSTEM fsi | |
5 | ||
6 | #if !defined(_TRACE_FSI_H) || defined(TRACE_HEADER_MULTI_READ) | |
7 | #define _TRACE_FSI_H | |
8 | ||
9 | #include <linux/tracepoint.h> | |
10 | ||
11 | TRACE_EVENT(fsi_master_read, | |
12 | TP_PROTO(const struct fsi_master *master, int link, int id, | |
13 | uint32_t addr, size_t size), | |
14 | TP_ARGS(master, link, id, addr, size), | |
15 | TP_STRUCT__entry( | |
16 | __field(int, master_idx) | |
17 | __field(int, link) | |
18 | __field(int, id) | |
19 | __field(__u32, addr) | |
20 | __field(size_t, size) | |
21 | ), | |
22 | TP_fast_assign( | |
23 | __entry->master_idx = master->idx; | |
24 | __entry->link = link; | |
25 | __entry->id = id; | |
26 | __entry->addr = addr; | |
27 | __entry->size = size; | |
28 | ), | |
ae774816 | 29 | TP_printk("fsi%d:%02d:%02d %08x[%zu]", |
66433b05 JK |
30 | __entry->master_idx, |
31 | __entry->link, | |
32 | __entry->id, | |
33 | __entry->addr, | |
34 | __entry->size | |
35 | ) | |
36 | ); | |
37 | ||
38 | TRACE_EVENT(fsi_master_write, | |
39 | TP_PROTO(const struct fsi_master *master, int link, int id, | |
40 | uint32_t addr, size_t size, const void *data), | |
41 | TP_ARGS(master, link, id, addr, size, data), | |
42 | TP_STRUCT__entry( | |
43 | __field(int, master_idx) | |
44 | __field(int, link) | |
45 | __field(int, id) | |
46 | __field(__u32, addr) | |
47 | __field(size_t, size) | |
48 | __field(__u32, data) | |
49 | ), | |
50 | TP_fast_assign( | |
51 | __entry->master_idx = master->idx; | |
52 | __entry->link = link; | |
53 | __entry->id = id; | |
54 | __entry->addr = addr; | |
55 | __entry->size = size; | |
56 | __entry->data = 0; | |
57 | memcpy(&__entry->data, data, size); | |
58 | ), | |
ae774816 | 59 | TP_printk("fsi%d:%02d:%02d %08x[%zu] <= {%*ph}", |
66433b05 JK |
60 | __entry->master_idx, |
61 | __entry->link, | |
62 | __entry->id, | |
63 | __entry->addr, | |
64 | __entry->size, | |
65 | (int)__entry->size, &__entry->data | |
66 | ) | |
67 | ); | |
68 | ||
69 | TRACE_EVENT(fsi_master_rw_result, | |
70 | TP_PROTO(const struct fsi_master *master, int link, int id, | |
71 | uint32_t addr, size_t size, | |
72 | bool write, const void *data, int ret), | |
73 | TP_ARGS(master, link, id, addr, size, write, data, ret), | |
74 | TP_STRUCT__entry( | |
75 | __field(int, master_idx) | |
76 | __field(int, link) | |
77 | __field(int, id) | |
78 | __field(__u32, addr) | |
79 | __field(size_t, size) | |
80 | __field(bool, write) | |
81 | __field(__u32, data) | |
82 | __field(int, ret) | |
83 | ), | |
84 | TP_fast_assign( | |
85 | __entry->master_idx = master->idx; | |
86 | __entry->link = link; | |
87 | __entry->id = id; | |
88 | __entry->addr = addr; | |
89 | __entry->size = size; | |
90 | __entry->write = write; | |
91 | __entry->data = 0; | |
92 | __entry->ret = ret; | |
93 | if (__entry->write || !__entry->ret) | |
94 | memcpy(&__entry->data, data, size); | |
95 | ), | |
ae774816 | 96 | TP_printk("fsi%d:%02d:%02d %08x[%zu] %s {%*ph} ret %d", |
66433b05 JK |
97 | __entry->master_idx, |
98 | __entry->link, | |
99 | __entry->id, | |
100 | __entry->addr, | |
101 | __entry->size, | |
102 | __entry->write ? "<=" : "=>", | |
103 | (int)__entry->size, &__entry->data, | |
104 | __entry->ret | |
105 | ) | |
106 | ); | |
107 | ||
108 | TRACE_EVENT(fsi_master_break, | |
109 | TP_PROTO(const struct fsi_master *master, int link), | |
110 | TP_ARGS(master, link), | |
111 | TP_STRUCT__entry( | |
112 | __field(int, master_idx) | |
113 | __field(int, link) | |
114 | ), | |
115 | TP_fast_assign( | |
116 | __entry->master_idx = master->idx; | |
117 | __entry->link = link; | |
118 | ), | |
119 | TP_printk("fsi%d:%d", | |
120 | __entry->master_idx, | |
121 | __entry->link | |
122 | ) | |
123 | ); | |
124 | ||
125 | ||
126 | #endif /* _TRACE_FSI_H */ | |
127 | ||
128 | #include <trace/define_trace.h> |