1/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3#undef TRACE_SYSTEM
4#define TRACE_SYSTEM fsi_master_aspeed
5
6#if !defined(_TRACE_FSI_MASTER_ASPEED_H) || defined(TRACE_HEADER_MULTI_READ)
7#define _TRACE_FSI_MASTER_ASPEED_H
8
9#include <linux/tracepoint.h>
10
11TRACE_EVENT(fsi_master_aspeed_opb_read,
12	TP_PROTO(uint32_t addr, size_t size, uint32_t result, uint32_t status, uint32_t irq_status),
13	TP_ARGS(addr, size, result, status, irq_status),
14	TP_STRUCT__entry(
15		__field(uint32_t,  addr)
16		__field(size_t,    size)
17		__field(uint32_t,  result)
18		__field(uint32_t,  status)
19		__field(uint32_t,  irq_status)
20		),
21	TP_fast_assign(
22		__entry->addr = addr;
23		__entry->size = size;
24		__entry->result = result;
25		__entry->status = status;
26		__entry->irq_status = irq_status;
27		),
28	TP_printk("addr %08x size %zu: result %08x sts: %08x irq_sts: %08x",
29		__entry->addr, __entry->size, __entry->result,
30		__entry->status, __entry->irq_status
31	   )
32);
33
34TRACE_EVENT(fsi_master_aspeed_opb_write,
35	TP_PROTO(uint32_t addr, uint32_t val, size_t size, uint32_t status, uint32_t irq_status),
36	TP_ARGS(addr, val, size, status, irq_status),
37	TP_STRUCT__entry(
38		__field(uint32_t,    addr)
39		__field(uint32_t,    val)
40		__field(size_t,    size)
41		__field(uint32_t,  status)
42		__field(uint32_t,  irq_status)
43		),
44	TP_fast_assign(
45		__entry->addr = addr;
46		__entry->val = val;
47		__entry->size = size;
48		__entry->status = status;
49		__entry->irq_status = irq_status;
50		),
51	TP_printk("addr %08x val %08x size %zu status: %08x irq_sts: %08x",
52		__entry->addr, __entry->val, __entry->size,
53		__entry->status, __entry->irq_status
54		)
55	);
56
57TRACE_EVENT(fsi_master_aspeed_opb_error,
58	TP_PROTO(uint32_t mresp0, uint32_t mstap0, uint32_t mesrb0),
59	TP_ARGS(mresp0, mstap0, mesrb0),
60	TP_STRUCT__entry(
61		__field(uint32_t,  mresp0)
62		__field(uint32_t,  mstap0)
63		__field(uint32_t,  mesrb0)
64		),
65	TP_fast_assign(
66		__entry->mresp0 = mresp0;
67		__entry->mstap0 = mstap0;
68		__entry->mesrb0 = mesrb0;
69		),
70	TP_printk("mresp0 %08x mstap0 %08x mesrb0 %08x",
71		__entry->mresp0, __entry->mstap0, __entry->mesrb0
72		)
73	);
74
75TRACE_EVENT(fsi_master_aspeed_cfam_reset,
76	TP_PROTO(bool start),
77	TP_ARGS(start),
78	TP_STRUCT__entry(
79		__field(bool,	start)
80	),
81	TP_fast_assign(
82		__entry->start = start;
83	),
84	TP_printk("%s", __entry->start ? "start" : "end")
85);
86
87#endif
88
89#include <trace/define_trace.h>
90