xref: /linux/include/trace/events/qcom_geni_serial.h (revision 8a500fd09385a13ba598cda651f2e4ac40bfa578)
1*578b269eSPraveen Talari /* SPDX-License-Identifier: GPL-2.0 */
2*578b269eSPraveen Talari #undef TRACE_SYSTEM
3*578b269eSPraveen Talari #define TRACE_SYSTEM qcom_geni_serial
4*578b269eSPraveen Talari 
5*578b269eSPraveen Talari #if !defined(_TRACE_QCOM_GENI_SERIAL_H) || defined(TRACE_HEADER_MULTI_READ)
6*578b269eSPraveen Talari #define _TRACE_QCOM_GENI_SERIAL_H
7*578b269eSPraveen Talari 
8*578b269eSPraveen Talari #include <linux/device.h>
9*578b269eSPraveen Talari #include <linux/tracepoint.h>
10*578b269eSPraveen Talari 
11*578b269eSPraveen Talari TRACE_EVENT(geni_serial_set_termios,
12*578b269eSPraveen Talari 	    TP_PROTO(struct device *dev, unsigned int baud,
13*578b269eSPraveen Talari 		     unsigned int bits_per_char, u32 tx_trans_cfg,
14*578b269eSPraveen Talari 		     u32 tx_parity_cfg, u32 rx_trans_cfg,
15*578b269eSPraveen Talari 		     u32 rx_parity_cfg, u32 stop_bit_len),
16*578b269eSPraveen Talari 	    TP_ARGS(dev, baud, bits_per_char, tx_trans_cfg, tx_parity_cfg,
17*578b269eSPraveen Talari 		    rx_trans_cfg, rx_parity_cfg, stop_bit_len),
18*578b269eSPraveen Talari 
19*578b269eSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
20*578b269eSPraveen Talari 			     __field(unsigned int, baud)
21*578b269eSPraveen Talari 			     __field(unsigned int, bits_per_char)
22*578b269eSPraveen Talari 			     __field(u32, tx_trans_cfg)
23*578b269eSPraveen Talari 			     __field(u32, tx_parity_cfg)
24*578b269eSPraveen Talari 			     __field(u32, rx_trans_cfg)
25*578b269eSPraveen Talari 			     __field(u32, rx_parity_cfg)
26*578b269eSPraveen Talari 			     __field(u32, stop_bit_len)
27*578b269eSPraveen Talari 	    ),
28*578b269eSPraveen Talari 
29*578b269eSPraveen Talari 	    TP_fast_assign(__assign_str(name);
30*578b269eSPraveen Talari 			   __entry->baud = baud;
31*578b269eSPraveen Talari 			   __entry->bits_per_char = bits_per_char;
32*578b269eSPraveen Talari 			   __entry->tx_trans_cfg = tx_trans_cfg;
33*578b269eSPraveen Talari 			   __entry->tx_parity_cfg = tx_parity_cfg;
34*578b269eSPraveen Talari 			   __entry->rx_trans_cfg = rx_trans_cfg;
35*578b269eSPraveen Talari 			   __entry->rx_parity_cfg = rx_parity_cfg;
36*578b269eSPraveen Talari 			   __entry->stop_bit_len = stop_bit_len;
37*578b269eSPraveen Talari 	    ),
38*578b269eSPraveen Talari 
39*578b269eSPraveen Talari 	    TP_printk("%s: baud=%u bpc=%u tx_trans=0x%08x tx_par=0x%08x rx_trans=0x%08x rx_par=0x%08x stop=%u",
40*578b269eSPraveen Talari 		      __get_str(name), __entry->baud, __entry->bits_per_char,
41*578b269eSPraveen Talari 		      __entry->tx_trans_cfg, __entry->tx_parity_cfg,
42*578b269eSPraveen Talari 		      __entry->rx_trans_cfg, __entry->rx_parity_cfg,
43*578b269eSPraveen Talari 		      __entry->stop_bit_len)
44*578b269eSPraveen Talari );
45*578b269eSPraveen Talari 
46*578b269eSPraveen Talari TRACE_EVENT(geni_serial_clk_cfg,
47*578b269eSPraveen Talari 	    TP_PROTO(struct device *dev, unsigned int desired_rate,
48*578b269eSPraveen Talari 		     unsigned long clk_rate, unsigned int clk_div,
49*578b269eSPraveen Talari 		     unsigned int clk_idx),
50*578b269eSPraveen Talari 	    TP_ARGS(dev, desired_rate, clk_rate, clk_div, clk_idx),
51*578b269eSPraveen Talari 
52*578b269eSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
53*578b269eSPraveen Talari 			     __field(unsigned int, desired_rate)
54*578b269eSPraveen Talari 			     __field(unsigned long, clk_rate)
55*578b269eSPraveen Talari 			     __field(unsigned int, clk_div)
56*578b269eSPraveen Talari 			     __field(unsigned int, clk_idx)
57*578b269eSPraveen Talari 	    ),
58*578b269eSPraveen Talari 
59*578b269eSPraveen Talari 	    TP_fast_assign(__assign_str(name);
60*578b269eSPraveen Talari 			   __entry->desired_rate = desired_rate;
61*578b269eSPraveen Talari 			   __entry->clk_rate = clk_rate;
62*578b269eSPraveen Talari 			   __entry->clk_div = clk_div;
63*578b269eSPraveen Talari 			   __entry->clk_idx = clk_idx;
64*578b269eSPraveen Talari 	    ),
65*578b269eSPraveen Talari 
66*578b269eSPraveen Talari 	    TP_printk("%s: desired_rate=%u clk_rate=%lu clk_div=%u clk_idx=%u",
67*578b269eSPraveen Talari 		      __get_str(name), __entry->desired_rate, __entry->clk_rate,
68*578b269eSPraveen Talari 		      __entry->clk_div, __entry->clk_idx)
69*578b269eSPraveen Talari );
70*578b269eSPraveen Talari 
71*578b269eSPraveen Talari TRACE_EVENT(geni_serial_irq,
72*578b269eSPraveen Talari 	    TP_PROTO(struct device *dev, u32 m_irq, u32 s_irq,
73*578b269eSPraveen Talari 		     u32 dma_tx, u32 dma_rx),
74*578b269eSPraveen Talari 	    TP_ARGS(dev, m_irq, s_irq, dma_tx, dma_rx),
75*578b269eSPraveen Talari 
76*578b269eSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
77*578b269eSPraveen Talari 			     __field(u32, m_irq)
78*578b269eSPraveen Talari 			     __field(u32, s_irq)
79*578b269eSPraveen Talari 			     __field(u32, dma_tx)
80*578b269eSPraveen Talari 			     __field(u32, dma_rx)
81*578b269eSPraveen Talari 	    ),
82*578b269eSPraveen Talari 
83*578b269eSPraveen Talari 	    TP_fast_assign(__assign_str(name);
84*578b269eSPraveen Talari 			   __entry->m_irq = m_irq;
85*578b269eSPraveen Talari 			   __entry->s_irq = s_irq;
86*578b269eSPraveen Talari 			   __entry->dma_tx = dma_tx;
87*578b269eSPraveen Talari 			   __entry->dma_rx = dma_rx;
88*578b269eSPraveen Talari 	    ),
89*578b269eSPraveen Talari 
90*578b269eSPraveen Talari 	    TP_printk("%s: m_irq=0x%08x s_irq=0x%08x dma_tx=0x%08x dma_rx=0x%08x",
91*578b269eSPraveen Talari 		      __get_str(name), __entry->m_irq, __entry->s_irq,
92*578b269eSPraveen Talari 		      __entry->dma_tx, __entry->dma_rx)
93*578b269eSPraveen Talari );
94*578b269eSPraveen Talari 
95*578b269eSPraveen Talari DECLARE_EVENT_CLASS(geni_serial_data,
96*578b269eSPraveen Talari 		    TP_PROTO(struct device *dev, const u8 *buf, unsigned int len),
97*578b269eSPraveen Talari 		    TP_ARGS(dev, buf, len),
98*578b269eSPraveen Talari 
99*578b269eSPraveen Talari 		    TP_STRUCT__entry(__string(name, dev_name(dev))
100*578b269eSPraveen Talari 				     __field(unsigned int, len)
101*578b269eSPraveen Talari 				     __dynamic_array(u8, data, len)
102*578b269eSPraveen Talari 		    ),
103*578b269eSPraveen Talari 
104*578b269eSPraveen Talari 		    TP_fast_assign(__assign_str(name);
105*578b269eSPraveen Talari 				   __entry->len = len;
106*578b269eSPraveen Talari 				   memcpy(__get_dynamic_array(data), buf, len);
107*578b269eSPraveen Talari 		    ),
108*578b269eSPraveen Talari 
109*578b269eSPraveen Talari 		    TP_printk("%s: len=%u data=%s",
110*578b269eSPraveen Talari 			      __get_str(name), __entry->len,
111*578b269eSPraveen Talari 			      __print_hex(__get_dynamic_array(data), __entry->len))
112*578b269eSPraveen Talari );
113*578b269eSPraveen Talari 
114*578b269eSPraveen Talari DEFINE_EVENT(geni_serial_data, geni_serial_tx_data,
115*578b269eSPraveen Talari 	     TP_PROTO(struct device *dev, const u8 *buf, unsigned int len),
116*578b269eSPraveen Talari 	     TP_ARGS(dev, buf, len)
117*578b269eSPraveen Talari );
118*578b269eSPraveen Talari 
119*578b269eSPraveen Talari DEFINE_EVENT(geni_serial_data, geni_serial_rx_data,
120*578b269eSPraveen Talari 	     TP_PROTO(struct device *dev, const u8 *buf, unsigned int len),
121*578b269eSPraveen Talari 	     TP_ARGS(dev, buf, len)
122*578b269eSPraveen Talari );
123*578b269eSPraveen Talari 
124*578b269eSPraveen Talari TRACE_EVENT(geni_serial_set_mctrl,
125*578b269eSPraveen Talari 	    TP_PROTO(struct device *dev, unsigned int mctrl,
126*578b269eSPraveen Talari 		     u32 uart_manual_rfr),
127*578b269eSPraveen Talari 	    TP_ARGS(dev, mctrl, uart_manual_rfr),
128*578b269eSPraveen Talari 
129*578b269eSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
130*578b269eSPraveen Talari 			     __field(unsigned int, mctrl)
131*578b269eSPraveen Talari 			     __field(u32, uart_manual_rfr)
132*578b269eSPraveen Talari 	    ),
133*578b269eSPraveen Talari 
134*578b269eSPraveen Talari 	    TP_fast_assign(__assign_str(name);
135*578b269eSPraveen Talari 			   __entry->mctrl = mctrl;
136*578b269eSPraveen Talari 			   __entry->uart_manual_rfr = uart_manual_rfr;
137*578b269eSPraveen Talari 	    ),
138*578b269eSPraveen Talari 
139*578b269eSPraveen Talari 	    TP_printk("%s: mctrl=0x%04x uart_manual_rfr=0x%08x",
140*578b269eSPraveen Talari 		      __get_str(name), __entry->mctrl, __entry->uart_manual_rfr)
141*578b269eSPraveen Talari );
142*578b269eSPraveen Talari 
143*578b269eSPraveen Talari TRACE_EVENT(geni_serial_get_mctrl,
144*578b269eSPraveen Talari 	    TP_PROTO(struct device *dev, unsigned int mctrl, u32 geni_ios),
145*578b269eSPraveen Talari 	    TP_ARGS(dev, mctrl, geni_ios),
146*578b269eSPraveen Talari 
147*578b269eSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
148*578b269eSPraveen Talari 			     __field(unsigned int, mctrl)
149*578b269eSPraveen Talari 			     __field(u32, geni_ios)
150*578b269eSPraveen Talari 	    ),
151*578b269eSPraveen Talari 
152*578b269eSPraveen Talari 	    TP_fast_assign(__assign_str(name);
153*578b269eSPraveen Talari 			   __entry->mctrl = mctrl;
154*578b269eSPraveen Talari 			   __entry->geni_ios = geni_ios;
155*578b269eSPraveen Talari 	    ),
156*578b269eSPraveen Talari 
157*578b269eSPraveen Talari 	    TP_printk("%s: mctrl=0x%04x geni_ios=0x%08x",
158*578b269eSPraveen Talari 		      __get_str(name), __entry->mctrl, __entry->geni_ios)
159*578b269eSPraveen Talari );
160*578b269eSPraveen Talari 
161*578b269eSPraveen Talari #endif /* _TRACE_QCOM_GENI_SERIAL_H */
162*578b269eSPraveen Talari 
163*578b269eSPraveen Talari /* This part must be outside protection */
164*578b269eSPraveen Talari #include <trace/define_trace.h>
165