xref: /linux/include/trace/events/qcom_geni_i2c.h (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*d3de2eddSPraveen Talari /* SPDX-License-Identifier: GPL-2.0 */
2*d3de2eddSPraveen Talari #undef TRACE_SYSTEM
3*d3de2eddSPraveen Talari #define TRACE_SYSTEM qcom_geni_i2c
4*d3de2eddSPraveen Talari 
5*d3de2eddSPraveen Talari #if !defined(_TRACE_QCOM_GENI_I2C_H) || defined(TRACE_HEADER_MULTI_READ)
6*d3de2eddSPraveen Talari #define _TRACE_QCOM_GENI_I2C_H
7*d3de2eddSPraveen Talari 
8*d3de2eddSPraveen Talari #include <linux/tracepoint.h>
9*d3de2eddSPraveen Talari 
10*d3de2eddSPraveen Talari TRACE_EVENT(geni_i2c_bus_setup,
11*d3de2eddSPraveen Talari 	    TP_PROTO(struct device *dev, u32 clk_freq, u8 clk_div,
12*d3de2eddSPraveen Talari 		     u8 t_high_cnt, u8 t_low_cnt, u8 t_cycle_cnt),
13*d3de2eddSPraveen Talari 	    TP_ARGS(dev, clk_freq, clk_div, t_high_cnt, t_low_cnt, t_cycle_cnt),
14*d3de2eddSPraveen Talari 
15*d3de2eddSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
16*d3de2eddSPraveen Talari 			     __field(u32, clk_freq)
17*d3de2eddSPraveen Talari 			     __field(u8,  clk_div)
18*d3de2eddSPraveen Talari 			     __field(u8,  t_high_cnt)
19*d3de2eddSPraveen Talari 			     __field(u8,  t_low_cnt)
20*d3de2eddSPraveen Talari 			     __field(u8,  t_cycle_cnt)
21*d3de2eddSPraveen Talari 	    ),
22*d3de2eddSPraveen Talari 
23*d3de2eddSPraveen Talari 	    TP_fast_assign(__assign_str(name);
24*d3de2eddSPraveen Talari 			   __entry->clk_freq   = clk_freq;
25*d3de2eddSPraveen Talari 			   __entry->clk_div    = clk_div;
26*d3de2eddSPraveen Talari 			   __entry->t_high_cnt = t_high_cnt;
27*d3de2eddSPraveen Talari 			   __entry->t_low_cnt  = t_low_cnt;
28*d3de2eddSPraveen Talari 			   __entry->t_cycle_cnt = t_cycle_cnt;
29*d3de2eddSPraveen Talari 	    ),
30*d3de2eddSPraveen Talari 
31*d3de2eddSPraveen Talari 	    TP_printk("%s: clk_freq=%u clk_div=%u t_high=%u t_low=%u t_cycle=%u",
32*d3de2eddSPraveen Talari 		      __get_str(name), __entry->clk_freq, __entry->clk_div,
33*d3de2eddSPraveen Talari 		      __entry->t_high_cnt, __entry->t_low_cnt,
34*d3de2eddSPraveen Talari 		      __entry->t_cycle_cnt)
35*d3de2eddSPraveen Talari );
36*d3de2eddSPraveen Talari 
37*d3de2eddSPraveen Talari TRACE_EVENT(geni_i2c_irq,
38*d3de2eddSPraveen Talari 	    TP_PROTO(struct device *dev, u32 m_stat, u32 rx_st,
39*d3de2eddSPraveen Talari 		     u32 dm_tx_st, u32 dm_rx_st),
40*d3de2eddSPraveen Talari 	    TP_ARGS(dev, m_stat, rx_st, dm_tx_st, dm_rx_st),
41*d3de2eddSPraveen Talari 
42*d3de2eddSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
43*d3de2eddSPraveen Talari 			     __field(u32, m_stat)
44*d3de2eddSPraveen Talari 			     __field(u32, rx_st)
45*d3de2eddSPraveen Talari 			     __field(u32, dm_tx_st)
46*d3de2eddSPraveen Talari 			     __field(u32, dm_rx_st)
47*d3de2eddSPraveen Talari 	    ),
48*d3de2eddSPraveen Talari 
49*d3de2eddSPraveen Talari 	    TP_fast_assign(__assign_str(name);
50*d3de2eddSPraveen Talari 			   __entry->m_stat = m_stat;
51*d3de2eddSPraveen Talari 			   __entry->rx_st = rx_st;
52*d3de2eddSPraveen Talari 			   __entry->dm_tx_st = dm_tx_st;
53*d3de2eddSPraveen Talari 			   __entry->dm_rx_st = dm_rx_st;
54*d3de2eddSPraveen Talari 	    ),
55*d3de2eddSPraveen Talari 
56*d3de2eddSPraveen Talari 	    TP_printk("%s: m_stat=0x%08x rx_st=0x%08x dm_tx=0x%08x dm_rx=0x%08x",
57*d3de2eddSPraveen Talari 		      __get_str(name), __entry->m_stat, __entry->rx_st,
58*d3de2eddSPraveen Talari 		      __entry->dm_tx_st, __entry->dm_rx_st)
59*d3de2eddSPraveen Talari );
60*d3de2eddSPraveen Talari 
61*d3de2eddSPraveen Talari TRACE_EVENT(geni_i2c_err,
62*d3de2eddSPraveen Talari 	    TP_PROTO(struct device *dev, int err, const char *msg),
63*d3de2eddSPraveen Talari 	    TP_ARGS(dev, err, msg),
64*d3de2eddSPraveen Talari 
65*d3de2eddSPraveen Talari 	    TP_STRUCT__entry(__string(name, dev_name(dev))
66*d3de2eddSPraveen Talari 			     __field(int, err)
67*d3de2eddSPraveen Talari 			     __string(msg, msg)
68*d3de2eddSPraveen Talari 	    ),
69*d3de2eddSPraveen Talari 
70*d3de2eddSPraveen Talari 	    TP_fast_assign(__assign_str(name);
71*d3de2eddSPraveen Talari 			   __entry->err = err;
72*d3de2eddSPraveen Talari 			   __assign_str(msg);
73*d3de2eddSPraveen Talari 	    ),
74*d3de2eddSPraveen Talari 
75*d3de2eddSPraveen Talari 	    TP_printk("%s: err=%d msg=%s",
76*d3de2eddSPraveen Talari 		      __get_str(name), __entry->err, __get_str(msg))
77*d3de2eddSPraveen Talari );
78*d3de2eddSPraveen Talari 
79*d3de2eddSPraveen Talari #endif /* _TRACE_QCOM_GENI_I2C_H */
80*d3de2eddSPraveen Talari 
81*d3de2eddSPraveen Talari /* This part must be outside protection */
82*d3de2eddSPraveen Talari #include <trace/define_trace.h>
83