summaryrefslogtreecommitdiff
path: root/include/trace/events/qcom_geni_se.h
blob: 4a6e1ba2d1476b63a1edeb047933aa5b24d6f1ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM qcom_geni_se

#if !defined(_TRACE_QCOM_GENI_SE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_QCOM_GENI_SE_H

#include <linux/io.h>
#include <linux/tracepoint.h>
#include <linux/soc/qcom/geni-se.h>

TRACE_EVENT(geni_se_regs,
	    TP_PROTO(struct geni_se *se),

	    TP_ARGS(se),

	    TP_STRUCT__entry(__string(geni_se_name,		dev_name(se->dev))
		__field(u32,	geni_se_m_cmd0)
		__field(u32,	geni_se_m_irq_status)
		__field(u32,	geni_se_s_cmd0)
		__field(u32,	geni_se_s_irq_status)
		__field(u32,	geni_se_status)
		__field(u32,	geni_se_ios)
		__field(u32,	geni_se_m_cmd_ctrl)
		__field(u32,	geni_se_m_cmd_err)
		__field(u32,	geni_se_m_fw_err)
		__field(u32,	geni_se_tx_fifo_status)
		__field(u32,	geni_se_rx_fifo_status)
		__field(u32,	geni_se_tx_watermark)
		__field(u32,	geni_se_rx_watermark)
		__field(u32,	geni_se_rx_watermark_rfr)
		__field(u32,	geni_se_m_gp_length)
		__field(u32,	geni_se_s_gp_length)
		__field(u32,	geni_se_dma_tx_irq)
		__field(u32,	geni_se_dma_rx_irq)
		__field(u32,	geni_se_dma_tx_irq_en)
		__field(u32,	geni_se_dma_rx_irq_en)
		__field(u32,	geni_se_dma_rx_len)
		__field(u32,	geni_se_dma_rx_len_in)
		__field(u32,	geni_se_dma_tx_len)
		__field(u32,	geni_se_dma_tx_len_in)
		__field(u32,	geni_se_dma_tx_ptr_l)
		__field(u32,	geni_se_dma_tx_ptr_h)
		__field(u32,	geni_se_dma_rx_ptr_l)
		__field(u32,	geni_se_dma_rx_ptr_h)
		__field(u32,	geni_se_dma_tx_attr)
		__field(u32,	geni_se_dma_tx_max_burst)
		__field(u32,	geni_se_dma_rx_attr)
		__field(u32,	geni_se_dma_rx_max_burst)
		__field(u32,	geni_se_dma_if_en)
		__field(u32,	geni_se_dma_if_en_ro)
		__field(u32,	geni_se_dma_general_cfg)
		__field(u32,	geni_se_dma_qsb_trans_cfg)
		__field(u32,	geni_se_dma_dbg)
		__field(u32,	geni_se_m_irq_en)
		__field(u32,	geni_se_s_irq_en)
		__field(u32,	geni_se_gsi_event_en)
		__field(u32,	geni_se_irq_en)
		__field(u32,	geni_se_ser_m_clk_cfg)
		__field(u32,	geni_se_ser_s_clk_cfg)
		__field(u32,	geni_se_general_cfg)
		__field(u32,	geni_se_output_ctrl)
		__field(u32,	geni_se_clk_ctrl_ro)
		__field(u32,	geni_se_fifo_if_disable)
		__field(u32,	geni_se_fw_multilock_msa)
		__field(u32,	geni_se_clk_sel)
	    ),

	    TP_fast_assign(__assign_str(geni_se_name);
		__entry->geni_se_m_cmd0		  = readl(se->base + SE_GENI_M_CMD0);
		__entry->geni_se_m_irq_status	  = readl(se->base + SE_GENI_M_IRQ_STATUS);
		__entry->geni_se_s_cmd0		  = readl(se->base + SE_GENI_S_CMD0);
		__entry->geni_se_s_irq_status	  = readl(se->base + SE_GENI_S_IRQ_STATUS);
		__entry->geni_se_status		  = readl(se->base + SE_GENI_STATUS);
		__entry->geni_se_ios		  = readl(se->base + SE_GENI_IOS);
		__entry->geni_se_m_cmd_ctrl	  = readl(se->base + SE_GENI_M_CMD_CTRL_REG);
		__entry->geni_se_m_cmd_err	  = readl(se->base + M_CMD_ERR_STATUS);
		__entry->geni_se_m_fw_err	  = readl(se->base + M_FW_ERR_STATUS);
		__entry->geni_se_tx_fifo_status	  = readl(se->base + SE_GENI_TX_FIFO_STATUS);
		__entry->geni_se_rx_fifo_status	  = readl(se->base + SE_GENI_RX_FIFO_STATUS);
		__entry->geni_se_tx_watermark	  = readl(se->base + SE_GENI_TX_WATERMARK_REG);
		__entry->geni_se_rx_watermark	  = readl(se->base + SE_GENI_RX_WATERMARK_REG);
		__entry->geni_se_rx_watermark_rfr = readl(se->base + SE_GENI_RX_RFR_WATERMARK_REG);
		__entry->geni_se_m_gp_length	  = readl(se->base + SE_GENI_M_GP_LENGTH);
		__entry->geni_se_s_gp_length	  = readl(se->base + SE_GENI_S_GP_LENGTH);
		__entry->geni_se_dma_tx_irq	  = readl(se->base + SE_DMA_TX_IRQ_STAT);
		__entry->geni_se_dma_rx_irq	  = readl(se->base + SE_DMA_RX_IRQ_STAT);
		__entry->geni_se_dma_tx_irq_en	  = readl(se->base + SE_DMA_TX_IRQ_EN);
		__entry->geni_se_dma_rx_irq_en	  = readl(se->base + SE_DMA_RX_IRQ_EN);
		__entry->geni_se_dma_rx_len	  = readl(se->base + SE_DMA_RX_LEN);
		__entry->geni_se_dma_rx_len_in	  = readl(se->base + SE_DMA_RX_LEN_IN);
		__entry->geni_se_dma_tx_len	  = readl(se->base + SE_DMA_TX_LEN);
		__entry->geni_se_dma_tx_len_in	  = readl(se->base + SE_DMA_TX_LEN_IN);
		__entry->geni_se_dma_tx_ptr_l	  = readl(se->base + SE_DMA_TX_PTR_L);
		__entry->geni_se_dma_tx_ptr_h	  = readl(se->base + SE_DMA_TX_PTR_H);
		__entry->geni_se_dma_rx_ptr_l	  = readl(se->base + SE_DMA_RX_PTR_L);
		__entry->geni_se_dma_rx_ptr_h	  = readl(se->base + SE_DMA_RX_PTR_H);
		__entry->geni_se_dma_tx_attr	  = readl(se->base + SE_DMA_TX_ATTR);
		__entry->geni_se_dma_tx_max_burst = readl(se->base + SE_DMA_TX_MAX_BURST);
		__entry->geni_se_dma_rx_attr	  = readl(se->base + SE_DMA_RX_ATTR);
		__entry->geni_se_dma_rx_max_burst = readl(se->base + SE_DMA_RX_MAX_BURST);
		__entry->geni_se_dma_if_en	  = readl(se->base + SE_DMA_IF_EN);
		__entry->geni_se_dma_if_en_ro	  = readl(se->base + DMA_IF_EN_RO);
		__entry->geni_se_dma_general_cfg  = readl(se->base + DMA_GENERAL_CFG);
		__entry->geni_se_dma_qsb_trans_cfg = readl(se->base + SE_DMA_QSB_TRANS_CFG);
		__entry->geni_se_dma_dbg	  = readl(se->base + SE_DMA_DEBUG_REG0);
		__entry->geni_se_m_irq_en	  = readl(se->base + SE_GENI_M_IRQ_EN);
		__entry->geni_se_s_irq_en	  = readl(se->base + SE_GENI_S_IRQ_EN);
		__entry->geni_se_gsi_event_en	  = readl(se->base + SE_GSI_EVENT_EN);
		__entry->geni_se_irq_en		  = readl(se->base + SE_IRQ_EN);
		__entry->geni_se_ser_m_clk_cfg	  = readl(se->base + GENI_SER_M_CLK_CFG);
		__entry->geni_se_ser_s_clk_cfg	  = readl(se->base + GENI_SER_S_CLK_CFG);
		__entry->geni_se_general_cfg	  = readl(se->base + GENI_GENERAL_CFG);
		__entry->geni_se_output_ctrl	  = readl(se->base + GENI_OUTPUT_CTRL);
		__entry->geni_se_clk_ctrl_ro	  = readl(se->base + GENI_CLK_CTRL_RO);
		__entry->geni_se_fifo_if_disable  = readl(se->base + GENI_IF_DISABLE_RO);
		__entry->geni_se_fw_multilock_msa = readl(se->base + GENI_FW_MULTILOCK_MSA_RO);
		__entry->geni_se_clk_sel	  = readl(se->base + SE_GENI_CLK_SEL);
	    ),

	    TP_printk("%s: m_cmd0=0x%08x m_irq_status=0x%08x s_cmd0=0x%08x s_irq_status=0x%08x geni_status=0x%08x geni_ios=0x%08x m_cmd_ctrl=0x%08x m_cmd_err=0x%08x m_fw_err=0x%08x tx_fifo_sts=0x%08x rx_fifo_sts=0x%08x tx_watermark=0x%08x rx_watermark=0x%08x rx_watermark_rfr=0x%08x m_gp_length=0x%08x s_gp_length=0x%08x dma_tx_irq=0x%08x dma_rx_irq=0x%08x dma_tx_irq_en=0x%08x dma_rx_irq_en=0x%08x dma_rx_len=0x%08x dma_rx_len_in=0x%08x dma_tx_len=0x%08x dma_tx_len_in=0x%08x dma_tx_ptr_l=0x%08x dma_tx_ptr_h=0x%08x dma_rx_ptr_l=0x%08x dma_rx_ptr_h=0x%08x dma_tx_attr=0x%08x dma_tx_max_burst=0x%08x dma_rx_attr=0x%08x dma_rx_max_burst=0x%08x dma_if_en=0x%08x dma_if_en_ro=0x%08x dma_general_cfg=0x%08x dma_qsb_trans_cfg=0x%08x dma_dbg=0x%08x m_irq_en=0x%08x s_irq_en=0x%08x gsi_event_en=0x%08x se_irq_en=0x%08x ser_m_clk_cfg=0x%08x ser_s_clk_cfg=0x%08x general_cfg=0x%08x output_ctrl=0x%08x clk_ctrl_ro=0x%08x fifo_if_dis=0x%08x fw_multilock_msa=0x%08x clk_sel=0x%08x",
		      __get_str(geni_se_name),
		      __entry->geni_se_m_cmd0, __entry->geni_se_m_irq_status,
		      __entry->geni_se_s_cmd0, __entry->geni_se_s_irq_status,
		      __entry->geni_se_status, __entry->geni_se_ios,
		      __entry->geni_se_m_cmd_ctrl,
		      __entry->geni_se_m_cmd_err, __entry->geni_se_m_fw_err,
		      __entry->geni_se_tx_fifo_status, __entry->geni_se_rx_fifo_status,
		      __entry->geni_se_tx_watermark, __entry->geni_se_rx_watermark,
		      __entry->geni_se_rx_watermark_rfr,
		      __entry->geni_se_m_gp_length, __entry->geni_se_s_gp_length,
		      __entry->geni_se_dma_tx_irq, __entry->geni_se_dma_rx_irq,
		      __entry->geni_se_dma_tx_irq_en, __entry->geni_se_dma_rx_irq_en,
		      __entry->geni_se_dma_rx_len, __entry->geni_se_dma_rx_len_in,
		      __entry->geni_se_dma_tx_len, __entry->geni_se_dma_tx_len_in,
		      __entry->geni_se_dma_tx_ptr_l, __entry->geni_se_dma_tx_ptr_h,
		      __entry->geni_se_dma_rx_ptr_l, __entry->geni_se_dma_rx_ptr_h,
		      __entry->geni_se_dma_tx_attr, __entry->geni_se_dma_tx_max_burst,
		      __entry->geni_se_dma_rx_attr, __entry->geni_se_dma_rx_max_burst,
		      __entry->geni_se_dma_if_en, __entry->geni_se_dma_if_en_ro,
		      __entry->geni_se_dma_general_cfg, __entry->geni_se_dma_qsb_trans_cfg,
		      __entry->geni_se_dma_dbg,
		      __entry->geni_se_m_irq_en, __entry->geni_se_s_irq_en,
		      __entry->geni_se_gsi_event_en, __entry->geni_se_irq_en,
		      __entry->geni_se_ser_m_clk_cfg, __entry->geni_se_ser_s_clk_cfg,
		      __entry->geni_se_general_cfg, __entry->geni_se_output_ctrl,
		      __entry->geni_se_clk_ctrl_ro, __entry->geni_se_fifo_if_disable,
		      __entry->geni_se_fw_multilock_msa, __entry->geni_se_clk_sel)
);

#endif /* _TRACE_QCOM_GENI_SE_H */

/* This part must be outside protection */
#include <trace/define_trace.h>