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