xref: /openbmc/linux/drivers/usb/musb/musb_trace.h (revision 84149fc7)
16814c73fSNishad Kamdar /* SPDX-License-Identifier: GPL-2.0 */
2f89252adSBin Liu /*
3f89252adSBin Liu  * musb_trace.h - MUSB Controller Trace Support
4f89252adSBin Liu  *
5f89252adSBin Liu  * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com
6f89252adSBin Liu  *
7f89252adSBin Liu  * Author: Bin Liu <b-liu@ti.com>
8f89252adSBin Liu  */
9f89252adSBin Liu 
10f89252adSBin Liu #undef TRACE_SYSTEM
11f89252adSBin Liu #define TRACE_SYSTEM musb
12f89252adSBin Liu 
13f89252adSBin Liu #if !defined(__MUSB_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
14f89252adSBin Liu #define __MUSB_TRACE_H
15f89252adSBin Liu 
16f89252adSBin Liu #include <linux/types.h>
17f89252adSBin Liu #include <linux/tracepoint.h>
1819ca682eSBin Liu #include <linux/usb.h>
19f89252adSBin Liu #include "musb_core.h"
208ccb49ddSBin Liu #ifdef CONFIG_USB_TI_CPPI41_DMA
218ccb49ddSBin Liu #include "cppi_dma.h"
228ccb49ddSBin Liu #endif
23f89252adSBin Liu 
24f89252adSBin Liu #define MUSB_MSG_MAX   500
25f89252adSBin Liu 
26f89252adSBin Liu TRACE_EVENT(musb_log,
27f89252adSBin Liu 	TP_PROTO(struct musb *musb, struct va_format *vaf),
28f89252adSBin Liu 	TP_ARGS(musb, vaf),
29f89252adSBin Liu 	TP_STRUCT__entry(
30f89252adSBin Liu 		__string(name, dev_name(musb->controller))
31*84149fc7SSteven Rostedt (Google) 		__vstring(msg, vaf->fmt, vaf->va)
32f89252adSBin Liu 	),
33f89252adSBin Liu 	TP_fast_assign(
34f89252adSBin Liu 		__assign_str(name, dev_name(musb->controller));
35*84149fc7SSteven Rostedt (Google) 		__assign_vstr(msg, vaf->fmt, vaf->va);
36f89252adSBin Liu 	),
37f89252adSBin Liu 	TP_printk("%s: %s", __get_str(name), __get_str(msg))
38f89252adSBin Liu );
39f89252adSBin Liu 
40318324e6STony Lindgren TRACE_EVENT(musb_state,
41318324e6STony Lindgren 	TP_PROTO(struct musb *musb, u8 devctl, const char *desc),
42318324e6STony Lindgren 	TP_ARGS(musb, devctl, desc),
43318324e6STony Lindgren 	TP_STRUCT__entry(
44318324e6STony Lindgren 		__string(name, dev_name(musb->controller))
45318324e6STony Lindgren 		__field(u8, devctl)
46318324e6STony Lindgren 		__string(desc, desc)
47318324e6STony Lindgren 	),
48318324e6STony Lindgren 	TP_fast_assign(
49318324e6STony Lindgren 		__assign_str(name, dev_name(musb->controller));
50318324e6STony Lindgren 		__entry->devctl = devctl;
51318324e6STony Lindgren 		__assign_str(desc, desc);
52318324e6STony Lindgren 	),
53318324e6STony Lindgren 	TP_printk("%s: devctl: %02x %s", __get_str(name), __entry->devctl,
54318324e6STony Lindgren 		  __get_str(desc))
55318324e6STony Lindgren );
56318324e6STony Lindgren 
57c74173fdSBin Liu DECLARE_EVENT_CLASS(musb_regb,
583709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void  __iomem *addr,
593709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u8 data),
60c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data),
61c74173fdSBin Liu 	TP_STRUCT__entry(
62c74173fdSBin Liu 		__field(void *, caller)
633709ff5dSBen Dooks (Codethink) 		__field(const void __iomem *, addr)
64c74173fdSBin Liu 		__field(unsigned int, offset)
65c74173fdSBin Liu 		__field(u8, data)
66c74173fdSBin Liu 	),
67c74173fdSBin Liu 	TP_fast_assign(
68c74173fdSBin Liu 		__entry->caller = caller;
69c74173fdSBin Liu 		__entry->addr = addr;
70c74173fdSBin Liu 		__entry->offset = offset;
71c74173fdSBin Liu 		__entry->data = data;
72c74173fdSBin Liu 	),
73c74173fdSBin Liu 	TP_printk("%pS: %p + %04x: %02x",
74c74173fdSBin Liu 		__entry->caller, __entry->addr, __entry->offset, __entry->data)
75c74173fdSBin Liu );
76c74173fdSBin Liu 
77c74173fdSBin Liu DEFINE_EVENT(musb_regb, musb_readb,
783709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
793709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u8 data),
80c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
81c74173fdSBin Liu );
82c74173fdSBin Liu 
83c74173fdSBin Liu DEFINE_EVENT(musb_regb, musb_writeb,
843709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
853709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u8 data),
86c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
87c74173fdSBin Liu );
88c74173fdSBin Liu 
89c74173fdSBin Liu DECLARE_EVENT_CLASS(musb_regw,
903709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
913709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u16 data),
92c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data),
93c74173fdSBin Liu 	TP_STRUCT__entry(
94c74173fdSBin Liu 		__field(void *, caller)
953709ff5dSBen Dooks (Codethink) 		__field(const void __iomem *, addr)
96c74173fdSBin Liu 		__field(unsigned int, offset)
97c74173fdSBin Liu 		__field(u16, data)
98c74173fdSBin Liu 	),
99c74173fdSBin Liu 	TP_fast_assign(
100c74173fdSBin Liu 		__entry->caller = caller;
101c74173fdSBin Liu 		__entry->addr = addr;
102c74173fdSBin Liu 		__entry->offset = offset;
103c74173fdSBin Liu 		__entry->data = data;
104c74173fdSBin Liu 	),
105c74173fdSBin Liu 	TP_printk("%pS: %p + %04x: %04x",
106c74173fdSBin Liu 		__entry->caller, __entry->addr, __entry->offset, __entry->data)
107c74173fdSBin Liu );
108c74173fdSBin Liu 
109c74173fdSBin Liu DEFINE_EVENT(musb_regw, musb_readw,
1103709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
1113709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u16 data),
112c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
113c74173fdSBin Liu );
114c74173fdSBin Liu 
115c74173fdSBin Liu DEFINE_EVENT(musb_regw, musb_writew,
1163709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
1173709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u16 data),
118c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
119c74173fdSBin Liu );
120c74173fdSBin Liu 
121c74173fdSBin Liu DECLARE_EVENT_CLASS(musb_regl,
1223709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
1233709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u32 data),
124c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data),
125c74173fdSBin Liu 	TP_STRUCT__entry(
126c74173fdSBin Liu 		__field(void *, caller)
1273709ff5dSBen Dooks (Codethink) 		__field(const void __iomem *, addr)
128c74173fdSBin Liu 		__field(unsigned int, offset)
129c74173fdSBin Liu 		__field(u32, data)
130c74173fdSBin Liu 	),
131c74173fdSBin Liu 	TP_fast_assign(
132c74173fdSBin Liu 		__entry->caller = caller;
133c74173fdSBin Liu 		__entry->addr = addr;
134c74173fdSBin Liu 		__entry->offset = offset;
135c74173fdSBin Liu 		__entry->data = data;
136c74173fdSBin Liu 	),
137c74173fdSBin Liu 	TP_printk("%pS: %p + %04x: %08x",
138c74173fdSBin Liu 		__entry->caller, __entry->addr, __entry->offset, __entry->data)
139c74173fdSBin Liu );
140c74173fdSBin Liu 
141c74173fdSBin Liu DEFINE_EVENT(musb_regl, musb_readl,
1423709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
1433709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u32 data),
144c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
145c74173fdSBin Liu );
146c74173fdSBin Liu 
147c74173fdSBin Liu DEFINE_EVENT(musb_regl, musb_writel,
1483709ff5dSBen Dooks (Codethink) 	TP_PROTO(void *caller, const void __iomem *addr,
1493709ff5dSBen Dooks (Codethink) 		 unsigned int offset, u32 data),
150c74173fdSBin Liu 	TP_ARGS(caller, addr, offset, data)
151c74173fdSBin Liu );
152c74173fdSBin Liu 
153cfb9a1bcSBin Liu TRACE_EVENT(musb_isr,
154cfb9a1bcSBin Liu 	TP_PROTO(struct musb *musb),
155cfb9a1bcSBin Liu 	TP_ARGS(musb),
156cfb9a1bcSBin Liu 	TP_STRUCT__entry(
157cfb9a1bcSBin Liu 		__string(name, dev_name(musb->controller))
158cfb9a1bcSBin Liu 		__field(u8, int_usb)
159cfb9a1bcSBin Liu 		__field(u16, int_tx)
160cfb9a1bcSBin Liu 		__field(u16, int_rx)
161cfb9a1bcSBin Liu 	),
162cfb9a1bcSBin Liu 	TP_fast_assign(
163cfb9a1bcSBin Liu 		__assign_str(name, dev_name(musb->controller));
164cfb9a1bcSBin Liu 		__entry->int_usb = musb->int_usb;
165cfb9a1bcSBin Liu 		__entry->int_tx = musb->int_tx;
166cfb9a1bcSBin Liu 		__entry->int_rx = musb->int_rx;
167cfb9a1bcSBin Liu 	),
168cfb9a1bcSBin Liu 	TP_printk("%s: usb %02x, tx %04x, rx %04x",
169cfb9a1bcSBin Liu 		__get_str(name), __entry->int_usb,
170cfb9a1bcSBin Liu 		__entry->int_tx, __entry->int_rx
171cfb9a1bcSBin Liu 	)
172cfb9a1bcSBin Liu );
173cfb9a1bcSBin Liu 
17419ca682eSBin Liu DECLARE_EVENT_CLASS(musb_urb,
17519ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
17619ca682eSBin Liu 	TP_ARGS(musb, urb),
17719ca682eSBin Liu 	TP_STRUCT__entry(
17819ca682eSBin Liu 		__string(name, dev_name(musb->controller))
17919ca682eSBin Liu 		__field(struct urb *, urb)
18019ca682eSBin Liu 		__field(unsigned int, pipe)
18119ca682eSBin Liu 		__field(int, status)
18219ca682eSBin Liu 		__field(unsigned int, flag)
18319ca682eSBin Liu 		__field(u32, buf_len)
18419ca682eSBin Liu 		__field(u32, actual_len)
18519ca682eSBin Liu 	),
18619ca682eSBin Liu 	TP_fast_assign(
18719ca682eSBin Liu 		__assign_str(name, dev_name(musb->controller));
18819ca682eSBin Liu 		__entry->urb = urb;
18919ca682eSBin Liu 		__entry->pipe = urb->pipe;
19019ca682eSBin Liu 		__entry->status = urb->status;
19119ca682eSBin Liu 		__entry->flag = urb->transfer_flags;
19219ca682eSBin Liu 		__entry->buf_len = urb->transfer_buffer_length;
19319ca682eSBin Liu 		__entry->actual_len = urb->actual_length;
19419ca682eSBin Liu 	),
19519ca682eSBin Liu 	TP_printk("%s: %p, dev%d ep%d%s, flag 0x%x, len %d/%d, status %d",
19619ca682eSBin Liu 			__get_str(name), __entry->urb,
19719ca682eSBin Liu 			usb_pipedevice(__entry->pipe),
19819ca682eSBin Liu 			usb_pipeendpoint(__entry->pipe),
19919ca682eSBin Liu 			usb_pipein(__entry->pipe) ? "in" : "out",
20019ca682eSBin Liu 			__entry->flag,
20119ca682eSBin Liu 			__entry->actual_len, __entry->buf_len,
20219ca682eSBin Liu 			__entry->status
20319ca682eSBin Liu 	)
20419ca682eSBin Liu );
20519ca682eSBin Liu 
20619ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_start,
20719ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
20819ca682eSBin Liu 	TP_ARGS(musb, urb)
20919ca682eSBin Liu );
21019ca682eSBin Liu 
21119ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_gb,
21219ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
21319ca682eSBin Liu 	TP_ARGS(musb, urb)
21419ca682eSBin Liu );
21519ca682eSBin Liu 
21619ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_rx,
21719ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
21819ca682eSBin Liu 	TP_ARGS(musb, urb)
21919ca682eSBin Liu );
22019ca682eSBin Liu 
22119ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_tx,
22219ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
22319ca682eSBin Liu 	TP_ARGS(musb, urb)
22419ca682eSBin Liu );
22519ca682eSBin Liu 
22619ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_enq,
22719ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
22819ca682eSBin Liu 	TP_ARGS(musb, urb)
22919ca682eSBin Liu );
23019ca682eSBin Liu 
23119ca682eSBin Liu DEFINE_EVENT(musb_urb, musb_urb_deq,
23219ca682eSBin Liu 	TP_PROTO(struct musb *musb, struct urb *urb),
23319ca682eSBin Liu 	TP_ARGS(musb, urb)
23419ca682eSBin Liu );
23519ca682eSBin Liu 
236fc78003eSBin Liu DECLARE_EVENT_CLASS(musb_req,
237fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
238fc78003eSBin Liu 	TP_ARGS(req),
239fc78003eSBin Liu 	TP_STRUCT__entry(
240fc78003eSBin Liu 		__field(struct usb_request *, req)
241fc78003eSBin Liu 		__field(u8, is_tx)
242fc78003eSBin Liu 		__field(u8, epnum)
243fc78003eSBin Liu 		__field(int, status)
244fc78003eSBin Liu 		__field(unsigned int, buf_len)
245fc78003eSBin Liu 		__field(unsigned int, actual_len)
246fc78003eSBin Liu 		__field(unsigned int, zero)
247fc78003eSBin Liu 		__field(unsigned int, short_not_ok)
248fc78003eSBin Liu 		__field(unsigned int, no_interrupt)
249fc78003eSBin Liu 	),
250fc78003eSBin Liu 	TP_fast_assign(
251fc78003eSBin Liu 		__entry->req = &req->request;
252fc78003eSBin Liu 		__entry->is_tx = req->tx;
253fc78003eSBin Liu 		__entry->epnum = req->epnum;
254fc78003eSBin Liu 		__entry->status = req->request.status;
255fc78003eSBin Liu 		__entry->buf_len = req->request.length;
256fc78003eSBin Liu 		__entry->actual_len = req->request.actual;
257fc78003eSBin Liu 		__entry->zero = req->request.zero;
258fc78003eSBin Liu 		__entry->short_not_ok = req->request.short_not_ok;
259fc78003eSBin Liu 		__entry->no_interrupt = req->request.no_interrupt;
260fc78003eSBin Liu 	),
261fc78003eSBin Liu 	TP_printk("%p, ep%d %s, %s%s%s, len %d/%d, status %d",
262fc78003eSBin Liu 			__entry->req, __entry->epnum,
263fc78003eSBin Liu 			__entry->is_tx ? "tx/IN" : "rx/OUT",
264fc78003eSBin Liu 			__entry->zero ? "Z" : "z",
265fc78003eSBin Liu 			__entry->short_not_ok ? "S" : "s",
266fc78003eSBin Liu 			__entry->no_interrupt ? "I" : "i",
267fc78003eSBin Liu 			__entry->actual_len, __entry->buf_len,
268fc78003eSBin Liu 			__entry->status
269fc78003eSBin Liu 	)
270fc78003eSBin Liu );
271fc78003eSBin Liu 
272fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_gb,
273fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
274fc78003eSBin Liu 	TP_ARGS(req)
275fc78003eSBin Liu );
276fc78003eSBin Liu 
277fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_tx,
278fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
279fc78003eSBin Liu 	TP_ARGS(req)
280fc78003eSBin Liu );
281fc78003eSBin Liu 
282fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_rx,
283fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
284fc78003eSBin Liu 	TP_ARGS(req)
285fc78003eSBin Liu );
286fc78003eSBin Liu 
287fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_alloc,
288fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
289fc78003eSBin Liu 	TP_ARGS(req)
290fc78003eSBin Liu );
291fc78003eSBin Liu 
292fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_free,
293fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
294fc78003eSBin Liu 	TP_ARGS(req)
295fc78003eSBin Liu );
296fc78003eSBin Liu 
297fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_start,
298fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
299fc78003eSBin Liu 	TP_ARGS(req)
300fc78003eSBin Liu );
301fc78003eSBin Liu 
302fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_enq,
303fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
304fc78003eSBin Liu 	TP_ARGS(req)
305fc78003eSBin Liu );
306fc78003eSBin Liu 
307fc78003eSBin Liu DEFINE_EVENT(musb_req, musb_req_deq,
308fc78003eSBin Liu 	TP_PROTO(struct musb_request *req),
309fc78003eSBin Liu 	TP_ARGS(req)
310fc78003eSBin Liu );
311fc78003eSBin Liu 
3128ccb49ddSBin Liu #ifdef CONFIG_USB_TI_CPPI41_DMA
3138ccb49ddSBin Liu DECLARE_EVENT_CLASS(musb_cppi41,
3148ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3158ccb49ddSBin Liu 	TP_ARGS(ch),
3168ccb49ddSBin Liu 	TP_STRUCT__entry(
3178ccb49ddSBin Liu 		__field(struct cppi41_dma_channel *, ch)
3188ccb49ddSBin Liu 		__string(name, dev_name(ch->hw_ep->musb->controller))
3198ccb49ddSBin Liu 		__field(u8, hwep)
3208ccb49ddSBin Liu 		__field(u8, port)
3218ccb49ddSBin Liu 		__field(u8, is_tx)
3228ccb49ddSBin Liu 		__field(u32, len)
3238ccb49ddSBin Liu 		__field(u32, prog_len)
3248ccb49ddSBin Liu 		__field(u32, xferred)
3258ccb49ddSBin Liu 	),
3268ccb49ddSBin Liu 	TP_fast_assign(
3278ccb49ddSBin Liu 		__entry->ch = ch;
3288ccb49ddSBin Liu 		__assign_str(name, dev_name(ch->hw_ep->musb->controller));
3298ccb49ddSBin Liu 		__entry->hwep = ch->hw_ep->epnum;
3308ccb49ddSBin Liu 		__entry->port = ch->port_num;
3318ccb49ddSBin Liu 		__entry->is_tx = ch->is_tx;
3328ccb49ddSBin Liu 		__entry->len = ch->total_len;
3338ccb49ddSBin Liu 		__entry->prog_len = ch->prog_len;
3348ccb49ddSBin Liu 		__entry->xferred = ch->transferred;
3358ccb49ddSBin Liu 	),
3368ccb49ddSBin Liu 	TP_printk("%s: %p, hwep%d ch%d%s, prog_len %d, len %d/%d",
3378ccb49ddSBin Liu 			__get_str(name), __entry->ch, __entry->hwep,
3388ccb49ddSBin Liu 			__entry->port, __entry->is_tx ? "tx" : "rx",
3398ccb49ddSBin Liu 			__entry->prog_len, __entry->xferred, __entry->len
3408ccb49ddSBin Liu 	)
3418ccb49ddSBin Liu );
3428ccb49ddSBin Liu 
3438ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_done,
3448ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3458ccb49ddSBin Liu 	TP_ARGS(ch)
3468ccb49ddSBin Liu );
3478ccb49ddSBin Liu 
3488ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_gb,
3498ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3508ccb49ddSBin Liu 	TP_ARGS(ch)
3518ccb49ddSBin Liu );
3528ccb49ddSBin Liu 
3538ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_config,
3548ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3558ccb49ddSBin Liu 	TP_ARGS(ch)
3568ccb49ddSBin Liu );
3578ccb49ddSBin Liu 
3588ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_cont,
3598ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3608ccb49ddSBin Liu 	TP_ARGS(ch)
3618ccb49ddSBin Liu );
3628ccb49ddSBin Liu 
3638ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_alloc,
3648ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3658ccb49ddSBin Liu 	TP_ARGS(ch)
3668ccb49ddSBin Liu );
3678ccb49ddSBin Liu 
3688ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_abort,
3698ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3708ccb49ddSBin Liu 	TP_ARGS(ch)
3718ccb49ddSBin Liu );
3728ccb49ddSBin Liu 
3738ccb49ddSBin Liu DEFINE_EVENT(musb_cppi41, musb_cppi41_free,
3748ccb49ddSBin Liu 	TP_PROTO(struct cppi41_dma_channel *ch),
3758ccb49ddSBin Liu 	TP_ARGS(ch)
3768ccb49ddSBin Liu );
3778ccb49ddSBin Liu #endif /* CONFIG_USB_TI_CPPI41_DMA */
3788ccb49ddSBin Liu 
379f89252adSBin Liu #endif /* __MUSB_TRACE_H */
380f89252adSBin Liu 
381f89252adSBin Liu /* this part has to be here */
382f89252adSBin Liu 
383f89252adSBin Liu #undef TRACE_INCLUDE_PATH
384f89252adSBin Liu #define TRACE_INCLUDE_PATH .
385f89252adSBin Liu 
386f89252adSBin Liu #undef TRACE_INCLUDE_FILE
387f89252adSBin Liu #define TRACE_INCLUDE_FILE musb_trace
388f89252adSBin Liu 
389f89252adSBin Liu #include <trace/define_trace.h>
390