xref: /wlan-driver/fw-api/hw/qcn6122/mac_tcl_reg_seq_hwioreg.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef __MAC_TCL_REG_SEQ_REG_H__
18 #define __MAC_TCL_REG_SEQ_REG_H__
19 
20 #include "seq_hwio.h"
21 #include "mac_tcl_reg_seq_hwiobase.h"
22 #ifdef SCALE_INCLUDES
23 	#include "HALhwio.h"
24 #else
25 	#include "msmhwio.h"
26 #endif
27 
28 
29 ///////////////////////////////////////////////////////////////////////////////////////////////
30 // Register Data for Block MAC_TCL_REG
31 ///////////////////////////////////////////////////////////////////////////////////////////////
32 
33 //// Register TCL_R0_SW2TCL1_RING_CTRL ////
34 
35 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_ADDR(x)                        (x+0x00000000)
36 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_PHYS(x)                        (x+0x00000000)
37 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_RMSK                           0x0003ffe0
38 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_SHFT                                    5
39 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_IN(x)                          \
40 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CTRL_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CTRL_RMSK)
41 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_INM(x, mask)                   \
42 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CTRL_ADDR(x), mask)
43 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_OUT(x, val)                    \
44 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CTRL_ADDR(x), val)
45 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_OUTM(x, mask, val)             \
46 	do {\
47 		HWIO_INTLOCK(); \
48 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CTRL_IN(x)); \
49 		HWIO_INTFREE();\
50 	} while (0)
51 
52 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_TIMEOUT_VAL_BMSK               0x0003ffc0
53 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_TIMEOUT_VAL_SHFT                      0x6
54 
55 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_RNG_PRTY_BMSK                  0x00000020
56 #define HWIO_TCL_R0_SW2TCL1_RING_CTRL_RNG_PRTY_SHFT                         0x5
57 
58 //// Register TCL_R0_SW2TCL2_RING_CTRL ////
59 
60 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_ADDR(x)                        (x+0x00000004)
61 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_PHYS(x)                        (x+0x00000004)
62 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_RMSK                           0x0003ffe0
63 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_SHFT                                    5
64 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_IN(x)                          \
65 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CTRL_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CTRL_RMSK)
66 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_INM(x, mask)                   \
67 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CTRL_ADDR(x), mask)
68 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_OUT(x, val)                    \
69 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CTRL_ADDR(x), val)
70 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_OUTM(x, mask, val)             \
71 	do {\
72 		HWIO_INTLOCK(); \
73 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CTRL_IN(x)); \
74 		HWIO_INTFREE();\
75 	} while (0)
76 
77 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_TIMEOUT_VAL_BMSK               0x0003ffc0
78 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_TIMEOUT_VAL_SHFT                      0x6
79 
80 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_RNG_PRTY_BMSK                  0x00000020
81 #define HWIO_TCL_R0_SW2TCL2_RING_CTRL_RNG_PRTY_SHFT                         0x5
82 
83 //// Register TCL_R0_SW2TCL3_RING_CTRL ////
84 
85 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_ADDR(x)                        (x+0x00000008)
86 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_PHYS(x)                        (x+0x00000008)
87 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_RMSK                           0x0003ffe0
88 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_SHFT                                    5
89 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_IN(x)                          \
90 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CTRL_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CTRL_RMSK)
91 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_INM(x, mask)                   \
92 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CTRL_ADDR(x), mask)
93 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_OUT(x, val)                    \
94 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CTRL_ADDR(x), val)
95 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_OUTM(x, mask, val)             \
96 	do {\
97 		HWIO_INTLOCK(); \
98 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CTRL_IN(x)); \
99 		HWIO_INTFREE();\
100 	} while (0)
101 
102 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_TIMEOUT_VAL_BMSK               0x0003ffc0
103 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_TIMEOUT_VAL_SHFT                      0x6
104 
105 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_RNG_PRTY_BMSK                  0x00000020
106 #define HWIO_TCL_R0_SW2TCL3_RING_CTRL_RNG_PRTY_SHFT                         0x5
107 
108 //// Register TCL_R0_FW2TCL1_RING_CTRL ////
109 
110 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_ADDR(x)                        (x+0x0000000c)
111 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_PHYS(x)                        (x+0x0000000c)
112 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_RMSK                           0x0003ffe0
113 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_SHFT                                    5
114 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_IN(x)                          \
115 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CTRL_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CTRL_RMSK)
116 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_INM(x, mask)                   \
117 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CTRL_ADDR(x), mask)
118 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_OUT(x, val)                    \
119 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CTRL_ADDR(x), val)
120 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_OUTM(x, mask, val)             \
121 	do {\
122 		HWIO_INTLOCK(); \
123 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CTRL_IN(x)); \
124 		HWIO_INTFREE();\
125 	} while (0)
126 
127 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_TIMEOUT_VAL_BMSK               0x0003ffc0
128 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_TIMEOUT_VAL_SHFT                      0x6
129 
130 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_RNG_PRTY_BMSK                  0x00000020
131 #define HWIO_TCL_R0_FW2TCL1_RING_CTRL_RNG_PRTY_SHFT                         0x5
132 
133 //// Register TCL_R0_SW2TCL_CREDIT_RING_CTRL ////
134 
135 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_ADDR(x)                  (x+0x00000010)
136 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_PHYS(x)                  (x+0x00000010)
137 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_RMSK                     0x0003ffe0
138 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_SHFT                              5
139 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_IN(x)                    \
140 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_RMSK)
141 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_INM(x, mask)             \
142 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_ADDR(x), mask)
143 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_OUT(x, val)              \
144 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_ADDR(x), val)
145 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_OUTM(x, mask, val)       \
146 	do {\
147 		HWIO_INTLOCK(); \
148 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_IN(x)); \
149 		HWIO_INTFREE();\
150 	} while (0)
151 
152 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_TIMEOUT_VAL_BMSK         0x0003ffc0
153 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_TIMEOUT_VAL_SHFT                0x6
154 
155 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_RNG_PRTY_BMSK            0x00000020
156 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CTRL_RNG_PRTY_SHFT                   0x5
157 
158 //// Register TCL_R0_CONS_RING_CMN_CTRL_REG ////
159 
160 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(x)                   (x+0x00000014)
161 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_PHYS(x)                   (x+0x00000014)
162 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_RMSK                      0x001fffff
163 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SHFT                               0
164 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_IN(x)                     \
165 	in_dword_masked ( HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(x), HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_RMSK)
166 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_INM(x, mask)              \
167 	in_dword_masked ( HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(x), mask)
168 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_OUT(x, val)               \
169 	out_dword( HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(x), val)
170 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_OUTM(x, mask, val)        \
171 	do {\
172 		HWIO_INTLOCK(); \
173 		out_dword_masked_ns(HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(x), mask, val, HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_IN(x)); \
174 		HWIO_INTFREE();\
175 	} while (0)
176 
177 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_INSERT_VLAN_EN_BMSK       0x00100000
178 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_INSERT_VLAN_EN_SHFT             0x14
179 
180 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_STOP_META_RD_AT_8B_BDRY_BMSK 0x00080000
181 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_STOP_META_RD_AT_8B_BDRY_SHFT       0x13
182 
183 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ENABLE_C9D1_BMSK          0x00040000
184 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ENABLE_C9D1_SHFT                0x12
185 
186 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_DSCP_TID_MAP_PROGRAM_EN_BMSK 0x00020000
187 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_DSCP_TID_MAP_PROGRAM_EN_SHFT       0x11
188 
189 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_MSDU_EXTN_NUM_BUF_RD_BMSK 0x0001c000
190 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_MSDU_EXTN_NUM_BUF_RD_SHFT        0xe
191 
192 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_TCL_IDLE_BMSK             0x00002000
193 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_TCL_IDLE_SHFT                    0xd
194 
195 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL_CREDIT_RING_HALT_STAT_BMSK 0x00001000
196 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL_CREDIT_RING_HALT_STAT_SHFT        0xc
197 
198 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_FW2TCL1_RNG_HALT_STAT_BMSK 0x00000800
199 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_FW2TCL1_RNG_HALT_STAT_SHFT        0xb
200 
201 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL3_RNG_HALT_STAT_BMSK 0x00000400
202 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL3_RNG_HALT_STAT_SHFT        0xa
203 
204 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL2_RNG_HALT_STAT_BMSK 0x00000200
205 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL2_RNG_HALT_STAT_SHFT        0x9
206 
207 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL1_RNG_HALT_STAT_BMSK 0x00000100
208 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL1_RNG_HALT_STAT_SHFT        0x8
209 
210 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL_CREDIT_RING_HALT_BMSK 0x00000080
211 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL_CREDIT_RING_HALT_SHFT        0x7
212 
213 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_FW2TCL1_RNG_HALT_BMSK     0x00000040
214 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_FW2TCL1_RNG_HALT_SHFT            0x6
215 
216 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL3_RNG_HALT_BMSK     0x00000020
217 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL3_RNG_HALT_SHFT            0x5
218 
219 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL2_RNG_HALT_BMSK     0x00000010
220 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL2_RNG_HALT_SHFT            0x4
221 
222 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL1_RNG_HALT_BMSK     0x00000008
223 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_SW2TCL1_RNG_HALT_SHFT            0x3
224 
225 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_HDR_FWD_EN_BMSK           0x00000004
226 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_HDR_FWD_EN_SHFT                  0x2
227 
228 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_MSDU_HDR_LEN_SEL_BMSK     0x00000002
229 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_MSDU_HDR_LEN_SEL_SHFT            0x1
230 
231 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_CLFY_DIS_BMSK             0x00000001
232 #define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_CLFY_DIS_SHFT                    0x0
233 
234 //// Register TCL_R0_TCL2TQM_RING_CTRL ////
235 
236 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_ADDR(x)                        (x+0x00000018)
237 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_PHYS(x)                        (x+0x00000018)
238 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_RMSK                           0x0000ffff
239 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_SHFT                                    0
240 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_IN(x)                          \
241 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_CTRL_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_CTRL_RMSK)
242 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_INM(x, mask)                   \
243 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_CTRL_ADDR(x), mask)
244 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_OUT(x, val)                    \
245 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_CTRL_ADDR(x), val)
246 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_OUTM(x, mask, val)             \
247 	do {\
248 		HWIO_INTLOCK(); \
249 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_CTRL_IN(x)); \
250 		HWIO_INTFREE();\
251 	} while (0)
252 
253 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_DROP_NO_DROP_PRIORITY_BMSK     0x0000c000
254 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_DROP_NO_DROP_PRIORITY_SHFT            0xe
255 
256 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TQM_STATUS_RING_BMSK           0x00002000
257 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TQM_STATUS_RING_SHFT                  0xd
258 
259 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TQM_STATUS_REQUIRED_BMSK       0x00001000
260 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TQM_STATUS_REQUIRED_SHFT              0xc
261 
262 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TIMEOUT_VAL_BMSK               0x00000fff
263 #define HWIO_TCL_R0_TCL2TQM_RING_CTRL_TIMEOUT_VAL_SHFT                      0x0
264 
265 //// Register TCL_R0_TCL2FW_RING_CTRL ////
266 
267 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_ADDR(x)                         (x+0x0000001c)
268 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_PHYS(x)                         (x+0x0000001c)
269 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_RMSK                            0x00000fff
270 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_SHFT                                     0
271 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_IN(x)                           \
272 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_CTRL_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_CTRL_RMSK)
273 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_INM(x, mask)                    \
274 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_CTRL_ADDR(x), mask)
275 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_OUT(x, val)                     \
276 	out_dword( HWIO_TCL_R0_TCL2FW_RING_CTRL_ADDR(x), val)
277 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_OUTM(x, mask, val)              \
278 	do {\
279 		HWIO_INTLOCK(); \
280 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_CTRL_IN(x)); \
281 		HWIO_INTFREE();\
282 	} while (0)
283 
284 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_TIMEOUT_VAL_BMSK                0x00000fff
285 #define HWIO_TCL_R0_TCL2FW_RING_CTRL_TIMEOUT_VAL_SHFT                       0x0
286 
287 //// Register TCL_R0_TCL_STATUS1_RING_CTRL ////
288 
289 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_ADDR(x)                    (x+0x00000020)
290 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_PHYS(x)                    (x+0x00000020)
291 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_RMSK                       0x00000fff
292 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_SHFT                                0
293 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_IN(x)                      \
294 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_RMSK)
295 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_INM(x, mask)               \
296 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_ADDR(x), mask)
297 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_OUT(x, val)                \
298 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_ADDR(x), val)
299 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_OUTM(x, mask, val)         \
300 	do {\
301 		HWIO_INTLOCK(); \
302 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_IN(x)); \
303 		HWIO_INTFREE();\
304 	} while (0)
305 
306 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_TIMEOUT_VAL_BMSK           0x00000fff
307 #define HWIO_TCL_R0_TCL_STATUS1_RING_CTRL_TIMEOUT_VAL_SHFT                  0x0
308 
309 //// Register TCL_R0_TCL_STATUS2_RING_CTRL ////
310 
311 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_ADDR(x)                    (x+0x00000024)
312 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_PHYS(x)                    (x+0x00000024)
313 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_RMSK                       0x00000fff
314 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_SHFT                                0
315 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_IN(x)                      \
316 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_RMSK)
317 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_INM(x, mask)               \
318 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_ADDR(x), mask)
319 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_OUT(x, val)                \
320 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_ADDR(x), val)
321 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_OUTM(x, mask, val)         \
322 	do {\
323 		HWIO_INTLOCK(); \
324 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_IN(x)); \
325 		HWIO_INTFREE();\
326 	} while (0)
327 
328 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_TIMEOUT_VAL_BMSK           0x00000fff
329 #define HWIO_TCL_R0_TCL_STATUS2_RING_CTRL_TIMEOUT_VAL_SHFT                  0x0
330 
331 //// Register TCL_R0_GEN_CTRL ////
332 
333 #define HWIO_TCL_R0_GEN_CTRL_ADDR(x)                                 (x+0x00000028)
334 #define HWIO_TCL_R0_GEN_CTRL_PHYS(x)                                 (x+0x00000028)
335 #define HWIO_TCL_R0_GEN_CTRL_RMSK                                    0xfffff1fb
336 #define HWIO_TCL_R0_GEN_CTRL_SHFT                                             0
337 #define HWIO_TCL_R0_GEN_CTRL_IN(x)                                   \
338 	in_dword_masked ( HWIO_TCL_R0_GEN_CTRL_ADDR(x), HWIO_TCL_R0_GEN_CTRL_RMSK)
339 #define HWIO_TCL_R0_GEN_CTRL_INM(x, mask)                            \
340 	in_dword_masked ( HWIO_TCL_R0_GEN_CTRL_ADDR(x), mask)
341 #define HWIO_TCL_R0_GEN_CTRL_OUT(x, val)                             \
342 	out_dword( HWIO_TCL_R0_GEN_CTRL_ADDR(x), val)
343 #define HWIO_TCL_R0_GEN_CTRL_OUTM(x, mask, val)                      \
344 	do {\
345 		HWIO_INTLOCK(); \
346 		out_dword_masked_ns(HWIO_TCL_R0_GEN_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_GEN_CTRL_IN(x)); \
347 		HWIO_INTFREE();\
348 	} while (0)
349 
350 #define HWIO_TCL_R0_GEN_CTRL_WHO_CLASSIFY_INFO_OFFSET_BMSK           0xffff0000
351 #define HWIO_TCL_R0_GEN_CTRL_WHO_CLASSIFY_INFO_OFFSET_SHFT                 0x10
352 
353 #define HWIO_TCL_R0_GEN_CTRL_PROTOCOL_FROM_AH_OR_L4_BMSK             0x00008000
354 #define HWIO_TCL_R0_GEN_CTRL_PROTOCOL_FROM_AH_OR_L4_SHFT                    0xf
355 
356 #define HWIO_TCL_R0_GEN_CTRL_PROTOCOL_FROM_AH_OR_ESP_BMSK            0x00004000
357 #define HWIO_TCL_R0_GEN_CTRL_PROTOCOL_FROM_AH_OR_ESP_SHFT                   0xe
358 
359 #define HWIO_TCL_R0_GEN_CTRL_FLOW_TOEPLITZ_5_SEL_BMSK                0x00002000
360 #define HWIO_TCL_R0_GEN_CTRL_FLOW_TOEPLITZ_5_SEL_SHFT                       0xd
361 
362 #define HWIO_TCL_R0_GEN_CTRL_CCE_STAT_UP_DIS_BMSK                    0x00001000
363 #define HWIO_TCL_R0_GEN_CTRL_CCE_STAT_UP_DIS_SHFT                           0xc
364 
365 #define HWIO_TCL_R0_GEN_CTRL_CCE_UPDATE_DIS_BMSK                     0x00000100
366 #define HWIO_TCL_R0_GEN_CTRL_CCE_UPDATE_DIS_SHFT                            0x8
367 
368 #define HWIO_TCL_R0_GEN_CTRL_FSE_UPDATE_DIS_BMSK                     0x00000080
369 #define HWIO_TCL_R0_GEN_CTRL_FSE_UPDATE_DIS_SHFT                            0x7
370 
371 #define HWIO_TCL_R0_GEN_CTRL_ADDRY_UPDATE_DIS_BMSK                   0x00000040
372 #define HWIO_TCL_R0_GEN_CTRL_ADDRY_UPDATE_DIS_SHFT                          0x6
373 
374 #define HWIO_TCL_R0_GEN_CTRL_ADDRX_UPDATE_DIS_BMSK                   0x00000020
375 #define HWIO_TCL_R0_GEN_CTRL_ADDRX_UPDATE_DIS_SHFT                          0x5
376 
377 #define HWIO_TCL_R0_GEN_CTRL_FSE_EN_BMSK                             0x00000010
378 #define HWIO_TCL_R0_GEN_CTRL_FSE_EN_SHFT                                    0x4
379 
380 #define HWIO_TCL_R0_GEN_CTRL_CCE_EN_BMSK                             0x00000008
381 #define HWIO_TCL_R0_GEN_CTRL_CCE_EN_SHFT                                    0x3
382 
383 #define HWIO_TCL_R0_GEN_CTRL_TO_FW_BMSK                              0x00000002
384 #define HWIO_TCL_R0_GEN_CTRL_TO_FW_SHFT                                     0x1
385 
386 #define HWIO_TCL_R0_GEN_CTRL_EN_11AH_BMSK                            0x00000001
387 #define HWIO_TCL_R0_GEN_CTRL_EN_11AH_SHFT                                   0x0
388 
389 //// Register TCL_R0_DSCP_TID_MAP_n ////
390 
391 #define HWIO_TCL_R0_DSCP_TID_MAP_n_ADDR(base, n)                     (base+0x2C+0x4*n)
392 #define HWIO_TCL_R0_DSCP_TID_MAP_n_PHYS(base, n)                     (base+0x2C+0x4*n)
393 #define HWIO_TCL_R0_DSCP_TID_MAP_n_RMSK                              0xffffffff
394 #define HWIO_TCL_R0_DSCP_TID_MAP_n_SHFT                                       0
395 #define HWIO_TCL_R0_DSCP_TID_MAP_n_MAXn                                     287
396 #define HWIO_TCL_R0_DSCP_TID_MAP_n_INI(base, n)                      \
397 	in_dword_masked ( HWIO_TCL_R0_DSCP_TID_MAP_n_ADDR(base, n), HWIO_TCL_R0_DSCP_TID_MAP_n_RMSK)
398 #define HWIO_TCL_R0_DSCP_TID_MAP_n_INMI(base, n, mask)               \
399 	in_dword_masked ( HWIO_TCL_R0_DSCP_TID_MAP_n_ADDR(base, n), mask)
400 #define HWIO_TCL_R0_DSCP_TID_MAP_n_OUTI(base, n, val)                \
401 	out_dword( HWIO_TCL_R0_DSCP_TID_MAP_n_ADDR(base, n), val)
402 #define HWIO_TCL_R0_DSCP_TID_MAP_n_OUTMI(base, n, mask, val)         \
403 	do {\
404 		HWIO_INTLOCK(); \
405 		out_dword_masked_ns(HWIO_TCL_R0_DSCP_TID_MAP_n_ADDR(base, n), mask, val, HWIO_TCL_R0_DSCP_TID_MAP_n_INI(base, n)); \
406 		HWIO_INTFREE();\
407 	} while (0)
408 
409 #define HWIO_TCL_R0_DSCP_TID_MAP_n_VAL_BMSK                          0xffffffff
410 #define HWIO_TCL_R0_DSCP_TID_MAP_n_VAL_SHFT                                 0x0
411 
412 //// Register TCL_R0_PCP_TID_MAP ////
413 
414 #define HWIO_TCL_R0_PCP_TID_MAP_ADDR(x)                              (x+0x000004ac)
415 #define HWIO_TCL_R0_PCP_TID_MAP_PHYS(x)                              (x+0x000004ac)
416 #define HWIO_TCL_R0_PCP_TID_MAP_RMSK                                 0x00ffffff
417 #define HWIO_TCL_R0_PCP_TID_MAP_SHFT                                          0
418 #define HWIO_TCL_R0_PCP_TID_MAP_IN(x)                                \
419 	in_dword_masked ( HWIO_TCL_R0_PCP_TID_MAP_ADDR(x), HWIO_TCL_R0_PCP_TID_MAP_RMSK)
420 #define HWIO_TCL_R0_PCP_TID_MAP_INM(x, mask)                         \
421 	in_dword_masked ( HWIO_TCL_R0_PCP_TID_MAP_ADDR(x), mask)
422 #define HWIO_TCL_R0_PCP_TID_MAP_OUT(x, val)                          \
423 	out_dword( HWIO_TCL_R0_PCP_TID_MAP_ADDR(x), val)
424 #define HWIO_TCL_R0_PCP_TID_MAP_OUTM(x, mask, val)                   \
425 	do {\
426 		HWIO_INTLOCK(); \
427 		out_dword_masked_ns(HWIO_TCL_R0_PCP_TID_MAP_ADDR(x), mask, val, HWIO_TCL_R0_PCP_TID_MAP_IN(x)); \
428 		HWIO_INTFREE();\
429 	} while (0)
430 
431 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_7_BMSK                           0x00e00000
432 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_7_SHFT                                 0x15
433 
434 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_6_BMSK                           0x001c0000
435 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_6_SHFT                                 0x12
436 
437 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_5_BMSK                           0x00038000
438 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_5_SHFT                                  0xf
439 
440 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_4_BMSK                           0x00007000
441 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_4_SHFT                                  0xc
442 
443 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_3_BMSK                           0x00000e00
444 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_3_SHFT                                  0x9
445 
446 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_2_BMSK                           0x000001c0
447 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_2_SHFT                                  0x6
448 
449 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_1_BMSK                           0x00000038
450 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_1_SHFT                                  0x3
451 
452 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_0_BMSK                           0x00000007
453 #define HWIO_TCL_R0_PCP_TID_MAP_PCP_0_SHFT                                  0x0
454 
455 //// Register TCL_R0_ASE_HASH_KEY_31_0 ////
456 
457 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_ADDR(x)                        (x+0x000004b0)
458 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_PHYS(x)                        (x+0x000004b0)
459 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_RMSK                           0xffffffff
460 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_SHFT                                    0
461 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_IN(x)                          \
462 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_31_0_ADDR(x), HWIO_TCL_R0_ASE_HASH_KEY_31_0_RMSK)
463 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_INM(x, mask)                   \
464 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_31_0_ADDR(x), mask)
465 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_OUT(x, val)                    \
466 	out_dword( HWIO_TCL_R0_ASE_HASH_KEY_31_0_ADDR(x), val)
467 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_OUTM(x, mask, val)             \
468 	do {\
469 		HWIO_INTLOCK(); \
470 		out_dword_masked_ns(HWIO_TCL_R0_ASE_HASH_KEY_31_0_ADDR(x), mask, val, HWIO_TCL_R0_ASE_HASH_KEY_31_0_IN(x)); \
471 		HWIO_INTFREE();\
472 	} while (0)
473 
474 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_VAL_BMSK                       0xffffffff
475 #define HWIO_TCL_R0_ASE_HASH_KEY_31_0_VAL_SHFT                              0x0
476 
477 //// Register TCL_R0_ASE_HASH_KEY_63_32 ////
478 
479 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_ADDR(x)                       (x+0x000004b4)
480 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_PHYS(x)                       (x+0x000004b4)
481 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_RMSK                          0xffffffff
482 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_SHFT                                   0
483 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_IN(x)                         \
484 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_63_32_ADDR(x), HWIO_TCL_R0_ASE_HASH_KEY_63_32_RMSK)
485 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_INM(x, mask)                  \
486 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_63_32_ADDR(x), mask)
487 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_OUT(x, val)                   \
488 	out_dword( HWIO_TCL_R0_ASE_HASH_KEY_63_32_ADDR(x), val)
489 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_OUTM(x, mask, val)            \
490 	do {\
491 		HWIO_INTLOCK(); \
492 		out_dword_masked_ns(HWIO_TCL_R0_ASE_HASH_KEY_63_32_ADDR(x), mask, val, HWIO_TCL_R0_ASE_HASH_KEY_63_32_IN(x)); \
493 		HWIO_INTFREE();\
494 	} while (0)
495 
496 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_VAL_BMSK                      0xffffffff
497 #define HWIO_TCL_R0_ASE_HASH_KEY_63_32_VAL_SHFT                             0x0
498 
499 //// Register TCL_R0_ASE_HASH_KEY_64 ////
500 
501 #define HWIO_TCL_R0_ASE_HASH_KEY_64_ADDR(x)                          (x+0x000004b8)
502 #define HWIO_TCL_R0_ASE_HASH_KEY_64_PHYS(x)                          (x+0x000004b8)
503 #define HWIO_TCL_R0_ASE_HASH_KEY_64_RMSK                             0x00000001
504 #define HWIO_TCL_R0_ASE_HASH_KEY_64_SHFT                                      0
505 #define HWIO_TCL_R0_ASE_HASH_KEY_64_IN(x)                            \
506 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_64_ADDR(x), HWIO_TCL_R0_ASE_HASH_KEY_64_RMSK)
507 #define HWIO_TCL_R0_ASE_HASH_KEY_64_INM(x, mask)                     \
508 	in_dword_masked ( HWIO_TCL_R0_ASE_HASH_KEY_64_ADDR(x), mask)
509 #define HWIO_TCL_R0_ASE_HASH_KEY_64_OUT(x, val)                      \
510 	out_dword( HWIO_TCL_R0_ASE_HASH_KEY_64_ADDR(x), val)
511 #define HWIO_TCL_R0_ASE_HASH_KEY_64_OUTM(x, mask, val)               \
512 	do {\
513 		HWIO_INTLOCK(); \
514 		out_dword_masked_ns(HWIO_TCL_R0_ASE_HASH_KEY_64_ADDR(x), mask, val, HWIO_TCL_R0_ASE_HASH_KEY_64_IN(x)); \
515 		HWIO_INTFREE();\
516 	} while (0)
517 
518 #define HWIO_TCL_R0_ASE_HASH_KEY_64_VAL_BMSK                         0x00000001
519 #define HWIO_TCL_R0_ASE_HASH_KEY_64_VAL_SHFT                                0x0
520 
521 //// Register TCL_R0_CONFIG_SEARCH_QUEUE ////
522 
523 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ADDR(x)                      (x+0x000004bc)
524 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_PHYS(x)                      (x+0x000004bc)
525 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_RMSK                         0x00fffdfc
526 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_SHFT                                  2
527 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_IN(x)                        \
528 	in_dword_masked ( HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ADDR(x), HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_RMSK)
529 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_INM(x, mask)                 \
530 	in_dword_masked ( HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ADDR(x), mask)
531 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_OUT(x, val)                  \
532 	out_dword( HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ADDR(x), val)
533 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_OUTM(x, mask, val)           \
534 	do {\
535 		HWIO_INTLOCK(); \
536 		out_dword_masked_ns(HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ADDR(x), mask, val, HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_IN(x)); \
537 		HWIO_INTFREE();\
538 	} while (0)
539 
540 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_MSDU_LEN_ERR_TO_FW_EN_BMSK   0x00800000
541 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_MSDU_LEN_ERR_TO_FW_EN_SHFT         0x17
542 
543 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_M0_FW_SEL_BMSK           0x00700000
544 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_M0_FW_SEL_SHFT                 0x14
545 
546 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ASE_M0_FW_SEL_BMSK           0x000e0000
547 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_ASE_M0_FW_SEL_SHFT                 0x11
548 
549 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_M0_FW_SEL_BMSK           0x0001c000
550 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_M0_FW_SEL_SHFT                  0xe
551 
552 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_DROP_BMSK           0x00002000
553 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_DROP_SHFT                  0xd
554 
555 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_DROP_BMSK           0x00001000
556 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_DROP_SHFT                  0xc
557 
558 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_LOOP_BMSK           0x00000800
559 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_LOOP_SHFT                  0xb
560 
561 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_LOOP_BMSK           0x00000400
562 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_LOOP_SHFT                  0xa
563 
564 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_PRIORITY_BMSK                0x000001c0
565 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_PRIORITY_SHFT                       0x6
566 
567 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_HANDLER_BMSK        0x00000030
568 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_CCE_FAIL_HANDLER_SHFT               0x4
569 
570 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_HANDLER_BMSK        0x0000000c
571 #define HWIO_TCL_R0_CONFIG_SEARCH_QUEUE_FSE_FAIL_HANDLER_SHFT               0x2
572 
573 //// Register TCL_R0_FSE_FAIL_QUEUE_NUM_LOW ////
574 
575 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_ADDR(x)                   (x+0x000004c0)
576 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_PHYS(x)                   (x+0x000004c0)
577 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_RMSK                      0xffffffff
578 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_SHFT                               0
579 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_IN(x)                     \
580 	in_dword_masked ( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_ADDR(x), HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_RMSK)
581 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_INM(x, mask)              \
582 	in_dword_masked ( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_ADDR(x), mask)
583 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_OUT(x, val)               \
584 	out_dword( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_ADDR(x), val)
585 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_OUTM(x, mask, val)        \
586 	do {\
587 		HWIO_INTLOCK(); \
588 		out_dword_masked_ns(HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_ADDR(x), mask, val, HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_IN(x)); \
589 		HWIO_INTFREE();\
590 	} while (0)
591 
592 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_VAL_BMSK                  0xffffffff
593 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_LOW_VAL_SHFT                         0x0
594 
595 //// Register TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH ////
596 
597 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_ADDR(x)                  (x+0x000004c4)
598 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_PHYS(x)                  (x+0x000004c4)
599 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_RMSK                     0x000000ff
600 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_SHFT                              0
601 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_IN(x)                    \
602 	in_dword_masked ( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_ADDR(x), HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_RMSK)
603 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_INM(x, mask)             \
604 	in_dword_masked ( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_ADDR(x), mask)
605 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_OUT(x, val)              \
606 	out_dword( HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_ADDR(x), val)
607 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_OUTM(x, mask, val)       \
608 	do {\
609 		HWIO_INTLOCK(); \
610 		out_dword_masked_ns(HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_ADDR(x), mask, val, HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_IN(x)); \
611 		HWIO_INTFREE();\
612 	} while (0)
613 
614 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_VAL_BMSK                 0x000000ff
615 #define HWIO_TCL_R0_FSE_FAIL_QUEUE_NUM_HIGH_VAL_SHFT                        0x0
616 
617 //// Register TCL_R0_CCE_FAIL_QUEUE_NUM_LOW ////
618 
619 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_ADDR(x)                   (x+0x000004c8)
620 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_PHYS(x)                   (x+0x000004c8)
621 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_RMSK                      0xffffffff
622 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_SHFT                               0
623 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_IN(x)                     \
624 	in_dword_masked ( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_ADDR(x), HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_RMSK)
625 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_INM(x, mask)              \
626 	in_dword_masked ( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_ADDR(x), mask)
627 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_OUT(x, val)               \
628 	out_dword( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_ADDR(x), val)
629 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_OUTM(x, mask, val)        \
630 	do {\
631 		HWIO_INTLOCK(); \
632 		out_dword_masked_ns(HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_ADDR(x), mask, val, HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_IN(x)); \
633 		HWIO_INTFREE();\
634 	} while (0)
635 
636 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_VAL_BMSK                  0xffffffff
637 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_LOW_VAL_SHFT                         0x0
638 
639 //// Register TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH ////
640 
641 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_ADDR(x)                  (x+0x000004cc)
642 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_PHYS(x)                  (x+0x000004cc)
643 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_RMSK                     0x000000ff
644 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_SHFT                              0
645 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_IN(x)                    \
646 	in_dword_masked ( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_ADDR(x), HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_RMSK)
647 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_INM(x, mask)             \
648 	in_dword_masked ( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_ADDR(x), mask)
649 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_OUT(x, val)              \
650 	out_dword( HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_ADDR(x), val)
651 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_OUTM(x, mask, val)       \
652 	do {\
653 		HWIO_INTLOCK(); \
654 		out_dword_masked_ns(HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_ADDR(x), mask, val, HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_IN(x)); \
655 		HWIO_INTFREE();\
656 	} while (0)
657 
658 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_VAL_BMSK                 0x000000ff
659 #define HWIO_TCL_R0_CCE_FAIL_QUEUE_NUM_HIGH_VAL_SHFT                        0x0
660 
661 //// Register TCL_R0_CONFIG_SEARCH_METADATA ////
662 
663 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_ADDR(x)                   (x+0x000004d0)
664 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_PHYS(x)                   (x+0x000004d0)
665 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_RMSK                      0xffffffff
666 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_SHFT                               0
667 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_IN(x)                     \
668 	in_dword_masked ( HWIO_TCL_R0_CONFIG_SEARCH_METADATA_ADDR(x), HWIO_TCL_R0_CONFIG_SEARCH_METADATA_RMSK)
669 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_INM(x, mask)              \
670 	in_dword_masked ( HWIO_TCL_R0_CONFIG_SEARCH_METADATA_ADDR(x), mask)
671 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_OUT(x, val)               \
672 	out_dword( HWIO_TCL_R0_CONFIG_SEARCH_METADATA_ADDR(x), val)
673 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_OUTM(x, mask, val)        \
674 	do {\
675 		HWIO_INTLOCK(); \
676 		out_dword_masked_ns(HWIO_TCL_R0_CONFIG_SEARCH_METADATA_ADDR(x), mask, val, HWIO_TCL_R0_CONFIG_SEARCH_METADATA_IN(x)); \
677 		HWIO_INTFREE();\
678 	} while (0)
679 
680 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_FSE_FAIL_NUM_BMSK         0xffff0000
681 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_FSE_FAIL_NUM_SHFT               0x10
682 
683 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_CCE_FAIL_NUM_BMSK         0x0000ffff
684 #define HWIO_TCL_R0_CONFIG_SEARCH_METADATA_CCE_FAIL_NUM_SHFT                0x0
685 
686 //// Register TCL_R0_TID_MAP_PRTY ////
687 
688 #define HWIO_TCL_R0_TID_MAP_PRTY_ADDR(x)                             (x+0x000004d4)
689 #define HWIO_TCL_R0_TID_MAP_PRTY_PHYS(x)                             (x+0x000004d4)
690 #define HWIO_TCL_R0_TID_MAP_PRTY_RMSK                                0x000000ef
691 #define HWIO_TCL_R0_TID_MAP_PRTY_SHFT                                         0
692 #define HWIO_TCL_R0_TID_MAP_PRTY_IN(x)                               \
693 	in_dword_masked ( HWIO_TCL_R0_TID_MAP_PRTY_ADDR(x), HWIO_TCL_R0_TID_MAP_PRTY_RMSK)
694 #define HWIO_TCL_R0_TID_MAP_PRTY_INM(x, mask)                        \
695 	in_dword_masked ( HWIO_TCL_R0_TID_MAP_PRTY_ADDR(x), mask)
696 #define HWIO_TCL_R0_TID_MAP_PRTY_OUT(x, val)                         \
697 	out_dword( HWIO_TCL_R0_TID_MAP_PRTY_ADDR(x), val)
698 #define HWIO_TCL_R0_TID_MAP_PRTY_OUTM(x, mask, val)                  \
699 	do {\
700 		HWIO_INTLOCK(); \
701 		out_dword_masked_ns(HWIO_TCL_R0_TID_MAP_PRTY_ADDR(x), mask, val, HWIO_TCL_R0_TID_MAP_PRTY_IN(x)); \
702 		HWIO_INTFREE();\
703 	} while (0)
704 
705 #define HWIO_TCL_R0_TID_MAP_PRTY_TID_DEF_BMSK                        0x000000e0
706 #define HWIO_TCL_R0_TID_MAP_PRTY_TID_DEF_SHFT                               0x5
707 
708 #define HWIO_TCL_R0_TID_MAP_PRTY_VAL_BMSK                            0x0000000f
709 #define HWIO_TCL_R0_TID_MAP_PRTY_VAL_SHFT                                   0x0
710 
711 //// Register TCL_R0_INVALID_APB_ACC_ADDR ////
712 
713 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_ADDR(x)                     (x+0x000004d8)
714 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_PHYS(x)                     (x+0x000004d8)
715 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_RMSK                        0xffffffff
716 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_SHFT                                 0
717 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_IN(x)                       \
718 	in_dword_masked ( HWIO_TCL_R0_INVALID_APB_ACC_ADDR_ADDR(x), HWIO_TCL_R0_INVALID_APB_ACC_ADDR_RMSK)
719 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_INM(x, mask)                \
720 	in_dword_masked ( HWIO_TCL_R0_INVALID_APB_ACC_ADDR_ADDR(x), mask)
721 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_OUT(x, val)                 \
722 	out_dword( HWIO_TCL_R0_INVALID_APB_ACC_ADDR_ADDR(x), val)
723 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_OUTM(x, mask, val)          \
724 	do {\
725 		HWIO_INTLOCK(); \
726 		out_dword_masked_ns(HWIO_TCL_R0_INVALID_APB_ACC_ADDR_ADDR(x), mask, val, HWIO_TCL_R0_INVALID_APB_ACC_ADDR_IN(x)); \
727 		HWIO_INTFREE();\
728 	} while (0)
729 
730 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_VAL_BMSK                    0xffffffff
731 #define HWIO_TCL_R0_INVALID_APB_ACC_ADDR_VAL_SHFT                           0x0
732 
733 //// Register TCL_R0_WATCHDOG ////
734 
735 #define HWIO_TCL_R0_WATCHDOG_ADDR(x)                                 (x+0x000004dc)
736 #define HWIO_TCL_R0_WATCHDOG_PHYS(x)                                 (x+0x000004dc)
737 #define HWIO_TCL_R0_WATCHDOG_RMSK                                    0xffffffff
738 #define HWIO_TCL_R0_WATCHDOG_SHFT                                             0
739 #define HWIO_TCL_R0_WATCHDOG_IN(x)                                   \
740 	in_dword_masked ( HWIO_TCL_R0_WATCHDOG_ADDR(x), HWIO_TCL_R0_WATCHDOG_RMSK)
741 #define HWIO_TCL_R0_WATCHDOG_INM(x, mask)                            \
742 	in_dword_masked ( HWIO_TCL_R0_WATCHDOG_ADDR(x), mask)
743 #define HWIO_TCL_R0_WATCHDOG_OUT(x, val)                             \
744 	out_dword( HWIO_TCL_R0_WATCHDOG_ADDR(x), val)
745 #define HWIO_TCL_R0_WATCHDOG_OUTM(x, mask, val)                      \
746 	do {\
747 		HWIO_INTLOCK(); \
748 		out_dword_masked_ns(HWIO_TCL_R0_WATCHDOG_ADDR(x), mask, val, HWIO_TCL_R0_WATCHDOG_IN(x)); \
749 		HWIO_INTFREE();\
750 	} while (0)
751 
752 #define HWIO_TCL_R0_WATCHDOG_STATUS_BMSK                             0xffff0000
753 #define HWIO_TCL_R0_WATCHDOG_STATUS_SHFT                                   0x10
754 
755 #define HWIO_TCL_R0_WATCHDOG_LIMIT_BMSK                              0x0000ffff
756 #define HWIO_TCL_R0_WATCHDOG_LIMIT_SHFT                                     0x0
757 
758 //// Register TCL_R0_LCE_RULE_n ////
759 
760 #define HWIO_TCL_R0_LCE_RULE_n_ADDR(base, n)                         (base+0x4E0+0x4*n)
761 #define HWIO_TCL_R0_LCE_RULE_n_PHYS(base, n)                         (base+0x4E0+0x4*n)
762 #define HWIO_TCL_R0_LCE_RULE_n_RMSK                                  0x007fffff
763 #define HWIO_TCL_R0_LCE_RULE_n_SHFT                                           0
764 #define HWIO_TCL_R0_LCE_RULE_n_MAXn                                          25
765 #define HWIO_TCL_R0_LCE_RULE_n_INI(base, n)                          \
766 	in_dword_masked ( HWIO_TCL_R0_LCE_RULE_n_ADDR(base, n), HWIO_TCL_R0_LCE_RULE_n_RMSK)
767 #define HWIO_TCL_R0_LCE_RULE_n_INMI(base, n, mask)                   \
768 	in_dword_masked ( HWIO_TCL_R0_LCE_RULE_n_ADDR(base, n), mask)
769 #define HWIO_TCL_R0_LCE_RULE_n_OUTI(base, n, val)                    \
770 	out_dword( HWIO_TCL_R0_LCE_RULE_n_ADDR(base, n), val)
771 #define HWIO_TCL_R0_LCE_RULE_n_OUTMI(base, n, mask, val)             \
772 	do {\
773 		HWIO_INTLOCK(); \
774 		out_dword_masked_ns(HWIO_TCL_R0_LCE_RULE_n_ADDR(base, n), mask, val, HWIO_TCL_R0_LCE_RULE_n_INI(base, n)); \
775 		HWIO_INTFREE();\
776 	} while (0)
777 
778 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_IP_PROT_BMSK                    0x00400000
779 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_IP_PROT_SHFT                          0x16
780 
781 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_DEST_ADDR_BIT_0_BMSK            0x00200000
782 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_DEST_ADDR_BIT_0_SHFT                  0x15
783 
784 #define HWIO_TCL_R0_LCE_RULE_n_TCP_OR_UDP_BMSK                       0x00180000
785 #define HWIO_TCL_R0_LCE_RULE_n_TCP_OR_UDP_SHFT                             0x13
786 
787 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_DEST_PORT_BMSK                  0x00040000
788 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_DEST_PORT_SHFT                        0x12
789 
790 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_SRC_PORT_BMSK                   0x00020000
791 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_SRC_PORT_SHFT                         0x11
792 
793 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_L3_TYPE_BMSK                    0x00010000
794 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_L3_TYPE_SHFT                          0x10
795 
796 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_VAL_BMSK                        0x0000ffff
797 #define HWIO_TCL_R0_LCE_RULE_n_MATCH_VAL_SHFT                               0x0
798 
799 //// Register TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n ////
800 
801 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_ADDR(base, n)       (base+0x548+0x4*n)
802 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_PHYS(base, n)       (base+0x548+0x4*n)
803 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_RMSK                0xffffffff
804 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_SHFT                         0
805 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_MAXn                        25
806 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_INI(base, n)        \
807 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_ADDR(base, n), HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_RMSK)
808 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_INMI(base, n, mask) \
809 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_ADDR(base, n), mask)
810 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_OUTI(base, n, val)  \
811 	out_dword( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_ADDR(base, n), val)
812 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_OUTMI(base, n, mask, val) \
813 	do {\
814 		HWIO_INTLOCK(); \
815 		out_dword_masked_ns(HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_ADDR(base, n), mask, val, HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_INI(base, n)); \
816 		HWIO_INTFREE();\
817 	} while (0)
818 
819 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_VAL_BMSK            0xffffffff
820 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_LSB_n_VAL_SHFT                   0x0
821 
822 //// Register TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n ////
823 
824 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_ADDR(base, n)       (base+0x5B0+0x4*n)
825 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_PHYS(base, n)       (base+0x5B0+0x4*n)
826 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_RMSK                0x000000ff
827 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_SHFT                         0
828 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_MAXn                        25
829 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_INI(base, n)        \
830 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_ADDR(base, n), HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_RMSK)
831 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_INMI(base, n, mask) \
832 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_ADDR(base, n), mask)
833 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_OUTI(base, n, val)  \
834 	out_dword( HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_ADDR(base, n), val)
835 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_OUTMI(base, n, mask, val) \
836 	do {\
837 		HWIO_INTLOCK(); \
838 		out_dword_masked_ns(HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_ADDR(base, n), mask, val, HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_INI(base, n)); \
839 		HWIO_INTFREE();\
840 	} while (0)
841 
842 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_VAL_BMSK            0x000000ff
843 #define HWIO_TCL_R0_LCE_CLFY_INFO_FLOW_PTR_MSB_n_VAL_SHFT                   0x0
844 
845 //// Register TCL_R0_LCE_CLFY_INFO_HANDLER_n ////
846 
847 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_ADDR(base, n)            (base+0x618+0x4*n)
848 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_PHYS(base, n)            (base+0x618+0x4*n)
849 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_RMSK                     0x003fffff
850 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_SHFT                              0
851 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_MAXn                             25
852 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_INI(base, n)             \
853 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_ADDR(base, n), HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_RMSK)
854 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_INMI(base, n, mask)      \
855 	in_dword_masked ( HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_ADDR(base, n), mask)
856 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_OUTI(base, n, val)       \
857 	out_dword( HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_ADDR(base, n), val)
858 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_OUTMI(base, n, mask, val) \
859 	do {\
860 		HWIO_INTLOCK(); \
861 		out_dword_masked_ns(HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_ADDR(base, n), mask, val, HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_INI(base, n)); \
862 		HWIO_INTFREE();\
863 	} while (0)
864 
865 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_RULE_HIT_BMSK            0x00200000
866 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_RULE_HIT_SHFT                  0x15
867 
868 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_METADATA_BMSK            0x001fffe0
869 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_METADATA_SHFT                   0x5
870 
871 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_MSDU_DROP_BMSK           0x00000010
872 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_MSDU_DROP_SHFT                  0x4
873 
874 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TO_TQM_IF_M0_FW_BMSK     0x00000008
875 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TO_TQM_IF_M0_FW_SHFT            0x3
876 
877 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TQM_FLOW_LOOP_HANDLER_BMSK 0x00000004
878 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TQM_FLOW_LOOP_HANDLER_SHFT        0x2
879 
880 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TQM_FLOW_HANDLER_BMSK    0x00000003
881 #define HWIO_TCL_R0_LCE_CLFY_INFO_HANDLER_n_TQM_FLOW_HANDLER_SHFT           0x0
882 
883 //// Register TCL_R0_CLKGATE_DISABLE ////
884 
885 #define HWIO_TCL_R0_CLKGATE_DISABLE_ADDR(x)                          (x+0x00000680)
886 #define HWIO_TCL_R0_CLKGATE_DISABLE_PHYS(x)                          (x+0x00000680)
887 #define HWIO_TCL_R0_CLKGATE_DISABLE_RMSK                             0xffffffff
888 #define HWIO_TCL_R0_CLKGATE_DISABLE_SHFT                                      0
889 #define HWIO_TCL_R0_CLKGATE_DISABLE_IN(x)                            \
890 	in_dword_masked ( HWIO_TCL_R0_CLKGATE_DISABLE_ADDR(x), HWIO_TCL_R0_CLKGATE_DISABLE_RMSK)
891 #define HWIO_TCL_R0_CLKGATE_DISABLE_INM(x, mask)                     \
892 	in_dword_masked ( HWIO_TCL_R0_CLKGATE_DISABLE_ADDR(x), mask)
893 #define HWIO_TCL_R0_CLKGATE_DISABLE_OUT(x, val)                      \
894 	out_dword( HWIO_TCL_R0_CLKGATE_DISABLE_ADDR(x), val)
895 #define HWIO_TCL_R0_CLKGATE_DISABLE_OUTM(x, mask, val)               \
896 	do {\
897 		HWIO_INTLOCK(); \
898 		out_dword_masked_ns(HWIO_TCL_R0_CLKGATE_DISABLE_ADDR(x), mask, val, HWIO_TCL_R0_CLKGATE_DISABLE_IN(x)); \
899 		HWIO_INTFREE();\
900 	} while (0)
901 
902 #define HWIO_TCL_R0_CLKGATE_DISABLE_CLK_ENS_EXTEND_BMSK              0x80000000
903 #define HWIO_TCL_R0_CLKGATE_DISABLE_CLK_ENS_EXTEND_SHFT                    0x1f
904 
905 #define HWIO_TCL_R0_CLKGATE_DISABLE_CPU_IF_EXTEND_BMSK               0x40000000
906 #define HWIO_TCL_R0_CLKGATE_DISABLE_CPU_IF_EXTEND_SHFT                     0x1e
907 
908 #define HWIO_TCL_R0_CLKGATE_DISABLE_APB_CLK_BMSK                     0x20000000
909 #define HWIO_TCL_R0_CLKGATE_DISABLE_APB_CLK_SHFT                           0x1d
910 
911 #define HWIO_TCL_R0_CLKGATE_DISABLE_FSE_BMSK                         0x10000000
912 #define HWIO_TCL_R0_CLKGATE_DISABLE_FSE_SHFT                               0x1c
913 
914 #define HWIO_TCL_R0_CLKGATE_DISABLE_CLFY_RES_MEM_BMSK                0x08000000
915 #define HWIO_TCL_R0_CLKGATE_DISABLE_CLFY_RES_MEM_SHFT                      0x1b
916 
917 #define HWIO_TCL_R0_CLKGATE_DISABLE_GSE_CTRL_BMSK                    0x04000000
918 #define HWIO_TCL_R0_CLKGATE_DISABLE_GSE_CTRL_SHFT                          0x1a
919 
920 #define HWIO_TCL_R0_CLKGATE_DISABLE_GSE_CCE_RES_BMSK                 0x02000000
921 #define HWIO_TCL_R0_CLKGATE_DISABLE_GSE_CCE_RES_SHFT                       0x19
922 
923 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2_STATUS2_PROD_RING_BMSK      0x01000000
924 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2_STATUS2_PROD_RING_SHFT            0x18
925 
926 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2_STATUS1_PROD_RING_BMSK      0x00800000
927 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2_STATUS1_PROD_RING_SHFT            0x17
928 
929 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2FW_PROD_RING_BMSK            0x00400000
930 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2FW_PROD_RING_SHFT                  0x16
931 
932 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2TQM_PROD_RING_BMSK           0x00200000
933 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL2TQM_PROD_RING_SHFT                 0x15
934 
935 #define HWIO_TCL_R0_CLKGATE_DISABLE_PROD_RING_CTRL_BMSK              0x00100000
936 #define HWIO_TCL_R0_CLKGATE_DISABLE_PROD_RING_CTRL_SHFT                    0x14
937 
938 #define HWIO_TCL_R0_CLKGATE_DISABLE_TLV_DECODE_BMSK                  0x00080000
939 #define HWIO_TCL_R0_CLKGATE_DISABLE_TLV_DECODE_SHFT                        0x13
940 
941 #define HWIO_TCL_R0_CLKGATE_DISABLE_TLV_GEN_BMSK                     0x00040000
942 #define HWIO_TCL_R0_CLKGATE_DISABLE_TLV_GEN_SHFT                           0x12
943 
944 #define HWIO_TCL_R0_CLKGATE_DISABLE_DATA_FETCH_BMSK                  0x00020000
945 #define HWIO_TCL_R0_CLKGATE_DISABLE_DATA_FETCH_SHFT                        0x11
946 
947 #define HWIO_TCL_R0_CLKGATE_DISABLE_DATA_BUF_BMSK                    0x00010000
948 #define HWIO_TCL_R0_CLKGATE_DISABLE_DATA_BUF_SHFT                          0x10
949 
950 #define HWIO_TCL_R0_CLKGATE_DISABLE_DESC_BUF_BMSK                    0x00008000
951 #define HWIO_TCL_R0_CLKGATE_DISABLE_DESC_BUF_SHFT                           0xf
952 
953 #define HWIO_TCL_R0_CLKGATE_DISABLE_DESC_RD_BMSK                     0x00004000
954 #define HWIO_TCL_R0_CLKGATE_DISABLE_DESC_RD_SHFT                            0xe
955 
956 #define HWIO_TCL_R0_CLKGATE_DISABLE_ASE_BMSK                         0x00002000
957 #define HWIO_TCL_R0_CLKGATE_DISABLE_ASE_SHFT                                0xd
958 
959 #define HWIO_TCL_R0_CLKGATE_DISABLE_GXI_BMSK                         0x00001000
960 #define HWIO_TCL_R0_CLKGATE_DISABLE_GXI_SHFT                                0xc
961 
962 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_3_BMSK                    0x00000800
963 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_3_SHFT                           0xb
964 
965 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_2_BMSK                    0x00000400
966 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_2_SHFT                           0xa
967 
968 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_1_BMSK                    0x00000200
969 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_1_SHFT                           0x9
970 
971 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_0_BMSK                    0x00000100
972 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_P_0_SHFT                           0x8
973 
974 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_4_BMSK                    0x00000080
975 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_4_SHFT                           0x7
976 
977 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_3_BMSK                    0x00000040
978 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_3_SHFT                           0x6
979 
980 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_2_BMSK                    0x00000020
981 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_2_SHFT                           0x5
982 
983 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_1_BMSK                    0x00000010
984 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_1_SHFT                           0x4
985 
986 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_0_BMSK                    0x00000008
987 #define HWIO_TCL_R0_CLKGATE_DISABLE_SRNG_C_0_SHFT                           0x3
988 
989 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL_IDLE_REQ_SM_BMSK             0x00000004
990 #define HWIO_TCL_R0_CLKGATE_DISABLE_TCL_IDLE_REQ_SM_SHFT                    0x2
991 
992 #define HWIO_TCL_R0_CLKGATE_DISABLE_LCE_CCE_BMSK                     0x00000002
993 #define HWIO_TCL_R0_CLKGATE_DISABLE_LCE_CCE_SHFT                            0x1
994 
995 #define HWIO_TCL_R0_CLKGATE_DISABLE_PARSER_BMSK                      0x00000001
996 #define HWIO_TCL_R0_CLKGATE_DISABLE_PARSER_SHFT                             0x0
997 
998 //// Register TCL_R0_CREDIT_COUNT ////
999 
1000 #define HWIO_TCL_R0_CREDIT_COUNT_ADDR(x)                             (x+0x00000684)
1001 #define HWIO_TCL_R0_CREDIT_COUNT_PHYS(x)                             (x+0x00000684)
1002 #define HWIO_TCL_R0_CREDIT_COUNT_RMSK                                0x0001ffff
1003 #define HWIO_TCL_R0_CREDIT_COUNT_SHFT                                         0
1004 #define HWIO_TCL_R0_CREDIT_COUNT_IN(x)                               \
1005 	in_dword_masked ( HWIO_TCL_R0_CREDIT_COUNT_ADDR(x), HWIO_TCL_R0_CREDIT_COUNT_RMSK)
1006 #define HWIO_TCL_R0_CREDIT_COUNT_INM(x, mask)                        \
1007 	in_dword_masked ( HWIO_TCL_R0_CREDIT_COUNT_ADDR(x), mask)
1008 #define HWIO_TCL_R0_CREDIT_COUNT_OUT(x, val)                         \
1009 	out_dword( HWIO_TCL_R0_CREDIT_COUNT_ADDR(x), val)
1010 #define HWIO_TCL_R0_CREDIT_COUNT_OUTM(x, mask, val)                  \
1011 	do {\
1012 		HWIO_INTLOCK(); \
1013 		out_dword_masked_ns(HWIO_TCL_R0_CREDIT_COUNT_ADDR(x), mask, val, HWIO_TCL_R0_CREDIT_COUNT_IN(x)); \
1014 		HWIO_INTFREE();\
1015 	} while (0)
1016 
1017 #define HWIO_TCL_R0_CREDIT_COUNT_ENABLE_BMSK                         0x00010000
1018 #define HWIO_TCL_R0_CREDIT_COUNT_ENABLE_SHFT                               0x10
1019 
1020 #define HWIO_TCL_R0_CREDIT_COUNT_VAL_BMSK                            0x0000ffff
1021 #define HWIO_TCL_R0_CREDIT_COUNT_VAL_SHFT                                   0x0
1022 
1023 //// Register TCL_R0_CURRENT_CREDIT_COUNT ////
1024 
1025 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_ADDR(x)                     (x+0x00000688)
1026 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_PHYS(x)                     (x+0x00000688)
1027 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_RMSK                        0x0000ffff
1028 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_SHFT                                 0
1029 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_IN(x)                       \
1030 	in_dword_masked ( HWIO_TCL_R0_CURRENT_CREDIT_COUNT_ADDR(x), HWIO_TCL_R0_CURRENT_CREDIT_COUNT_RMSK)
1031 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_INM(x, mask)                \
1032 	in_dword_masked ( HWIO_TCL_R0_CURRENT_CREDIT_COUNT_ADDR(x), mask)
1033 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_OUT(x, val)                 \
1034 	out_dword( HWIO_TCL_R0_CURRENT_CREDIT_COUNT_ADDR(x), val)
1035 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_OUTM(x, mask, val)          \
1036 	do {\
1037 		HWIO_INTLOCK(); \
1038 		out_dword_masked_ns(HWIO_TCL_R0_CURRENT_CREDIT_COUNT_ADDR(x), mask, val, HWIO_TCL_R0_CURRENT_CREDIT_COUNT_IN(x)); \
1039 		HWIO_INTFREE();\
1040 	} while (0)
1041 
1042 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_VAL_BMSK                    0x0000ffff
1043 #define HWIO_TCL_R0_CURRENT_CREDIT_COUNT_VAL_SHFT                           0x0
1044 
1045 //// Register TCL_R0_S_PARE_REGISTER ////
1046 
1047 #define HWIO_TCL_R0_S_PARE_REGISTER_ADDR(x)                          (x+0x0000068c)
1048 #define HWIO_TCL_R0_S_PARE_REGISTER_PHYS(x)                          (x+0x0000068c)
1049 #define HWIO_TCL_R0_S_PARE_REGISTER_RMSK                             0xffffffff
1050 #define HWIO_TCL_R0_S_PARE_REGISTER_SHFT                                      0
1051 #define HWIO_TCL_R0_S_PARE_REGISTER_IN(x)                            \
1052 	in_dword_masked ( HWIO_TCL_R0_S_PARE_REGISTER_ADDR(x), HWIO_TCL_R0_S_PARE_REGISTER_RMSK)
1053 #define HWIO_TCL_R0_S_PARE_REGISTER_INM(x, mask)                     \
1054 	in_dword_masked ( HWIO_TCL_R0_S_PARE_REGISTER_ADDR(x), mask)
1055 #define HWIO_TCL_R0_S_PARE_REGISTER_OUT(x, val)                      \
1056 	out_dword( HWIO_TCL_R0_S_PARE_REGISTER_ADDR(x), val)
1057 #define HWIO_TCL_R0_S_PARE_REGISTER_OUTM(x, mask, val)               \
1058 	do {\
1059 		HWIO_INTLOCK(); \
1060 		out_dword_masked_ns(HWIO_TCL_R0_S_PARE_REGISTER_ADDR(x), mask, val, HWIO_TCL_R0_S_PARE_REGISTER_IN(x)); \
1061 		HWIO_INTFREE();\
1062 	} while (0)
1063 
1064 #define HWIO_TCL_R0_S_PARE_REGISTER_VAL_BMSK                         0xffffffff
1065 #define HWIO_TCL_R0_S_PARE_REGISTER_VAL_SHFT                                0x0
1066 
1067 //// Register TCL_R0_MISC_CTRL ////
1068 
1069 #define HWIO_TCL_R0_MISC_CTRL_ADDR(x)                                (x+0x00000690)
1070 #define HWIO_TCL_R0_MISC_CTRL_PHYS(x)                                (x+0x00000690)
1071 #define HWIO_TCL_R0_MISC_CTRL_RMSK                                   0x00000003
1072 #define HWIO_TCL_R0_MISC_CTRL_SHFT                                            0
1073 #define HWIO_TCL_R0_MISC_CTRL_IN(x)                                  \
1074 	in_dword_masked ( HWIO_TCL_R0_MISC_CTRL_ADDR(x), HWIO_TCL_R0_MISC_CTRL_RMSK)
1075 #define HWIO_TCL_R0_MISC_CTRL_INM(x, mask)                           \
1076 	in_dword_masked ( HWIO_TCL_R0_MISC_CTRL_ADDR(x), mask)
1077 #define HWIO_TCL_R0_MISC_CTRL_OUT(x, val)                            \
1078 	out_dword( HWIO_TCL_R0_MISC_CTRL_ADDR(x), val)
1079 #define HWIO_TCL_R0_MISC_CTRL_OUTM(x, mask, val)                     \
1080 	do {\
1081 		HWIO_INTLOCK(); \
1082 		out_dword_masked_ns(HWIO_TCL_R0_MISC_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_MISC_CTRL_IN(x)); \
1083 		HWIO_INTFREE();\
1084 	} while (0)
1085 
1086 #define HWIO_TCL_R0_MISC_CTRL_DATA_CORRUPT_FIX_DISABLE_CHK_BIT_BMSK  0x00000002
1087 #define HWIO_TCL_R0_MISC_CTRL_DATA_CORRUPT_FIX_DISABLE_CHK_BIT_SHFT         0x1
1088 
1089 #define HWIO_TCL_R0_MISC_CTRL_MSI_DISABLE_CHK_BIT_BMSK               0x00000001
1090 #define HWIO_TCL_R0_MISC_CTRL_MSI_DISABLE_CHK_BIT_SHFT                      0x0
1091 
1092 //// Register TCL_R0_SW2TCL1_RING_BASE_LSB ////
1093 
1094 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_ADDR(x)                    (x+0x00000694)
1095 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_PHYS(x)                    (x+0x00000694)
1096 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_RMSK                       0xffffffff
1097 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_SHFT                                0
1098 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_IN(x)                      \
1099 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_RMSK)
1100 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_INM(x, mask)               \
1101 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_ADDR(x), mask)
1102 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_OUT(x, val)                \
1103 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_ADDR(x), val)
1104 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_OUTM(x, mask, val)         \
1105 	do {\
1106 		HWIO_INTLOCK(); \
1107 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_IN(x)); \
1108 		HWIO_INTFREE();\
1109 	} while (0)
1110 
1111 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK    0xffffffff
1112 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT           0x0
1113 
1114 //// Register TCL_R0_SW2TCL1_RING_BASE_MSB ////
1115 
1116 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_ADDR(x)                    (x+0x00000698)
1117 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_PHYS(x)                    (x+0x00000698)
1118 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RMSK                       0x0fffffff
1119 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_SHFT                                0
1120 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_IN(x)                      \
1121 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RMSK)
1122 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_INM(x, mask)               \
1123 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_ADDR(x), mask)
1124 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_OUT(x, val)                \
1125 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_ADDR(x), val)
1126 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_OUTM(x, mask, val)         \
1127 	do {\
1128 		HWIO_INTLOCK(); \
1129 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_IN(x)); \
1130 		HWIO_INTFREE();\
1131 	} while (0)
1132 
1133 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RING_SIZE_BMSK             0x0fffff00
1134 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RING_SIZE_SHFT                    0x8
1135 
1136 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK    0x000000ff
1137 #define HWIO_TCL_R0_SW2TCL1_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT           0x0
1138 
1139 //// Register TCL_R0_SW2TCL1_RING_ID ////
1140 
1141 #define HWIO_TCL_R0_SW2TCL1_RING_ID_ADDR(x)                          (x+0x0000069c)
1142 #define HWIO_TCL_R0_SW2TCL1_RING_ID_PHYS(x)                          (x+0x0000069c)
1143 #define HWIO_TCL_R0_SW2TCL1_RING_ID_RMSK                             0x000000ff
1144 #define HWIO_TCL_R0_SW2TCL1_RING_ID_SHFT                                      0
1145 #define HWIO_TCL_R0_SW2TCL1_RING_ID_IN(x)                            \
1146 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_ID_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_ID_RMSK)
1147 #define HWIO_TCL_R0_SW2TCL1_RING_ID_INM(x, mask)                     \
1148 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_ID_ADDR(x), mask)
1149 #define HWIO_TCL_R0_SW2TCL1_RING_ID_OUT(x, val)                      \
1150 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_ID_ADDR(x), val)
1151 #define HWIO_TCL_R0_SW2TCL1_RING_ID_OUTM(x, mask, val)               \
1152 	do {\
1153 		HWIO_INTLOCK(); \
1154 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_ID_IN(x)); \
1155 		HWIO_INTFREE();\
1156 	} while (0)
1157 
1158 #define HWIO_TCL_R0_SW2TCL1_RING_ID_ENTRY_SIZE_BMSK                  0x000000ff
1159 #define HWIO_TCL_R0_SW2TCL1_RING_ID_ENTRY_SIZE_SHFT                         0x0
1160 
1161 //// Register TCL_R0_SW2TCL1_RING_STATUS ////
1162 
1163 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_ADDR(x)                      (x+0x000006a0)
1164 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_PHYS(x)                      (x+0x000006a0)
1165 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_RMSK                         0xffffffff
1166 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_SHFT                                  0
1167 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_IN(x)                        \
1168 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_STATUS_RMSK)
1169 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_INM(x, mask)                 \
1170 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_STATUS_ADDR(x), mask)
1171 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_OUT(x, val)                  \
1172 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_STATUS_ADDR(x), val)
1173 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_OUTM(x, mask, val)           \
1174 	do {\
1175 		HWIO_INTLOCK(); \
1176 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_STATUS_IN(x)); \
1177 		HWIO_INTFREE();\
1178 	} while (0)
1179 
1180 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_NUM_AVAIL_WORDS_BMSK         0xffff0000
1181 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_NUM_AVAIL_WORDS_SHFT               0x10
1182 
1183 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_NUM_VALID_WORDS_BMSK         0x0000ffff
1184 #define HWIO_TCL_R0_SW2TCL1_RING_STATUS_NUM_VALID_WORDS_SHFT                0x0
1185 
1186 //// Register TCL_R0_SW2TCL1_RING_MISC ////
1187 
1188 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_ADDR(x)                        (x+0x000006a4)
1189 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_PHYS(x)                        (x+0x000006a4)
1190 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_RMSK                           0x003fffff
1191 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SHFT                                    0
1192 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_IN(x)                          \
1193 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MISC_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_MISC_RMSK)
1194 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_INM(x, mask)                   \
1195 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MISC_ADDR(x), mask)
1196 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_OUT(x, val)                    \
1197 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_MISC_ADDR(x), val)
1198 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_OUTM(x, mask, val)             \
1199 	do {\
1200 		HWIO_INTLOCK(); \
1201 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_MISC_IN(x)); \
1202 		HWIO_INTFREE();\
1203 	} while (0)
1204 
1205 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SPARE_CONTROL_BMSK             0x003fc000
1206 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SPARE_CONTROL_SHFT                    0xe
1207 
1208 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_SM_STATE2_BMSK            0x00003000
1209 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_SM_STATE2_SHFT                   0xc
1210 
1211 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_SM_STATE1_BMSK            0x00000f00
1212 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_SM_STATE1_SHFT                   0x8
1213 
1214 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_IS_IDLE_BMSK              0x00000080
1215 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_IS_IDLE_SHFT                     0x7
1216 
1217 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_ENABLE_BMSK               0x00000040
1218 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SRNG_ENABLE_SHFT                      0x6
1219 
1220 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_DATA_TLV_SWAP_BIT_BMSK         0x00000020
1221 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                0x5
1222 
1223 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_HOST_FW_SWAP_BIT_BMSK          0x00000010
1224 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_HOST_FW_SWAP_BIT_SHFT                 0x4
1225 
1226 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_MSI_SWAP_BIT_BMSK              0x00000008
1227 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_MSI_SWAP_BIT_SHFT                     0x3
1228 
1229 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SECURITY_BIT_BMSK              0x00000004
1230 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_SECURITY_BIT_SHFT                     0x2
1231 
1232 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_LOOPCNT_DISABLE_BMSK           0x00000002
1233 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_LOOPCNT_DISABLE_SHFT                  0x1
1234 
1235 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_RING_ID_DISABLE_BMSK           0x00000001
1236 #define HWIO_TCL_R0_SW2TCL1_RING_MISC_RING_ID_DISABLE_SHFT                  0x0
1237 
1238 //// Register TCL_R0_SW2TCL1_RING_TP_ADDR_LSB ////
1239 
1240 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_ADDR(x)                 (x+0x000006b0)
1241 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_PHYS(x)                 (x+0x000006b0)
1242 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_RMSK                    0xffffffff
1243 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_SHFT                             0
1244 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_IN(x)                   \
1245 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_RMSK)
1246 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_INM(x, mask)            \
1247 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_ADDR(x), mask)
1248 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_OUT(x, val)             \
1249 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_ADDR(x), val)
1250 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_OUTM(x, mask, val)      \
1251 	do {\
1252 		HWIO_INTLOCK(); \
1253 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_IN(x)); \
1254 		HWIO_INTFREE();\
1255 	} while (0)
1256 
1257 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
1258 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
1259 
1260 //// Register TCL_R0_SW2TCL1_RING_TP_ADDR_MSB ////
1261 
1262 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_ADDR(x)                 (x+0x000006b4)
1263 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_PHYS(x)                 (x+0x000006b4)
1264 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_RMSK                    0x000000ff
1265 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_SHFT                             0
1266 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_IN(x)                   \
1267 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_RMSK)
1268 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_INM(x, mask)            \
1269 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_ADDR(x), mask)
1270 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_OUT(x, val)             \
1271 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_ADDR(x), val)
1272 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_OUTM(x, mask, val)      \
1273 	do {\
1274 		HWIO_INTLOCK(); \
1275 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_IN(x)); \
1276 		HWIO_INTFREE();\
1277 	} while (0)
1278 
1279 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
1280 #define HWIO_TCL_R0_SW2TCL1_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
1281 
1282 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0 ////
1283 
1284 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)      (x+0x000006c4)
1285 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)      (x+0x000006c4)
1286 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_RMSK         0xffffffff
1287 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SHFT                  0
1288 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_IN(x)        \
1289 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_RMSK)
1290 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
1291 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
1292 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val)  \
1293 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
1294 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
1295 	do {\
1296 		HWIO_INTLOCK(); \
1297 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
1298 		HWIO_INTFREE();\
1299 	} while (0)
1300 
1301 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
1302 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
1303 
1304 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
1305 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
1306 
1307 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
1308 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
1309 
1310 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1 ////
1311 
1312 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)      (x+0x000006c8)
1313 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)      (x+0x000006c8)
1314 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_RMSK         0x0000ffff
1315 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_SHFT                  0
1316 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_IN(x)        \
1317 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_RMSK)
1318 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
1319 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
1320 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val)  \
1321 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
1322 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
1323 	do {\
1324 		HWIO_INTLOCK(); \
1325 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
1326 		HWIO_INTFREE();\
1327 	} while (0)
1328 
1329 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
1330 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
1331 
1332 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS ////
1333 
1334 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x)         (x+0x000006cc)
1335 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_PHYS(x)         (x+0x000006cc)
1336 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_RMSK            0xffffffff
1337 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_SHFT                     0
1338 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_IN(x)           \
1339 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_RMSK)
1340 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_INM(x, mask)    \
1341 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
1342 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_OUT(x, val)     \
1343 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), val)
1344 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
1345 	do {\
1346 		HWIO_INTLOCK(); \
1347 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_IN(x)); \
1348 		HWIO_INTFREE();\
1349 	} while (0)
1350 
1351 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
1352 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
1353 
1354 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
1355 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
1356 
1357 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
1358 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
1359 
1360 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER ////
1361 
1362 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)      (x+0x000006d0)
1363 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)      (x+0x000006d0)
1364 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RMSK         0x000003ff
1365 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_SHFT                  0
1366 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_IN(x)        \
1367 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RMSK)
1368 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
1369 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
1370 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val)  \
1371 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
1372 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
1373 	do {\
1374 		HWIO_INTLOCK(); \
1375 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
1376 		HWIO_INTFREE();\
1377 	} while (0)
1378 
1379 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
1380 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
1381 
1382 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER ////
1383 
1384 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)     (x+0x000006d4)
1385 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)     (x+0x000006d4)
1386 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_RMSK        0x00000007
1387 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_SHFT                 0
1388 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_IN(x)       \
1389 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_RMSK)
1390 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
1391 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
1392 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
1393 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
1394 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
1395 	do {\
1396 		HWIO_INTLOCK(); \
1397 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
1398 		HWIO_INTFREE();\
1399 	} while (0)
1400 
1401 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK   0x00000007
1402 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT          0x0
1403 
1404 //// Register TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS ////
1405 
1406 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x)    (x+0x000006d8)
1407 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PHYS(x)    (x+0x000006d8)
1408 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_RMSK       0x0fffffff
1409 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_SHFT                0
1410 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_IN(x)      \
1411 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_RMSK)
1412 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
1413 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
1414 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
1415 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
1416 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
1417 	do {\
1418 		HWIO_INTLOCK(); \
1419 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
1420 		HWIO_INTFREE();\
1421 	} while (0)
1422 
1423 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x0ff00000
1424 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x14
1425 
1426 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x000fffff
1427 #define HWIO_TCL_R0_SW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
1428 
1429 //// Register TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB ////
1430 
1431 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR(x)               (x+0x000006dc)
1432 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_PHYS(x)               (x+0x000006dc)
1433 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_RMSK                  0xffffffff
1434 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_SHFT                           0
1435 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_IN(x)                 \
1436 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_RMSK)
1437 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_INM(x, mask)          \
1438 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), mask)
1439 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_OUT(x, val)           \
1440 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), val)
1441 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_OUTM(x, mask, val)    \
1442 	do {\
1443 		HWIO_INTLOCK(); \
1444 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_IN(x)); \
1445 		HWIO_INTFREE();\
1446 	} while (0)
1447 
1448 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR_BMSK             0xffffffff
1449 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_LSB_ADDR_SHFT                    0x0
1450 
1451 //// Register TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB ////
1452 
1453 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR(x)               (x+0x000006e0)
1454 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_PHYS(x)               (x+0x000006e0)
1455 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_RMSK                  0x000001ff
1456 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_SHFT                           0
1457 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_IN(x)                 \
1458 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_RMSK)
1459 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_INM(x, mask)          \
1460 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), mask)
1461 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_OUT(x, val)           \
1462 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), val)
1463 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_OUTM(x, mask, val)    \
1464 	do {\
1465 		HWIO_INTLOCK(); \
1466 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_IN(x)); \
1467 		HWIO_INTFREE();\
1468 	} while (0)
1469 
1470 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK      0x00000100
1471 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT             0x8
1472 
1473 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR_BMSK             0x000000ff
1474 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_BASE_MSB_ADDR_SHFT                    0x0
1475 
1476 //// Register TCL_R0_SW2TCL1_RING_MSI1_DATA ////
1477 
1478 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_ADDR(x)                   (x+0x000006e4)
1479 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_PHYS(x)                   (x+0x000006e4)
1480 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_RMSK                      0xffffffff
1481 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_SHFT                               0
1482 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_IN(x)                     \
1483 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_RMSK)
1484 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_INM(x, mask)              \
1485 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_ADDR(x), mask)
1486 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_OUT(x, val)               \
1487 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_ADDR(x), val)
1488 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_OUTM(x, mask, val)        \
1489 	do {\
1490 		HWIO_INTLOCK(); \
1491 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_IN(x)); \
1492 		HWIO_INTFREE();\
1493 	} while (0)
1494 
1495 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_VALUE_BMSK                0xffffffff
1496 #define HWIO_TCL_R0_SW2TCL1_RING_MSI1_DATA_VALUE_SHFT                       0x0
1497 
1498 //// Register TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET ////
1499 
1500 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x)             (x+0x000006e8)
1501 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_PHYS(x)             (x+0x000006e8)
1502 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_RMSK                0x0000ffff
1503 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_SHFT                         0
1504 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_IN(x)               \
1505 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_RMSK)
1506 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_INM(x, mask)        \
1507 	in_dword_masked ( HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
1508 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_OUT(x, val)         \
1509 	out_dword( HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), val)
1510 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)  \
1511 	do {\
1512 		HWIO_INTLOCK(); \
1513 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_IN(x)); \
1514 		HWIO_INTFREE();\
1515 	} while (0)
1516 
1517 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
1518 #define HWIO_TCL_R0_SW2TCL1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
1519 
1520 //// Register TCL_R0_SW2TCL2_RING_BASE_LSB ////
1521 
1522 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_ADDR(x)                    (x+0x000006ec)
1523 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_PHYS(x)                    (x+0x000006ec)
1524 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_RMSK                       0xffffffff
1525 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_SHFT                                0
1526 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_IN(x)                      \
1527 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_RMSK)
1528 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_INM(x, mask)               \
1529 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_ADDR(x), mask)
1530 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_OUT(x, val)                \
1531 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_ADDR(x), val)
1532 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_OUTM(x, mask, val)         \
1533 	do {\
1534 		HWIO_INTLOCK(); \
1535 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_IN(x)); \
1536 		HWIO_INTFREE();\
1537 	} while (0)
1538 
1539 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK    0xffffffff
1540 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT           0x0
1541 
1542 //// Register TCL_R0_SW2TCL2_RING_BASE_MSB ////
1543 
1544 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_ADDR(x)                    (x+0x000006f0)
1545 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_PHYS(x)                    (x+0x000006f0)
1546 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RMSK                       0x0fffffff
1547 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_SHFT                                0
1548 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_IN(x)                      \
1549 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RMSK)
1550 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_INM(x, mask)               \
1551 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_ADDR(x), mask)
1552 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_OUT(x, val)                \
1553 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_ADDR(x), val)
1554 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_OUTM(x, mask, val)         \
1555 	do {\
1556 		HWIO_INTLOCK(); \
1557 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_IN(x)); \
1558 		HWIO_INTFREE();\
1559 	} while (0)
1560 
1561 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RING_SIZE_BMSK             0x0fffff00
1562 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RING_SIZE_SHFT                    0x8
1563 
1564 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK    0x000000ff
1565 #define HWIO_TCL_R0_SW2TCL2_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT           0x0
1566 
1567 //// Register TCL_R0_SW2TCL2_RING_ID ////
1568 
1569 #define HWIO_TCL_R0_SW2TCL2_RING_ID_ADDR(x)                          (x+0x000006f4)
1570 #define HWIO_TCL_R0_SW2TCL2_RING_ID_PHYS(x)                          (x+0x000006f4)
1571 #define HWIO_TCL_R0_SW2TCL2_RING_ID_RMSK                             0x000000ff
1572 #define HWIO_TCL_R0_SW2TCL2_RING_ID_SHFT                                      0
1573 #define HWIO_TCL_R0_SW2TCL2_RING_ID_IN(x)                            \
1574 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_ID_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_ID_RMSK)
1575 #define HWIO_TCL_R0_SW2TCL2_RING_ID_INM(x, mask)                     \
1576 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_ID_ADDR(x), mask)
1577 #define HWIO_TCL_R0_SW2TCL2_RING_ID_OUT(x, val)                      \
1578 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_ID_ADDR(x), val)
1579 #define HWIO_TCL_R0_SW2TCL2_RING_ID_OUTM(x, mask, val)               \
1580 	do {\
1581 		HWIO_INTLOCK(); \
1582 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_ID_IN(x)); \
1583 		HWIO_INTFREE();\
1584 	} while (0)
1585 
1586 #define HWIO_TCL_R0_SW2TCL2_RING_ID_ENTRY_SIZE_BMSK                  0x000000ff
1587 #define HWIO_TCL_R0_SW2TCL2_RING_ID_ENTRY_SIZE_SHFT                         0x0
1588 
1589 //// Register TCL_R0_SW2TCL2_RING_STATUS ////
1590 
1591 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_ADDR(x)                      (x+0x000006f8)
1592 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_PHYS(x)                      (x+0x000006f8)
1593 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_RMSK                         0xffffffff
1594 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_SHFT                                  0
1595 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_IN(x)                        \
1596 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_STATUS_RMSK)
1597 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_INM(x, mask)                 \
1598 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_STATUS_ADDR(x), mask)
1599 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_OUT(x, val)                  \
1600 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_STATUS_ADDR(x), val)
1601 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_OUTM(x, mask, val)           \
1602 	do {\
1603 		HWIO_INTLOCK(); \
1604 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_STATUS_IN(x)); \
1605 		HWIO_INTFREE();\
1606 	} while (0)
1607 
1608 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_NUM_AVAIL_WORDS_BMSK         0xffff0000
1609 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_NUM_AVAIL_WORDS_SHFT               0x10
1610 
1611 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_NUM_VALID_WORDS_BMSK         0x0000ffff
1612 #define HWIO_TCL_R0_SW2TCL2_RING_STATUS_NUM_VALID_WORDS_SHFT                0x0
1613 
1614 //// Register TCL_R0_SW2TCL2_RING_MISC ////
1615 
1616 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_ADDR(x)                        (x+0x000006fc)
1617 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_PHYS(x)                        (x+0x000006fc)
1618 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_RMSK                           0x003fffff
1619 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SHFT                                    0
1620 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_IN(x)                          \
1621 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MISC_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_MISC_RMSK)
1622 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_INM(x, mask)                   \
1623 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MISC_ADDR(x), mask)
1624 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_OUT(x, val)                    \
1625 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_MISC_ADDR(x), val)
1626 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_OUTM(x, mask, val)             \
1627 	do {\
1628 		HWIO_INTLOCK(); \
1629 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_MISC_IN(x)); \
1630 		HWIO_INTFREE();\
1631 	} while (0)
1632 
1633 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SPARE_CONTROL_BMSK             0x003fc000
1634 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SPARE_CONTROL_SHFT                    0xe
1635 
1636 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_SM_STATE2_BMSK            0x00003000
1637 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_SM_STATE2_SHFT                   0xc
1638 
1639 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_SM_STATE1_BMSK            0x00000f00
1640 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_SM_STATE1_SHFT                   0x8
1641 
1642 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_IS_IDLE_BMSK              0x00000080
1643 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_IS_IDLE_SHFT                     0x7
1644 
1645 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_ENABLE_BMSK               0x00000040
1646 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SRNG_ENABLE_SHFT                      0x6
1647 
1648 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_DATA_TLV_SWAP_BIT_BMSK         0x00000020
1649 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                0x5
1650 
1651 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_HOST_FW_SWAP_BIT_BMSK          0x00000010
1652 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_HOST_FW_SWAP_BIT_SHFT                 0x4
1653 
1654 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_MSI_SWAP_BIT_BMSK              0x00000008
1655 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_MSI_SWAP_BIT_SHFT                     0x3
1656 
1657 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SECURITY_BIT_BMSK              0x00000004
1658 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_SECURITY_BIT_SHFT                     0x2
1659 
1660 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_LOOPCNT_DISABLE_BMSK           0x00000002
1661 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_LOOPCNT_DISABLE_SHFT                  0x1
1662 
1663 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_RING_ID_DISABLE_BMSK           0x00000001
1664 #define HWIO_TCL_R0_SW2TCL2_RING_MISC_RING_ID_DISABLE_SHFT                  0x0
1665 
1666 //// Register TCL_R0_SW2TCL2_RING_TP_ADDR_LSB ////
1667 
1668 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_ADDR(x)                 (x+0x00000708)
1669 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_PHYS(x)                 (x+0x00000708)
1670 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_RMSK                    0xffffffff
1671 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_SHFT                             0
1672 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_IN(x)                   \
1673 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_RMSK)
1674 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_INM(x, mask)            \
1675 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_ADDR(x), mask)
1676 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_OUT(x, val)             \
1677 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_ADDR(x), val)
1678 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_OUTM(x, mask, val)      \
1679 	do {\
1680 		HWIO_INTLOCK(); \
1681 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_IN(x)); \
1682 		HWIO_INTFREE();\
1683 	} while (0)
1684 
1685 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
1686 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
1687 
1688 //// Register TCL_R0_SW2TCL2_RING_TP_ADDR_MSB ////
1689 
1690 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_ADDR(x)                 (x+0x0000070c)
1691 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_PHYS(x)                 (x+0x0000070c)
1692 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_RMSK                    0x000000ff
1693 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_SHFT                             0
1694 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_IN(x)                   \
1695 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_RMSK)
1696 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_INM(x, mask)            \
1697 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_ADDR(x), mask)
1698 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_OUT(x, val)             \
1699 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_ADDR(x), val)
1700 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_OUTM(x, mask, val)      \
1701 	do {\
1702 		HWIO_INTLOCK(); \
1703 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_IN(x)); \
1704 		HWIO_INTFREE();\
1705 	} while (0)
1706 
1707 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
1708 #define HWIO_TCL_R0_SW2TCL2_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
1709 
1710 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0 ////
1711 
1712 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)      (x+0x0000071c)
1713 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)      (x+0x0000071c)
1714 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_RMSK         0xffffffff
1715 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_SHFT                  0
1716 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_IN(x)        \
1717 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_RMSK)
1718 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
1719 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
1720 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val)  \
1721 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
1722 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
1723 	do {\
1724 		HWIO_INTLOCK(); \
1725 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
1726 		HWIO_INTFREE();\
1727 	} while (0)
1728 
1729 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
1730 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
1731 
1732 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
1733 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
1734 
1735 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
1736 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
1737 
1738 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1 ////
1739 
1740 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)      (x+0x00000720)
1741 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)      (x+0x00000720)
1742 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_RMSK         0x0000ffff
1743 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_SHFT                  0
1744 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_IN(x)        \
1745 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_RMSK)
1746 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
1747 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
1748 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val)  \
1749 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
1750 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
1751 	do {\
1752 		HWIO_INTLOCK(); \
1753 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
1754 		HWIO_INTFREE();\
1755 	} while (0)
1756 
1757 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
1758 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
1759 
1760 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS ////
1761 
1762 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_ADDR(x)         (x+0x00000724)
1763 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_PHYS(x)         (x+0x00000724)
1764 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_RMSK            0xffffffff
1765 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_SHFT                     0
1766 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_IN(x)           \
1767 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_RMSK)
1768 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_INM(x, mask)    \
1769 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
1770 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_OUT(x, val)     \
1771 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_ADDR(x), val)
1772 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
1773 	do {\
1774 		HWIO_INTLOCK(); \
1775 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_IN(x)); \
1776 		HWIO_INTFREE();\
1777 	} while (0)
1778 
1779 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
1780 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
1781 
1782 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
1783 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
1784 
1785 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
1786 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
1787 
1788 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER ////
1789 
1790 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)      (x+0x00000728)
1791 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)      (x+0x00000728)
1792 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_RMSK         0x000003ff
1793 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_SHFT                  0
1794 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_IN(x)        \
1795 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_RMSK)
1796 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
1797 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
1798 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val)  \
1799 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
1800 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
1801 	do {\
1802 		HWIO_INTLOCK(); \
1803 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
1804 		HWIO_INTFREE();\
1805 	} while (0)
1806 
1807 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
1808 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
1809 
1810 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER ////
1811 
1812 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)     (x+0x0000072c)
1813 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)     (x+0x0000072c)
1814 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_RMSK        0x00000007
1815 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_SHFT                 0
1816 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_IN(x)       \
1817 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_RMSK)
1818 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
1819 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
1820 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
1821 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
1822 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
1823 	do {\
1824 		HWIO_INTLOCK(); \
1825 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
1826 		HWIO_INTFREE();\
1827 	} while (0)
1828 
1829 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK   0x00000007
1830 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT          0x0
1831 
1832 //// Register TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS ////
1833 
1834 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_ADDR(x)    (x+0x00000730)
1835 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_PHYS(x)    (x+0x00000730)
1836 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_RMSK       0x0fffffff
1837 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_SHFT                0
1838 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_IN(x)      \
1839 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_RMSK)
1840 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
1841 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
1842 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
1843 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
1844 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
1845 	do {\
1846 		HWIO_INTLOCK(); \
1847 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
1848 		HWIO_INTFREE();\
1849 	} while (0)
1850 
1851 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x0ff00000
1852 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x14
1853 
1854 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x000fffff
1855 #define HWIO_TCL_R0_SW2TCL2_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
1856 
1857 //// Register TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB ////
1858 
1859 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR(x)               (x+0x00000734)
1860 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_PHYS(x)               (x+0x00000734)
1861 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_RMSK                  0xffffffff
1862 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_SHFT                           0
1863 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_IN(x)                 \
1864 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_RMSK)
1865 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_INM(x, mask)          \
1866 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR(x), mask)
1867 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_OUT(x, val)           \
1868 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR(x), val)
1869 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_OUTM(x, mask, val)    \
1870 	do {\
1871 		HWIO_INTLOCK(); \
1872 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_IN(x)); \
1873 		HWIO_INTFREE();\
1874 	} while (0)
1875 
1876 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR_BMSK             0xffffffff
1877 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_LSB_ADDR_SHFT                    0x0
1878 
1879 //// Register TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB ////
1880 
1881 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR(x)               (x+0x00000738)
1882 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_PHYS(x)               (x+0x00000738)
1883 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_RMSK                  0x000001ff
1884 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_SHFT                           0
1885 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_IN(x)                 \
1886 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_RMSK)
1887 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_INM(x, mask)          \
1888 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR(x), mask)
1889 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_OUT(x, val)           \
1890 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR(x), val)
1891 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_OUTM(x, mask, val)    \
1892 	do {\
1893 		HWIO_INTLOCK(); \
1894 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_IN(x)); \
1895 		HWIO_INTFREE();\
1896 	} while (0)
1897 
1898 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK      0x00000100
1899 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT             0x8
1900 
1901 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR_BMSK             0x000000ff
1902 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_BASE_MSB_ADDR_SHFT                    0x0
1903 
1904 //// Register TCL_R0_SW2TCL2_RING_MSI1_DATA ////
1905 
1906 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_ADDR(x)                   (x+0x0000073c)
1907 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_PHYS(x)                   (x+0x0000073c)
1908 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_RMSK                      0xffffffff
1909 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_SHFT                               0
1910 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_IN(x)                     \
1911 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_RMSK)
1912 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_INM(x, mask)              \
1913 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_ADDR(x), mask)
1914 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_OUT(x, val)               \
1915 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_ADDR(x), val)
1916 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_OUTM(x, mask, val)        \
1917 	do {\
1918 		HWIO_INTLOCK(); \
1919 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_IN(x)); \
1920 		HWIO_INTFREE();\
1921 	} while (0)
1922 
1923 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_VALUE_BMSK                0xffffffff
1924 #define HWIO_TCL_R0_SW2TCL2_RING_MSI1_DATA_VALUE_SHFT                       0x0
1925 
1926 //// Register TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET ////
1927 
1928 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_ADDR(x)             (x+0x00000740)
1929 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_PHYS(x)             (x+0x00000740)
1930 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_RMSK                0x0000ffff
1931 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_SHFT                         0
1932 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_IN(x)               \
1933 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_RMSK)
1934 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_INM(x, mask)        \
1935 	in_dword_masked ( HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
1936 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_OUT(x, val)         \
1937 	out_dword( HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_ADDR(x), val)
1938 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)  \
1939 	do {\
1940 		HWIO_INTLOCK(); \
1941 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_IN(x)); \
1942 		HWIO_INTFREE();\
1943 	} while (0)
1944 
1945 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
1946 #define HWIO_TCL_R0_SW2TCL2_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
1947 
1948 //// Register TCL_R0_SW2TCL3_RING_BASE_LSB ////
1949 
1950 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_ADDR(x)                    (x+0x00000744)
1951 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_PHYS(x)                    (x+0x00000744)
1952 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_RMSK                       0xffffffff
1953 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_SHFT                                0
1954 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_IN(x)                      \
1955 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_RMSK)
1956 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_INM(x, mask)               \
1957 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_ADDR(x), mask)
1958 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_OUT(x, val)                \
1959 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_ADDR(x), val)
1960 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_OUTM(x, mask, val)         \
1961 	do {\
1962 		HWIO_INTLOCK(); \
1963 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_IN(x)); \
1964 		HWIO_INTFREE();\
1965 	} while (0)
1966 
1967 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK    0xffffffff
1968 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT           0x0
1969 
1970 //// Register TCL_R0_SW2TCL3_RING_BASE_MSB ////
1971 
1972 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_ADDR(x)                    (x+0x00000748)
1973 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_PHYS(x)                    (x+0x00000748)
1974 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RMSK                       0x0fffffff
1975 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_SHFT                                0
1976 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_IN(x)                      \
1977 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RMSK)
1978 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_INM(x, mask)               \
1979 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_ADDR(x), mask)
1980 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_OUT(x, val)                \
1981 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_ADDR(x), val)
1982 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_OUTM(x, mask, val)         \
1983 	do {\
1984 		HWIO_INTLOCK(); \
1985 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_IN(x)); \
1986 		HWIO_INTFREE();\
1987 	} while (0)
1988 
1989 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RING_SIZE_BMSK             0x0fffff00
1990 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RING_SIZE_SHFT                    0x8
1991 
1992 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK    0x000000ff
1993 #define HWIO_TCL_R0_SW2TCL3_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT           0x0
1994 
1995 //// Register TCL_R0_SW2TCL3_RING_ID ////
1996 
1997 #define HWIO_TCL_R0_SW2TCL3_RING_ID_ADDR(x)                          (x+0x0000074c)
1998 #define HWIO_TCL_R0_SW2TCL3_RING_ID_PHYS(x)                          (x+0x0000074c)
1999 #define HWIO_TCL_R0_SW2TCL3_RING_ID_RMSK                             0x000000ff
2000 #define HWIO_TCL_R0_SW2TCL3_RING_ID_SHFT                                      0
2001 #define HWIO_TCL_R0_SW2TCL3_RING_ID_IN(x)                            \
2002 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_ID_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_ID_RMSK)
2003 #define HWIO_TCL_R0_SW2TCL3_RING_ID_INM(x, mask)                     \
2004 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_ID_ADDR(x), mask)
2005 #define HWIO_TCL_R0_SW2TCL3_RING_ID_OUT(x, val)                      \
2006 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_ID_ADDR(x), val)
2007 #define HWIO_TCL_R0_SW2TCL3_RING_ID_OUTM(x, mask, val)               \
2008 	do {\
2009 		HWIO_INTLOCK(); \
2010 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_ID_IN(x)); \
2011 		HWIO_INTFREE();\
2012 	} while (0)
2013 
2014 #define HWIO_TCL_R0_SW2TCL3_RING_ID_ENTRY_SIZE_BMSK                  0x000000ff
2015 #define HWIO_TCL_R0_SW2TCL3_RING_ID_ENTRY_SIZE_SHFT                         0x0
2016 
2017 //// Register TCL_R0_SW2TCL3_RING_STATUS ////
2018 
2019 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_ADDR(x)                      (x+0x00000750)
2020 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_PHYS(x)                      (x+0x00000750)
2021 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_RMSK                         0xffffffff
2022 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_SHFT                                  0
2023 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_IN(x)                        \
2024 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_STATUS_RMSK)
2025 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_INM(x, mask)                 \
2026 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_STATUS_ADDR(x), mask)
2027 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_OUT(x, val)                  \
2028 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_STATUS_ADDR(x), val)
2029 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_OUTM(x, mask, val)           \
2030 	do {\
2031 		HWIO_INTLOCK(); \
2032 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_STATUS_IN(x)); \
2033 		HWIO_INTFREE();\
2034 	} while (0)
2035 
2036 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_NUM_AVAIL_WORDS_BMSK         0xffff0000
2037 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_NUM_AVAIL_WORDS_SHFT               0x10
2038 
2039 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_NUM_VALID_WORDS_BMSK         0x0000ffff
2040 #define HWIO_TCL_R0_SW2TCL3_RING_STATUS_NUM_VALID_WORDS_SHFT                0x0
2041 
2042 //// Register TCL_R0_SW2TCL3_RING_MISC ////
2043 
2044 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_ADDR(x)                        (x+0x00000754)
2045 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_PHYS(x)                        (x+0x00000754)
2046 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_RMSK                           0x003fffff
2047 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SHFT                                    0
2048 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_IN(x)                          \
2049 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MISC_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_MISC_RMSK)
2050 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_INM(x, mask)                   \
2051 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MISC_ADDR(x), mask)
2052 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_OUT(x, val)                    \
2053 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_MISC_ADDR(x), val)
2054 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_OUTM(x, mask, val)             \
2055 	do {\
2056 		HWIO_INTLOCK(); \
2057 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_MISC_IN(x)); \
2058 		HWIO_INTFREE();\
2059 	} while (0)
2060 
2061 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SPARE_CONTROL_BMSK             0x003fc000
2062 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SPARE_CONTROL_SHFT                    0xe
2063 
2064 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_SM_STATE2_BMSK            0x00003000
2065 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_SM_STATE2_SHFT                   0xc
2066 
2067 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_SM_STATE1_BMSK            0x00000f00
2068 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_SM_STATE1_SHFT                   0x8
2069 
2070 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_IS_IDLE_BMSK              0x00000080
2071 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_IS_IDLE_SHFT                     0x7
2072 
2073 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_ENABLE_BMSK               0x00000040
2074 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SRNG_ENABLE_SHFT                      0x6
2075 
2076 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_DATA_TLV_SWAP_BIT_BMSK         0x00000020
2077 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                0x5
2078 
2079 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_HOST_FW_SWAP_BIT_BMSK          0x00000010
2080 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_HOST_FW_SWAP_BIT_SHFT                 0x4
2081 
2082 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_MSI_SWAP_BIT_BMSK              0x00000008
2083 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_MSI_SWAP_BIT_SHFT                     0x3
2084 
2085 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SECURITY_BIT_BMSK              0x00000004
2086 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_SECURITY_BIT_SHFT                     0x2
2087 
2088 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_LOOPCNT_DISABLE_BMSK           0x00000002
2089 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_LOOPCNT_DISABLE_SHFT                  0x1
2090 
2091 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_RING_ID_DISABLE_BMSK           0x00000001
2092 #define HWIO_TCL_R0_SW2TCL3_RING_MISC_RING_ID_DISABLE_SHFT                  0x0
2093 
2094 //// Register TCL_R0_SW2TCL3_RING_TP_ADDR_LSB ////
2095 
2096 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_ADDR(x)                 (x+0x00000760)
2097 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_PHYS(x)                 (x+0x00000760)
2098 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_RMSK                    0xffffffff
2099 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_SHFT                             0
2100 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_IN(x)                   \
2101 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_RMSK)
2102 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_INM(x, mask)            \
2103 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_ADDR(x), mask)
2104 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_OUT(x, val)             \
2105 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_ADDR(x), val)
2106 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_OUTM(x, mask, val)      \
2107 	do {\
2108 		HWIO_INTLOCK(); \
2109 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_IN(x)); \
2110 		HWIO_INTFREE();\
2111 	} while (0)
2112 
2113 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2114 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2115 
2116 //// Register TCL_R0_SW2TCL3_RING_TP_ADDR_MSB ////
2117 
2118 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_ADDR(x)                 (x+0x00000764)
2119 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_PHYS(x)                 (x+0x00000764)
2120 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_RMSK                    0x000000ff
2121 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_SHFT                             0
2122 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_IN(x)                   \
2123 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_RMSK)
2124 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_INM(x, mask)            \
2125 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_ADDR(x), mask)
2126 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_OUT(x, val)             \
2127 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_ADDR(x), val)
2128 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_OUTM(x, mask, val)      \
2129 	do {\
2130 		HWIO_INTLOCK(); \
2131 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_IN(x)); \
2132 		HWIO_INTFREE();\
2133 	} while (0)
2134 
2135 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2136 #define HWIO_TCL_R0_SW2TCL3_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2137 
2138 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0 ////
2139 
2140 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)      (x+0x00000774)
2141 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)      (x+0x00000774)
2142 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_RMSK         0xffffffff
2143 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_SHFT                  0
2144 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_IN(x)        \
2145 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_RMSK)
2146 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
2147 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
2148 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val)  \
2149 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
2150 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
2151 	do {\
2152 		HWIO_INTLOCK(); \
2153 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
2154 		HWIO_INTFREE();\
2155 	} while (0)
2156 
2157 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
2158 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
2159 
2160 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
2161 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
2162 
2163 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
2164 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
2165 
2166 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1 ////
2167 
2168 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)      (x+0x00000778)
2169 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)      (x+0x00000778)
2170 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_RMSK         0x0000ffff
2171 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_SHFT                  0
2172 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_IN(x)        \
2173 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_RMSK)
2174 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
2175 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
2176 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val)  \
2177 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
2178 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
2179 	do {\
2180 		HWIO_INTLOCK(); \
2181 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
2182 		HWIO_INTFREE();\
2183 	} while (0)
2184 
2185 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
2186 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
2187 
2188 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS ////
2189 
2190 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_ADDR(x)         (x+0x0000077c)
2191 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_PHYS(x)         (x+0x0000077c)
2192 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_RMSK            0xffffffff
2193 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_SHFT                     0
2194 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_IN(x)           \
2195 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_RMSK)
2196 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_INM(x, mask)    \
2197 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
2198 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_OUT(x, val)     \
2199 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_ADDR(x), val)
2200 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
2201 	do {\
2202 		HWIO_INTLOCK(); \
2203 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_IN(x)); \
2204 		HWIO_INTFREE();\
2205 	} while (0)
2206 
2207 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
2208 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
2209 
2210 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
2211 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
2212 
2213 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
2214 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
2215 
2216 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER ////
2217 
2218 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)      (x+0x00000780)
2219 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)      (x+0x00000780)
2220 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_RMSK         0x000003ff
2221 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_SHFT                  0
2222 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_IN(x)        \
2223 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_RMSK)
2224 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
2225 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
2226 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val)  \
2227 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
2228 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
2229 	do {\
2230 		HWIO_INTLOCK(); \
2231 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
2232 		HWIO_INTFREE();\
2233 	} while (0)
2234 
2235 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
2236 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
2237 
2238 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER ////
2239 
2240 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)     (x+0x00000784)
2241 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)     (x+0x00000784)
2242 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_RMSK        0x00000007
2243 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_SHFT                 0
2244 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_IN(x)       \
2245 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_RMSK)
2246 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
2247 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
2248 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
2249 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
2250 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
2251 	do {\
2252 		HWIO_INTLOCK(); \
2253 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
2254 		HWIO_INTFREE();\
2255 	} while (0)
2256 
2257 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK   0x00000007
2258 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT          0x0
2259 
2260 //// Register TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS ////
2261 
2262 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_ADDR(x)    (x+0x00000788)
2263 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_PHYS(x)    (x+0x00000788)
2264 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_RMSK       0x0fffffff
2265 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_SHFT                0
2266 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_IN(x)      \
2267 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_RMSK)
2268 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
2269 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
2270 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
2271 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
2272 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
2273 	do {\
2274 		HWIO_INTLOCK(); \
2275 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
2276 		HWIO_INTFREE();\
2277 	} while (0)
2278 
2279 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x0ff00000
2280 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x14
2281 
2282 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x000fffff
2283 #define HWIO_TCL_R0_SW2TCL3_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
2284 
2285 //// Register TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB ////
2286 
2287 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR(x)               (x+0x0000078c)
2288 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_PHYS(x)               (x+0x0000078c)
2289 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_RMSK                  0xffffffff
2290 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_SHFT                           0
2291 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_IN(x)                 \
2292 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_RMSK)
2293 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_INM(x, mask)          \
2294 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR(x), mask)
2295 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_OUT(x, val)           \
2296 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR(x), val)
2297 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_OUTM(x, mask, val)    \
2298 	do {\
2299 		HWIO_INTLOCK(); \
2300 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_IN(x)); \
2301 		HWIO_INTFREE();\
2302 	} while (0)
2303 
2304 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR_BMSK             0xffffffff
2305 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_LSB_ADDR_SHFT                    0x0
2306 
2307 //// Register TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB ////
2308 
2309 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR(x)               (x+0x00000790)
2310 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_PHYS(x)               (x+0x00000790)
2311 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_RMSK                  0x000001ff
2312 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_SHFT                           0
2313 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_IN(x)                 \
2314 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_RMSK)
2315 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_INM(x, mask)          \
2316 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR(x), mask)
2317 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_OUT(x, val)           \
2318 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR(x), val)
2319 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_OUTM(x, mask, val)    \
2320 	do {\
2321 		HWIO_INTLOCK(); \
2322 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_IN(x)); \
2323 		HWIO_INTFREE();\
2324 	} while (0)
2325 
2326 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK      0x00000100
2327 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT             0x8
2328 
2329 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR_BMSK             0x000000ff
2330 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_BASE_MSB_ADDR_SHFT                    0x0
2331 
2332 //// Register TCL_R0_SW2TCL3_RING_MSI1_DATA ////
2333 
2334 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_ADDR(x)                   (x+0x00000794)
2335 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_PHYS(x)                   (x+0x00000794)
2336 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_RMSK                      0xffffffff
2337 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_SHFT                               0
2338 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_IN(x)                     \
2339 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_RMSK)
2340 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_INM(x, mask)              \
2341 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_ADDR(x), mask)
2342 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_OUT(x, val)               \
2343 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_ADDR(x), val)
2344 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_OUTM(x, mask, val)        \
2345 	do {\
2346 		HWIO_INTLOCK(); \
2347 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_IN(x)); \
2348 		HWIO_INTFREE();\
2349 	} while (0)
2350 
2351 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_VALUE_BMSK                0xffffffff
2352 #define HWIO_TCL_R0_SW2TCL3_RING_MSI1_DATA_VALUE_SHFT                       0x0
2353 
2354 //// Register TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET ////
2355 
2356 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_ADDR(x)             (x+0x00000798)
2357 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_PHYS(x)             (x+0x00000798)
2358 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_RMSK                0x0000ffff
2359 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_SHFT                         0
2360 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_IN(x)               \
2361 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_RMSK)
2362 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_INM(x, mask)        \
2363 	in_dword_masked ( HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
2364 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_OUT(x, val)         \
2365 	out_dword( HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_ADDR(x), val)
2366 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)  \
2367 	do {\
2368 		HWIO_INTLOCK(); \
2369 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_IN(x)); \
2370 		HWIO_INTFREE();\
2371 	} while (0)
2372 
2373 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
2374 #define HWIO_TCL_R0_SW2TCL3_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
2375 
2376 //// Register TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB ////
2377 
2378 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_ADDR(x)              (x+0x0000079c)
2379 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_PHYS(x)              (x+0x0000079c)
2380 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_RMSK                 0xffffffff
2381 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_SHFT                          0
2382 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_IN(x)                \
2383 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_RMSK)
2384 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_INM(x, mask)         \
2385 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_ADDR(x), mask)
2386 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_OUT(x, val)          \
2387 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_ADDR(x), val)
2388 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_OUTM(x, mask, val)   \
2389 	do {\
2390 		HWIO_INTLOCK(); \
2391 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_IN(x)); \
2392 		HWIO_INTFREE();\
2393 	} while (0)
2394 
2395 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
2396 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
2397 
2398 //// Register TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB ////
2399 
2400 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_ADDR(x)              (x+0x000007a0)
2401 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_PHYS(x)              (x+0x000007a0)
2402 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RMSK                 0x0fffffff
2403 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_SHFT                          0
2404 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_IN(x)                \
2405 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RMSK)
2406 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_INM(x, mask)         \
2407 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_ADDR(x), mask)
2408 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_OUT(x, val)          \
2409 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_ADDR(x), val)
2410 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_OUTM(x, mask, val)   \
2411 	do {\
2412 		HWIO_INTLOCK(); \
2413 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_IN(x)); \
2414 		HWIO_INTFREE();\
2415 	} while (0)
2416 
2417 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RING_SIZE_BMSK       0x0fffff00
2418 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RING_SIZE_SHFT              0x8
2419 
2420 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
2421 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
2422 
2423 //// Register TCL_R0_SW2TCL_CREDIT_RING_ID ////
2424 
2425 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ADDR(x)                    (x+0x000007a4)
2426 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_PHYS(x)                    (x+0x000007a4)
2427 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_RMSK                       0x000000ff
2428 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_SHFT                                0
2429 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_IN(x)                      \
2430 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_RMSK)
2431 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_INM(x, mask)               \
2432 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ADDR(x), mask)
2433 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_OUT(x, val)                \
2434 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ADDR(x), val)
2435 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_OUTM(x, mask, val)         \
2436 	do {\
2437 		HWIO_INTLOCK(); \
2438 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_IN(x)); \
2439 		HWIO_INTFREE();\
2440 	} while (0)
2441 
2442 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ENTRY_SIZE_BMSK            0x000000ff
2443 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_ID_ENTRY_SIZE_SHFT                   0x0
2444 
2445 //// Register TCL_R0_SW2TCL_CREDIT_RING_STATUS ////
2446 
2447 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_ADDR(x)                (x+0x000007a8)
2448 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_PHYS(x)                (x+0x000007a8)
2449 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_RMSK                   0xffffffff
2450 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_SHFT                            0
2451 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_IN(x)                  \
2452 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_RMSK)
2453 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_INM(x, mask)           \
2454 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_ADDR(x), mask)
2455 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_OUT(x, val)            \
2456 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_ADDR(x), val)
2457 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_OUTM(x, mask, val)     \
2458 	do {\
2459 		HWIO_INTLOCK(); \
2460 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_IN(x)); \
2461 		HWIO_INTFREE();\
2462 	} while (0)
2463 
2464 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_NUM_AVAIL_WORDS_BMSK   0xffff0000
2465 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_NUM_AVAIL_WORDS_SHFT         0x10
2466 
2467 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_NUM_VALID_WORDS_BMSK   0x0000ffff
2468 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_STATUS_NUM_VALID_WORDS_SHFT          0x0
2469 
2470 //// Register TCL_R0_SW2TCL_CREDIT_RING_MISC ////
2471 
2472 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_ADDR(x)                  (x+0x000007ac)
2473 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_PHYS(x)                  (x+0x000007ac)
2474 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_RMSK                     0x003fffff
2475 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SHFT                              0
2476 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_IN(x)                    \
2477 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_RMSK)
2478 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_INM(x, mask)             \
2479 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_ADDR(x), mask)
2480 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_OUT(x, val)              \
2481 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_ADDR(x), val)
2482 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_OUTM(x, mask, val)       \
2483 	do {\
2484 		HWIO_INTLOCK(); \
2485 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_IN(x)); \
2486 		HWIO_INTFREE();\
2487 	} while (0)
2488 
2489 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SPARE_CONTROL_BMSK       0x003fc000
2490 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SPARE_CONTROL_SHFT              0xe
2491 
2492 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_SM_STATE2_BMSK      0x00003000
2493 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_SM_STATE2_SHFT             0xc
2494 
2495 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_SM_STATE1_BMSK      0x00000f00
2496 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_SM_STATE1_SHFT             0x8
2497 
2498 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_IS_IDLE_BMSK        0x00000080
2499 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_IS_IDLE_SHFT               0x7
2500 
2501 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_ENABLE_BMSK         0x00000040
2502 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SRNG_ENABLE_SHFT                0x6
2503 
2504 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_DATA_TLV_SWAP_BIT_BMSK   0x00000020
2505 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_DATA_TLV_SWAP_BIT_SHFT          0x5
2506 
2507 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_HOST_FW_SWAP_BIT_BMSK    0x00000010
2508 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_HOST_FW_SWAP_BIT_SHFT           0x4
2509 
2510 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_MSI_SWAP_BIT_BMSK        0x00000008
2511 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_MSI_SWAP_BIT_SHFT               0x3
2512 
2513 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SECURITY_BIT_BMSK        0x00000004
2514 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_SECURITY_BIT_SHFT               0x2
2515 
2516 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_LOOPCNT_DISABLE_BMSK     0x00000002
2517 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_LOOPCNT_DISABLE_SHFT            0x1
2518 
2519 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_RING_ID_DISABLE_BMSK     0x00000001
2520 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MISC_RING_ID_DISABLE_SHFT            0x0
2521 
2522 //// Register TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB ////
2523 
2524 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_ADDR(x)           (x+0x000007b8)
2525 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_PHYS(x)           (x+0x000007b8)
2526 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_RMSK              0xffffffff
2527 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_SHFT                       0
2528 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_IN(x)             \
2529 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_RMSK)
2530 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_INM(x, mask)      \
2531 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_ADDR(x), mask)
2532 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_OUT(x, val)       \
2533 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_ADDR(x), val)
2534 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_OUTM(x, mask, val) \
2535 	do {\
2536 		HWIO_INTLOCK(); \
2537 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_IN(x)); \
2538 		HWIO_INTFREE();\
2539 	} while (0)
2540 
2541 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2542 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2543 
2544 //// Register TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB ////
2545 
2546 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_ADDR(x)           (x+0x000007bc)
2547 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_PHYS(x)           (x+0x000007bc)
2548 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_RMSK              0x000000ff
2549 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_SHFT                       0
2550 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_IN(x)             \
2551 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_RMSK)
2552 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_INM(x, mask)      \
2553 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_ADDR(x), mask)
2554 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_OUT(x, val)       \
2555 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_ADDR(x), val)
2556 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_OUTM(x, mask, val) \
2557 	do {\
2558 		HWIO_INTLOCK(); \
2559 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_IN(x)); \
2560 		HWIO_INTFREE();\
2561 	} while (0)
2562 
2563 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2564 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2565 
2566 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0 ////
2567 
2568 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_ADDR(x) (x+0x000007cc)
2569 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_PHYS(x) (x+0x000007cc)
2570 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_RMSK   0xffffffff
2571 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_SHFT            0
2572 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_IN(x)  \
2573 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_RMSK)
2574 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
2575 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
2576 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
2577 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
2578 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
2579 	do {\
2580 		HWIO_INTLOCK(); \
2581 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
2582 		HWIO_INTFREE();\
2583 	} while (0)
2584 
2585 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
2586 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
2587 
2588 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
2589 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
2590 
2591 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
2592 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
2593 
2594 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1 ////
2595 
2596 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_ADDR(x) (x+0x000007d0)
2597 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_PHYS(x) (x+0x000007d0)
2598 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_RMSK   0x0000ffff
2599 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_SHFT            0
2600 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_IN(x)  \
2601 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_RMSK)
2602 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
2603 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
2604 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
2605 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
2606 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
2607 	do {\
2608 		HWIO_INTLOCK(); \
2609 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
2610 		HWIO_INTFREE();\
2611 	} while (0)
2612 
2613 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
2614 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
2615 
2616 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS ////
2617 
2618 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_ADDR(x)   (x+0x000007d4)
2619 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_PHYS(x)   (x+0x000007d4)
2620 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_RMSK      0xffffffff
2621 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_SHFT               0
2622 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_IN(x)     \
2623 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_RMSK)
2624 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_INM(x, mask) \
2625 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
2626 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_OUT(x, val) \
2627 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_ADDR(x), val)
2628 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
2629 	do {\
2630 		HWIO_INTLOCK(); \
2631 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_IN(x)); \
2632 		HWIO_INTFREE();\
2633 	} while (0)
2634 
2635 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
2636 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
2637 
2638 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
2639 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
2640 
2641 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
2642 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
2643 
2644 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER ////
2645 
2646 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_ADDR(x) (x+0x000007d8)
2647 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_PHYS(x) (x+0x000007d8)
2648 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_RMSK   0x000003ff
2649 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_SHFT            0
2650 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_IN(x)  \
2651 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_RMSK)
2652 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
2653 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
2654 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
2655 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
2656 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
2657 	do {\
2658 		HWIO_INTLOCK(); \
2659 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
2660 		HWIO_INTFREE();\
2661 	} while (0)
2662 
2663 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
2664 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
2665 
2666 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER ////
2667 
2668 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x000007dc)
2669 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x000007dc)
2670 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_RMSK  0x00000007
2671 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_SHFT           0
2672 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_IN(x) \
2673 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_RMSK)
2674 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
2675 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
2676 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
2677 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
2678 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
2679 	do {\
2680 		HWIO_INTLOCK(); \
2681 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
2682 		HWIO_INTFREE();\
2683 	} while (0)
2684 
2685 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
2686 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
2687 
2688 //// Register TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS ////
2689 
2690 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x000007e0)
2691 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x000007e0)
2692 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_RMSK 0x0fffffff
2693 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_SHFT          0
2694 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_IN(x) \
2695 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_RMSK)
2696 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
2697 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
2698 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
2699 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
2700 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
2701 	do {\
2702 		HWIO_INTLOCK(); \
2703 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
2704 		HWIO_INTFREE();\
2705 	} while (0)
2706 
2707 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x0ff00000
2708 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x14
2709 
2710 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x000fffff
2711 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
2712 
2713 //// Register TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB ////
2714 
2715 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR(x)         (x+0x000007e4)
2716 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_PHYS(x)         (x+0x000007e4)
2717 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_RMSK            0xffffffff
2718 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_SHFT                     0
2719 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_IN(x)           \
2720 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_RMSK)
2721 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_INM(x, mask)    \
2722 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR(x), mask)
2723 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_OUT(x, val)     \
2724 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR(x), val)
2725 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
2726 	do {\
2727 		HWIO_INTLOCK(); \
2728 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_IN(x)); \
2729 		HWIO_INTFREE();\
2730 	} while (0)
2731 
2732 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR_BMSK       0xffffffff
2733 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_LSB_ADDR_SHFT              0x0
2734 
2735 //// Register TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB ////
2736 
2737 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR(x)         (x+0x000007e8)
2738 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_PHYS(x)         (x+0x000007e8)
2739 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_RMSK            0x000001ff
2740 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_SHFT                     0
2741 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_IN(x)           \
2742 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_RMSK)
2743 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_INM(x, mask)    \
2744 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR(x), mask)
2745 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_OUT(x, val)     \
2746 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR(x), val)
2747 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
2748 	do {\
2749 		HWIO_INTLOCK(); \
2750 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_IN(x)); \
2751 		HWIO_INTFREE();\
2752 	} while (0)
2753 
2754 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
2755 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
2756 
2757 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR_BMSK       0x000000ff
2758 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_BASE_MSB_ADDR_SHFT              0x0
2759 
2760 //// Register TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA ////
2761 
2762 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_ADDR(x)             (x+0x000007ec)
2763 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_PHYS(x)             (x+0x000007ec)
2764 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_RMSK                0xffffffff
2765 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_SHFT                         0
2766 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_IN(x)               \
2767 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_RMSK)
2768 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_INM(x, mask)        \
2769 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_ADDR(x), mask)
2770 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_OUT(x, val)         \
2771 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_ADDR(x), val)
2772 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_OUTM(x, mask, val)  \
2773 	do {\
2774 		HWIO_INTLOCK(); \
2775 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_IN(x)); \
2776 		HWIO_INTFREE();\
2777 	} while (0)
2778 
2779 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_VALUE_BMSK          0xffffffff
2780 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_MSI1_DATA_VALUE_SHFT                 0x0
2781 
2782 //// Register TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET ////
2783 
2784 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_ADDR(x)       (x+0x000007f0)
2785 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_PHYS(x)       (x+0x000007f0)
2786 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_RMSK          0x0000ffff
2787 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_SHFT                   0
2788 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_IN(x)         \
2789 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_RMSK)
2790 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_INM(x, mask)  \
2791 	in_dword_masked ( HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
2792 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_OUT(x, val)   \
2793 	out_dword( HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_ADDR(x), val)
2794 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
2795 	do {\
2796 		HWIO_INTLOCK(); \
2797 		out_dword_masked_ns(HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_IN(x)); \
2798 		HWIO_INTFREE();\
2799 	} while (0)
2800 
2801 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
2802 #define HWIO_TCL_R0_SW2TCL_CREDIT_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
2803 
2804 //// Register TCL_R0_FW2TCL1_RING_BASE_LSB ////
2805 
2806 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_ADDR(x)                    (x+0x000007f4)
2807 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_PHYS(x)                    (x+0x000007f4)
2808 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_RMSK                       0xffffffff
2809 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_SHFT                                0
2810 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_IN(x)                      \
2811 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_RMSK)
2812 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_INM(x, mask)               \
2813 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_ADDR(x), mask)
2814 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_OUT(x, val)                \
2815 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_ADDR(x), val)
2816 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_OUTM(x, mask, val)         \
2817 	do {\
2818 		HWIO_INTLOCK(); \
2819 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_IN(x)); \
2820 		HWIO_INTFREE();\
2821 	} while (0)
2822 
2823 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK    0xffffffff
2824 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT           0x0
2825 
2826 //// Register TCL_R0_FW2TCL1_RING_BASE_MSB ////
2827 
2828 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_ADDR(x)                    (x+0x000007f8)
2829 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_PHYS(x)                    (x+0x000007f8)
2830 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RMSK                       0x00ffffff
2831 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_SHFT                                0
2832 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_IN(x)                      \
2833 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RMSK)
2834 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_INM(x, mask)               \
2835 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_ADDR(x), mask)
2836 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_OUT(x, val)                \
2837 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_ADDR(x), val)
2838 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_OUTM(x, mask, val)         \
2839 	do {\
2840 		HWIO_INTLOCK(); \
2841 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_IN(x)); \
2842 		HWIO_INTFREE();\
2843 	} while (0)
2844 
2845 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RING_SIZE_BMSK             0x00ffff00
2846 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RING_SIZE_SHFT                    0x8
2847 
2848 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK    0x000000ff
2849 #define HWIO_TCL_R0_FW2TCL1_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT           0x0
2850 
2851 //// Register TCL_R0_FW2TCL1_RING_ID ////
2852 
2853 #define HWIO_TCL_R0_FW2TCL1_RING_ID_ADDR(x)                          (x+0x000007fc)
2854 #define HWIO_TCL_R0_FW2TCL1_RING_ID_PHYS(x)                          (x+0x000007fc)
2855 #define HWIO_TCL_R0_FW2TCL1_RING_ID_RMSK                             0x000000ff
2856 #define HWIO_TCL_R0_FW2TCL1_RING_ID_SHFT                                      0
2857 #define HWIO_TCL_R0_FW2TCL1_RING_ID_IN(x)                            \
2858 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_ID_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_ID_RMSK)
2859 #define HWIO_TCL_R0_FW2TCL1_RING_ID_INM(x, mask)                     \
2860 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_ID_ADDR(x), mask)
2861 #define HWIO_TCL_R0_FW2TCL1_RING_ID_OUT(x, val)                      \
2862 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_ID_ADDR(x), val)
2863 #define HWIO_TCL_R0_FW2TCL1_RING_ID_OUTM(x, mask, val)               \
2864 	do {\
2865 		HWIO_INTLOCK(); \
2866 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_ID_IN(x)); \
2867 		HWIO_INTFREE();\
2868 	} while (0)
2869 
2870 #define HWIO_TCL_R0_FW2TCL1_RING_ID_ENTRY_SIZE_BMSK                  0x000000ff
2871 #define HWIO_TCL_R0_FW2TCL1_RING_ID_ENTRY_SIZE_SHFT                         0x0
2872 
2873 //// Register TCL_R0_FW2TCL1_RING_STATUS ////
2874 
2875 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_ADDR(x)                      (x+0x00000800)
2876 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_PHYS(x)                      (x+0x00000800)
2877 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_RMSK                         0xffffffff
2878 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_SHFT                                  0
2879 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_IN(x)                        \
2880 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_STATUS_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_STATUS_RMSK)
2881 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_INM(x, mask)                 \
2882 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_STATUS_ADDR(x), mask)
2883 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_OUT(x, val)                  \
2884 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_STATUS_ADDR(x), val)
2885 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_OUTM(x, mask, val)           \
2886 	do {\
2887 		HWIO_INTLOCK(); \
2888 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_STATUS_IN(x)); \
2889 		HWIO_INTFREE();\
2890 	} while (0)
2891 
2892 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_NUM_AVAIL_WORDS_BMSK         0xffff0000
2893 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_NUM_AVAIL_WORDS_SHFT               0x10
2894 
2895 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_NUM_VALID_WORDS_BMSK         0x0000ffff
2896 #define HWIO_TCL_R0_FW2TCL1_RING_STATUS_NUM_VALID_WORDS_SHFT                0x0
2897 
2898 //// Register TCL_R0_FW2TCL1_RING_MISC ////
2899 
2900 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_ADDR(x)                        (x+0x00000804)
2901 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_PHYS(x)                        (x+0x00000804)
2902 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_RMSK                           0x003fffff
2903 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SHFT                                    0
2904 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_IN(x)                          \
2905 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MISC_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_MISC_RMSK)
2906 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_INM(x, mask)                   \
2907 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MISC_ADDR(x), mask)
2908 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_OUT(x, val)                    \
2909 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_MISC_ADDR(x), val)
2910 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_OUTM(x, mask, val)             \
2911 	do {\
2912 		HWIO_INTLOCK(); \
2913 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_MISC_IN(x)); \
2914 		HWIO_INTFREE();\
2915 	} while (0)
2916 
2917 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SPARE_CONTROL_BMSK             0x003fc000
2918 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SPARE_CONTROL_SHFT                    0xe
2919 
2920 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_SM_STATE2_BMSK            0x00003000
2921 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_SM_STATE2_SHFT                   0xc
2922 
2923 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_SM_STATE1_BMSK            0x00000f00
2924 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_SM_STATE1_SHFT                   0x8
2925 
2926 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_IS_IDLE_BMSK              0x00000080
2927 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_IS_IDLE_SHFT                     0x7
2928 
2929 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_ENABLE_BMSK               0x00000040
2930 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SRNG_ENABLE_SHFT                      0x6
2931 
2932 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_DATA_TLV_SWAP_BIT_BMSK         0x00000020
2933 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                0x5
2934 
2935 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_HOST_FW_SWAP_BIT_BMSK          0x00000010
2936 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_HOST_FW_SWAP_BIT_SHFT                 0x4
2937 
2938 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_MSI_SWAP_BIT_BMSK              0x00000008
2939 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_MSI_SWAP_BIT_SHFT                     0x3
2940 
2941 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SECURITY_BIT_BMSK              0x00000004
2942 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_SECURITY_BIT_SHFT                     0x2
2943 
2944 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_LOOPCNT_DISABLE_BMSK           0x00000002
2945 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_LOOPCNT_DISABLE_SHFT                  0x1
2946 
2947 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_RING_ID_DISABLE_BMSK           0x00000001
2948 #define HWIO_TCL_R0_FW2TCL1_RING_MISC_RING_ID_DISABLE_SHFT                  0x0
2949 
2950 //// Register TCL_R0_FW2TCL1_RING_TP_ADDR_LSB ////
2951 
2952 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_ADDR(x)                 (x+0x00000810)
2953 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_PHYS(x)                 (x+0x00000810)
2954 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_RMSK                    0xffffffff
2955 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_SHFT                             0
2956 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_IN(x)                   \
2957 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_RMSK)
2958 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_INM(x, mask)            \
2959 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_ADDR(x), mask)
2960 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_OUT(x, val)             \
2961 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_ADDR(x), val)
2962 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_OUTM(x, mask, val)      \
2963 	do {\
2964 		HWIO_INTLOCK(); \
2965 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_IN(x)); \
2966 		HWIO_INTFREE();\
2967 	} while (0)
2968 
2969 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2970 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2971 
2972 //// Register TCL_R0_FW2TCL1_RING_TP_ADDR_MSB ////
2973 
2974 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_ADDR(x)                 (x+0x00000814)
2975 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_PHYS(x)                 (x+0x00000814)
2976 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_RMSK                    0x000000ff
2977 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_SHFT                             0
2978 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_IN(x)                   \
2979 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_RMSK)
2980 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_INM(x, mask)            \
2981 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_ADDR(x), mask)
2982 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_OUT(x, val)             \
2983 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_ADDR(x), val)
2984 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_OUTM(x, mask, val)      \
2985 	do {\
2986 		HWIO_INTLOCK(); \
2987 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_IN(x)); \
2988 		HWIO_INTFREE();\
2989 	} while (0)
2990 
2991 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2992 #define HWIO_TCL_R0_FW2TCL1_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2993 
2994 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0 ////
2995 
2996 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)      (x+0x00000824)
2997 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)      (x+0x00000824)
2998 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_RMSK         0xffffffff
2999 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SHFT                  0
3000 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_IN(x)        \
3001 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_RMSK)
3002 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
3003 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
3004 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val)  \
3005 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
3006 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
3007 	do {\
3008 		HWIO_INTLOCK(); \
3009 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
3010 		HWIO_INTFREE();\
3011 	} while (0)
3012 
3013 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
3014 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
3015 
3016 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
3017 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
3018 
3019 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
3020 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
3021 
3022 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1 ////
3023 
3024 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)      (x+0x00000828)
3025 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)      (x+0x00000828)
3026 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_RMSK         0x0000ffff
3027 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_SHFT                  0
3028 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_IN(x)        \
3029 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_RMSK)
3030 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
3031 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
3032 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val)  \
3033 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
3034 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
3035 	do {\
3036 		HWIO_INTLOCK(); \
3037 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
3038 		HWIO_INTFREE();\
3039 	} while (0)
3040 
3041 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
3042 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
3043 
3044 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS ////
3045 
3046 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x)         (x+0x0000082c)
3047 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_PHYS(x)         (x+0x0000082c)
3048 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_RMSK            0xffffffff
3049 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_SHFT                     0
3050 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_IN(x)           \
3051 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_RMSK)
3052 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_INM(x, mask)    \
3053 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
3054 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_OUT(x, val)     \
3055 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), val)
3056 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
3057 	do {\
3058 		HWIO_INTLOCK(); \
3059 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_IN(x)); \
3060 		HWIO_INTFREE();\
3061 	} while (0)
3062 
3063 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
3064 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
3065 
3066 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
3067 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
3068 
3069 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
3070 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
3071 
3072 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER ////
3073 
3074 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)      (x+0x00000830)
3075 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)      (x+0x00000830)
3076 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RMSK         0x000003ff
3077 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_SHFT                  0
3078 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_IN(x)        \
3079 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RMSK)
3080 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
3081 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
3082 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val)  \
3083 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
3084 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
3085 	do {\
3086 		HWIO_INTLOCK(); \
3087 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
3088 		HWIO_INTFREE();\
3089 	} while (0)
3090 
3091 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
3092 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
3093 
3094 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER ////
3095 
3096 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)     (x+0x00000834)
3097 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)     (x+0x00000834)
3098 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_RMSK        0x00000007
3099 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_SHFT                 0
3100 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_IN(x)       \
3101 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_RMSK)
3102 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
3103 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
3104 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
3105 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
3106 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
3107 	do {\
3108 		HWIO_INTLOCK(); \
3109 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
3110 		HWIO_INTFREE();\
3111 	} while (0)
3112 
3113 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK   0x00000007
3114 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT          0x0
3115 
3116 //// Register TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS ////
3117 
3118 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x)    (x+0x00000838)
3119 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PHYS(x)    (x+0x00000838)
3120 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_RMSK       0x00ffffff
3121 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_SHFT                0
3122 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_IN(x)      \
3123 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_RMSK)
3124 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
3125 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
3126 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
3127 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
3128 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
3129 	do {\
3130 		HWIO_INTLOCK(); \
3131 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
3132 		HWIO_INTFREE();\
3133 	} while (0)
3134 
3135 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
3136 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
3137 
3138 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
3139 #define HWIO_TCL_R0_FW2TCL1_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
3140 
3141 //// Register TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB ////
3142 
3143 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR(x)               (x+0x0000083c)
3144 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_PHYS(x)               (x+0x0000083c)
3145 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_RMSK                  0xffffffff
3146 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_SHFT                           0
3147 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_IN(x)                 \
3148 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_RMSK)
3149 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_INM(x, mask)          \
3150 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), mask)
3151 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_OUT(x, val)           \
3152 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), val)
3153 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_OUTM(x, mask, val)    \
3154 	do {\
3155 		HWIO_INTLOCK(); \
3156 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_IN(x)); \
3157 		HWIO_INTFREE();\
3158 	} while (0)
3159 
3160 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR_BMSK             0xffffffff
3161 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_LSB_ADDR_SHFT                    0x0
3162 
3163 //// Register TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB ////
3164 
3165 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR(x)               (x+0x00000840)
3166 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_PHYS(x)               (x+0x00000840)
3167 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_RMSK                  0x000001ff
3168 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_SHFT                           0
3169 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_IN(x)                 \
3170 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_RMSK)
3171 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_INM(x, mask)          \
3172 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), mask)
3173 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_OUT(x, val)           \
3174 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), val)
3175 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_OUTM(x, mask, val)    \
3176 	do {\
3177 		HWIO_INTLOCK(); \
3178 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_IN(x)); \
3179 		HWIO_INTFREE();\
3180 	} while (0)
3181 
3182 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK      0x00000100
3183 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT             0x8
3184 
3185 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR_BMSK             0x000000ff
3186 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_BASE_MSB_ADDR_SHFT                    0x0
3187 
3188 //// Register TCL_R0_FW2TCL1_RING_MSI1_DATA ////
3189 
3190 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_ADDR(x)                   (x+0x00000844)
3191 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_PHYS(x)                   (x+0x00000844)
3192 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_RMSK                      0xffffffff
3193 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_SHFT                               0
3194 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_IN(x)                     \
3195 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_RMSK)
3196 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_INM(x, mask)              \
3197 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_ADDR(x), mask)
3198 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_OUT(x, val)               \
3199 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_ADDR(x), val)
3200 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_OUTM(x, mask, val)        \
3201 	do {\
3202 		HWIO_INTLOCK(); \
3203 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_IN(x)); \
3204 		HWIO_INTFREE();\
3205 	} while (0)
3206 
3207 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_VALUE_BMSK                0xffffffff
3208 #define HWIO_TCL_R0_FW2TCL1_RING_MSI1_DATA_VALUE_SHFT                       0x0
3209 
3210 //// Register TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET ////
3211 
3212 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x)             (x+0x00000848)
3213 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_PHYS(x)             (x+0x00000848)
3214 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_RMSK                0x0000ffff
3215 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_SHFT                         0
3216 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_IN(x)               \
3217 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_RMSK)
3218 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_INM(x, mask)        \
3219 	in_dword_masked ( HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3220 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_OUT(x, val)         \
3221 	out_dword( HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3222 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)  \
3223 	do {\
3224 		HWIO_INTLOCK(); \
3225 		out_dword_masked_ns(HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_IN(x)); \
3226 		HWIO_INTFREE();\
3227 	} while (0)
3228 
3229 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3230 #define HWIO_TCL_R0_FW2TCL1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3231 
3232 //// Register TCL_R0_TCL2TQM_RING_BASE_LSB ////
3233 
3234 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_ADDR(x)                    (x+0x0000084c)
3235 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_PHYS(x)                    (x+0x0000084c)
3236 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_RMSK                       0xffffffff
3237 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_SHFT                                0
3238 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_IN(x)                      \
3239 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_RMSK)
3240 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_INM(x, mask)               \
3241 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_ADDR(x), mask)
3242 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_OUT(x, val)                \
3243 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_ADDR(x), val)
3244 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_OUTM(x, mask, val)         \
3245 	do {\
3246 		HWIO_INTLOCK(); \
3247 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_IN(x)); \
3248 		HWIO_INTFREE();\
3249 	} while (0)
3250 
3251 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK    0xffffffff
3252 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT           0x0
3253 
3254 //// Register TCL_R0_TCL2TQM_RING_BASE_MSB ////
3255 
3256 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_ADDR(x)                    (x+0x00000850)
3257 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_PHYS(x)                    (x+0x00000850)
3258 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RMSK                       0x00ffffff
3259 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_SHFT                                0
3260 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_IN(x)                      \
3261 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RMSK)
3262 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_INM(x, mask)               \
3263 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_ADDR(x), mask)
3264 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_OUT(x, val)                \
3265 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_ADDR(x), val)
3266 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_OUTM(x, mask, val)         \
3267 	do {\
3268 		HWIO_INTLOCK(); \
3269 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_IN(x)); \
3270 		HWIO_INTFREE();\
3271 	} while (0)
3272 
3273 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RING_SIZE_BMSK             0x00ffff00
3274 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RING_SIZE_SHFT                    0x8
3275 
3276 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK    0x000000ff
3277 #define HWIO_TCL_R0_TCL2TQM_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT           0x0
3278 
3279 //// Register TCL_R0_TCL2TQM_RING_ID ////
3280 
3281 #define HWIO_TCL_R0_TCL2TQM_RING_ID_ADDR(x)                          (x+0x00000854)
3282 #define HWIO_TCL_R0_TCL2TQM_RING_ID_PHYS(x)                          (x+0x00000854)
3283 #define HWIO_TCL_R0_TCL2TQM_RING_ID_RMSK                             0x0000ffff
3284 #define HWIO_TCL_R0_TCL2TQM_RING_ID_SHFT                                      0
3285 #define HWIO_TCL_R0_TCL2TQM_RING_ID_IN(x)                            \
3286 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_ID_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_ID_RMSK)
3287 #define HWIO_TCL_R0_TCL2TQM_RING_ID_INM(x, mask)                     \
3288 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_ID_ADDR(x), mask)
3289 #define HWIO_TCL_R0_TCL2TQM_RING_ID_OUT(x, val)                      \
3290 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_ID_ADDR(x), val)
3291 #define HWIO_TCL_R0_TCL2TQM_RING_ID_OUTM(x, mask, val)               \
3292 	do {\
3293 		HWIO_INTLOCK(); \
3294 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_ID_IN(x)); \
3295 		HWIO_INTFREE();\
3296 	} while (0)
3297 
3298 #define HWIO_TCL_R0_TCL2TQM_RING_ID_RING_ID_BMSK                     0x0000ff00
3299 #define HWIO_TCL_R0_TCL2TQM_RING_ID_RING_ID_SHFT                            0x8
3300 
3301 #define HWIO_TCL_R0_TCL2TQM_RING_ID_ENTRY_SIZE_BMSK                  0x000000ff
3302 #define HWIO_TCL_R0_TCL2TQM_RING_ID_ENTRY_SIZE_SHFT                         0x0
3303 
3304 //// Register TCL_R0_TCL2TQM_RING_STATUS ////
3305 
3306 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_ADDR(x)                      (x+0x00000858)
3307 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_PHYS(x)                      (x+0x00000858)
3308 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_RMSK                         0xffffffff
3309 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_SHFT                                  0
3310 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_IN(x)                        \
3311 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_STATUS_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_STATUS_RMSK)
3312 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_INM(x, mask)                 \
3313 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_STATUS_ADDR(x), mask)
3314 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_OUT(x, val)                  \
3315 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_STATUS_ADDR(x), val)
3316 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_OUTM(x, mask, val)           \
3317 	do {\
3318 		HWIO_INTLOCK(); \
3319 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_STATUS_IN(x)); \
3320 		HWIO_INTFREE();\
3321 	} while (0)
3322 
3323 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_NUM_AVAIL_WORDS_BMSK         0xffff0000
3324 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_NUM_AVAIL_WORDS_SHFT               0x10
3325 
3326 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_NUM_VALID_WORDS_BMSK         0x0000ffff
3327 #define HWIO_TCL_R0_TCL2TQM_RING_STATUS_NUM_VALID_WORDS_SHFT                0x0
3328 
3329 //// Register TCL_R0_TCL2TQM_RING_MISC ////
3330 
3331 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_ADDR(x)                        (x+0x0000085c)
3332 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_PHYS(x)                        (x+0x0000085c)
3333 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_RMSK                           0x03ffffff
3334 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SHFT                                    0
3335 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_IN(x)                          \
3336 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MISC_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_MISC_RMSK)
3337 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_INM(x, mask)                   \
3338 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MISC_ADDR(x), mask)
3339 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_OUT(x, val)                    \
3340 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_MISC_ADDR(x), val)
3341 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_OUTM(x, mask, val)             \
3342 	do {\
3343 		HWIO_INTLOCK(); \
3344 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_MISC_IN(x)); \
3345 		HWIO_INTFREE();\
3346 	} while (0)
3347 
3348 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_LOOP_CNT_BMSK                  0x03c00000
3349 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_LOOP_CNT_SHFT                        0x16
3350 
3351 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SPARE_CONTROL_BMSK             0x003fc000
3352 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SPARE_CONTROL_SHFT                    0xe
3353 
3354 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_SM_STATE2_BMSK            0x00003000
3355 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_SM_STATE2_SHFT                   0xc
3356 
3357 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_SM_STATE1_BMSK            0x00000f00
3358 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_SM_STATE1_SHFT                   0x8
3359 
3360 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_IS_IDLE_BMSK              0x00000080
3361 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_IS_IDLE_SHFT                     0x7
3362 
3363 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_ENABLE_BMSK               0x00000040
3364 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SRNG_ENABLE_SHFT                      0x6
3365 
3366 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_DATA_TLV_SWAP_BIT_BMSK         0x00000020
3367 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                0x5
3368 
3369 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_HOST_FW_SWAP_BIT_BMSK          0x00000010
3370 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_HOST_FW_SWAP_BIT_SHFT                 0x4
3371 
3372 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_MSI_SWAP_BIT_BMSK              0x00000008
3373 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_MSI_SWAP_BIT_SHFT                     0x3
3374 
3375 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SECURITY_BIT_BMSK              0x00000004
3376 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_SECURITY_BIT_SHFT                     0x2
3377 
3378 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_LOOPCNT_DISABLE_BMSK           0x00000002
3379 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_LOOPCNT_DISABLE_SHFT                  0x1
3380 
3381 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_RING_ID_DISABLE_BMSK           0x00000001
3382 #define HWIO_TCL_R0_TCL2TQM_RING_MISC_RING_ID_DISABLE_SHFT                  0x0
3383 
3384 //// Register TCL_R0_TCL2TQM_RING_HP_ADDR_LSB ////
3385 
3386 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_ADDR(x)                 (x+0x00000860)
3387 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_PHYS(x)                 (x+0x00000860)
3388 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_RMSK                    0xffffffff
3389 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_SHFT                             0
3390 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_IN(x)                   \
3391 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_RMSK)
3392 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_INM(x, mask)            \
3393 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_ADDR(x), mask)
3394 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_OUT(x, val)             \
3395 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_ADDR(x), val)
3396 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_OUTM(x, mask, val)      \
3397 	do {\
3398 		HWIO_INTLOCK(); \
3399 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_IN(x)); \
3400 		HWIO_INTFREE();\
3401 	} while (0)
3402 
3403 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
3404 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
3405 
3406 //// Register TCL_R0_TCL2TQM_RING_HP_ADDR_MSB ////
3407 
3408 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_ADDR(x)                 (x+0x00000864)
3409 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_PHYS(x)                 (x+0x00000864)
3410 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_RMSK                    0x000000ff
3411 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_SHFT                             0
3412 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_IN(x)                   \
3413 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_RMSK)
3414 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_INM(x, mask)            \
3415 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_ADDR(x), mask)
3416 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_OUT(x, val)             \
3417 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_ADDR(x), val)
3418 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_OUTM(x, mask, val)      \
3419 	do {\
3420 		HWIO_INTLOCK(); \
3421 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_IN(x)); \
3422 		HWIO_INTFREE();\
3423 	} while (0)
3424 
3425 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
3426 #define HWIO_TCL_R0_TCL2TQM_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
3427 
3428 //// Register TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP ////
3429 
3430 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_ADDR(x)          (x+0x00000870)
3431 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_PHYS(x)          (x+0x00000870)
3432 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_RMSK             0xffffffff
3433 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_SHFT                      0
3434 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_IN(x)            \
3435 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_RMSK)
3436 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_INM(x, mask)     \
3437 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
3438 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_OUT(x, val)      \
3439 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_ADDR(x), val)
3440 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
3441 	do {\
3442 		HWIO_INTLOCK(); \
3443 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_IN(x)); \
3444 		HWIO_INTFREE();\
3445 	} while (0)
3446 
3447 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
3448 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
3449 
3450 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
3451 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
3452 
3453 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
3454 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
3455 
3456 //// Register TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS ////
3457 
3458 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_ADDR(x)         (x+0x00000874)
3459 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_PHYS(x)         (x+0x00000874)
3460 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_RMSK            0xffffffff
3461 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_SHFT                     0
3462 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_IN(x)           \
3463 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_RMSK)
3464 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_INM(x, mask)    \
3465 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
3466 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_OUT(x, val)     \
3467 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_ADDR(x), val)
3468 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
3469 	do {\
3470 		HWIO_INTLOCK(); \
3471 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_IN(x)); \
3472 		HWIO_INTFREE();\
3473 	} while (0)
3474 
3475 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
3476 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
3477 
3478 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
3479 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
3480 
3481 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
3482 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
3483 
3484 //// Register TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER ////
3485 
3486 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_ADDR(x)       (x+0x00000878)
3487 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_PHYS(x)       (x+0x00000878)
3488 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_RMSK          0x000003ff
3489 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_SHFT                   0
3490 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_IN(x)         \
3491 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_RMSK)
3492 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_INM(x, mask)  \
3493 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
3494 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_OUT(x, val)   \
3495 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
3496 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
3497 	do {\
3498 		HWIO_INTLOCK(); \
3499 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_IN(x)); \
3500 		HWIO_INTFREE();\
3501 	} while (0)
3502 
3503 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
3504 #define HWIO_TCL_R0_TCL2TQM_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
3505 
3506 //// Register TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB ////
3507 
3508 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR(x)               (x+0x00000894)
3509 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_PHYS(x)               (x+0x00000894)
3510 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_RMSK                  0xffffffff
3511 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_SHFT                           0
3512 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_IN(x)                 \
3513 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_RMSK)
3514 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_INM(x, mask)          \
3515 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR(x), mask)
3516 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_OUT(x, val)           \
3517 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR(x), val)
3518 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_OUTM(x, mask, val)    \
3519 	do {\
3520 		HWIO_INTLOCK(); \
3521 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_IN(x)); \
3522 		HWIO_INTFREE();\
3523 	} while (0)
3524 
3525 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR_BMSK             0xffffffff
3526 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_LSB_ADDR_SHFT                    0x0
3527 
3528 //// Register TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB ////
3529 
3530 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR(x)               (x+0x00000898)
3531 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_PHYS(x)               (x+0x00000898)
3532 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_RMSK                  0x000001ff
3533 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_SHFT                           0
3534 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_IN(x)                 \
3535 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_RMSK)
3536 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_INM(x, mask)          \
3537 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR(x), mask)
3538 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_OUT(x, val)           \
3539 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR(x), val)
3540 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_OUTM(x, mask, val)    \
3541 	do {\
3542 		HWIO_INTLOCK(); \
3543 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_IN(x)); \
3544 		HWIO_INTFREE();\
3545 	} while (0)
3546 
3547 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK      0x00000100
3548 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT             0x8
3549 
3550 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR_BMSK             0x000000ff
3551 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_BASE_MSB_ADDR_SHFT                    0x0
3552 
3553 //// Register TCL_R0_TCL2TQM_RING_MSI1_DATA ////
3554 
3555 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_ADDR(x)                   (x+0x0000089c)
3556 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_PHYS(x)                   (x+0x0000089c)
3557 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_RMSK                      0xffffffff
3558 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_SHFT                               0
3559 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_IN(x)                     \
3560 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_RMSK)
3561 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_INM(x, mask)              \
3562 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_ADDR(x), mask)
3563 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_OUT(x, val)               \
3564 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_ADDR(x), val)
3565 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_OUTM(x, mask, val)        \
3566 	do {\
3567 		HWIO_INTLOCK(); \
3568 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_IN(x)); \
3569 		HWIO_INTFREE();\
3570 	} while (0)
3571 
3572 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_VALUE_BMSK                0xffffffff
3573 #define HWIO_TCL_R0_TCL2TQM_RING_MSI1_DATA_VALUE_SHFT                       0x0
3574 
3575 //// Register TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET ////
3576 
3577 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_ADDR(x)             (x+0x000008a0)
3578 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_PHYS(x)             (x+0x000008a0)
3579 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_RMSK                0x0000ffff
3580 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_SHFT                         0
3581 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_IN(x)               \
3582 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_RMSK)
3583 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_INM(x, mask)        \
3584 	in_dword_masked ( HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3585 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_OUT(x, val)         \
3586 	out_dword( HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3587 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)  \
3588 	do {\
3589 		HWIO_INTLOCK(); \
3590 		out_dword_masked_ns(HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_IN(x)); \
3591 		HWIO_INTFREE();\
3592 	} while (0)
3593 
3594 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3595 #define HWIO_TCL_R0_TCL2TQM_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3596 
3597 //// Register TCL_R0_TCL_STATUS1_RING_BASE_LSB ////
3598 
3599 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_ADDR(x)                (x+0x000008a4)
3600 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_PHYS(x)                (x+0x000008a4)
3601 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_RMSK                   0xffffffff
3602 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_SHFT                            0
3603 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_IN(x)                  \
3604 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_RMSK)
3605 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_INM(x, mask)           \
3606 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_ADDR(x), mask)
3607 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_OUT(x, val)            \
3608 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_ADDR(x), val)
3609 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_OUTM(x, mask, val)     \
3610 	do {\
3611 		HWIO_INTLOCK(); \
3612 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_IN(x)); \
3613 		HWIO_INTFREE();\
3614 	} while (0)
3615 
3616 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
3617 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
3618 
3619 //// Register TCL_R0_TCL_STATUS1_RING_BASE_MSB ////
3620 
3621 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_ADDR(x)                (x+0x000008a8)
3622 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_PHYS(x)                (x+0x000008a8)
3623 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RMSK                   0x00ffffff
3624 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_SHFT                            0
3625 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_IN(x)                  \
3626 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RMSK)
3627 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_INM(x, mask)           \
3628 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_ADDR(x), mask)
3629 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_OUT(x, val)            \
3630 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_ADDR(x), val)
3631 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_OUTM(x, mask, val)     \
3632 	do {\
3633 		HWIO_INTLOCK(); \
3634 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_IN(x)); \
3635 		HWIO_INTFREE();\
3636 	} while (0)
3637 
3638 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
3639 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RING_SIZE_SHFT                0x8
3640 
3641 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
3642 #define HWIO_TCL_R0_TCL_STATUS1_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
3643 
3644 //// Register TCL_R0_TCL_STATUS1_RING_ID ////
3645 
3646 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_ADDR(x)                      (x+0x000008ac)
3647 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_PHYS(x)                      (x+0x000008ac)
3648 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_RMSK                         0x0000ffff
3649 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_SHFT                                  0
3650 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_IN(x)                        \
3651 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_ID_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_ID_RMSK)
3652 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_INM(x, mask)                 \
3653 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_ID_ADDR(x), mask)
3654 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_OUT(x, val)                  \
3655 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_ID_ADDR(x), val)
3656 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_OUTM(x, mask, val)           \
3657 	do {\
3658 		HWIO_INTLOCK(); \
3659 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_ID_IN(x)); \
3660 		HWIO_INTFREE();\
3661 	} while (0)
3662 
3663 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_RING_ID_BMSK                 0x0000ff00
3664 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_RING_ID_SHFT                        0x8
3665 
3666 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
3667 #define HWIO_TCL_R0_TCL_STATUS1_RING_ID_ENTRY_SIZE_SHFT                     0x0
3668 
3669 //// Register TCL_R0_TCL_STATUS1_RING_STATUS ////
3670 
3671 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_ADDR(x)                  (x+0x000008b0)
3672 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_PHYS(x)                  (x+0x000008b0)
3673 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_RMSK                     0xffffffff
3674 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_SHFT                              0
3675 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_IN(x)                    \
3676 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_RMSK)
3677 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_INM(x, mask)             \
3678 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_ADDR(x), mask)
3679 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_OUT(x, val)              \
3680 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_ADDR(x), val)
3681 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_OUTM(x, mask, val)       \
3682 	do {\
3683 		HWIO_INTLOCK(); \
3684 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_IN(x)); \
3685 		HWIO_INTFREE();\
3686 	} while (0)
3687 
3688 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
3689 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
3690 
3691 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
3692 #define HWIO_TCL_R0_TCL_STATUS1_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
3693 
3694 //// Register TCL_R0_TCL_STATUS1_RING_MISC ////
3695 
3696 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_ADDR(x)                    (x+0x000008b4)
3697 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_PHYS(x)                    (x+0x000008b4)
3698 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_RMSK                       0x03ffffff
3699 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SHFT                                0
3700 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_IN(x)                      \
3701 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MISC_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_MISC_RMSK)
3702 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_INM(x, mask)               \
3703 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MISC_ADDR(x), mask)
3704 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_OUT(x, val)                \
3705 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_MISC_ADDR(x), val)
3706 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_OUTM(x, mask, val)         \
3707 	do {\
3708 		HWIO_INTLOCK(); \
3709 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_MISC_IN(x)); \
3710 		HWIO_INTFREE();\
3711 	} while (0)
3712 
3713 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_LOOP_CNT_BMSK              0x03c00000
3714 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_LOOP_CNT_SHFT                    0x16
3715 
3716 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
3717 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SPARE_CONTROL_SHFT                0xe
3718 
3719 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
3720 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
3721 
3722 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
3723 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
3724 
3725 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
3726 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
3727 
3728 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
3729 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SRNG_ENABLE_SHFT                  0x6
3730 
3731 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
3732 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
3733 
3734 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
3735 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
3736 
3737 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
3738 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
3739 
3740 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SECURITY_BIT_BMSK          0x00000004
3741 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_SECURITY_BIT_SHFT                 0x2
3742 
3743 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
3744 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
3745 
3746 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
3747 #define HWIO_TCL_R0_TCL_STATUS1_RING_MISC_RING_ID_DISABLE_SHFT              0x0
3748 
3749 //// Register TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB ////
3750 
3751 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_ADDR(x)             (x+0x000008b8)
3752 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_PHYS(x)             (x+0x000008b8)
3753 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_RMSK                0xffffffff
3754 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_SHFT                         0
3755 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_IN(x)               \
3756 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_RMSK)
3757 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_INM(x, mask)        \
3758 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_ADDR(x), mask)
3759 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_OUT(x, val)         \
3760 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_ADDR(x), val)
3761 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_OUTM(x, mask, val)  \
3762 	do {\
3763 		HWIO_INTLOCK(); \
3764 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_IN(x)); \
3765 		HWIO_INTFREE();\
3766 	} while (0)
3767 
3768 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
3769 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
3770 
3771 //// Register TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB ////
3772 
3773 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_ADDR(x)             (x+0x000008bc)
3774 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_PHYS(x)             (x+0x000008bc)
3775 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_RMSK                0x000000ff
3776 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_SHFT                         0
3777 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_IN(x)               \
3778 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_RMSK)
3779 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_INM(x, mask)        \
3780 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_ADDR(x), mask)
3781 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_OUT(x, val)         \
3782 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_ADDR(x), val)
3783 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_OUTM(x, mask, val)  \
3784 	do {\
3785 		HWIO_INTLOCK(); \
3786 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_IN(x)); \
3787 		HWIO_INTFREE();\
3788 	} while (0)
3789 
3790 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
3791 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
3792 
3793 //// Register TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP ////
3794 
3795 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_ADDR(x)      (x+0x000008c8)
3796 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_PHYS(x)      (x+0x000008c8)
3797 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_RMSK         0xffffffff
3798 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_SHFT                  0
3799 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_IN(x)        \
3800 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_RMSK)
3801 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_INM(x, mask) \
3802 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
3803 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_OUT(x, val)  \
3804 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_ADDR(x), val)
3805 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
3806 	do {\
3807 		HWIO_INTLOCK(); \
3808 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_IN(x)); \
3809 		HWIO_INTFREE();\
3810 	} while (0)
3811 
3812 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
3813 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
3814 
3815 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
3816 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
3817 
3818 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
3819 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
3820 
3821 //// Register TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS ////
3822 
3823 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_ADDR(x)     (x+0x000008cc)
3824 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_PHYS(x)     (x+0x000008cc)
3825 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_RMSK        0xffffffff
3826 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_SHFT                 0
3827 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_IN(x)       \
3828 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_RMSK)
3829 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_INM(x, mask) \
3830 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
3831 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_OUT(x, val) \
3832 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_ADDR(x), val)
3833 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
3834 	do {\
3835 		HWIO_INTLOCK(); \
3836 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_IN(x)); \
3837 		HWIO_INTFREE();\
3838 	} while (0)
3839 
3840 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
3841 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
3842 
3843 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
3844 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
3845 
3846 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
3847 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
3848 
3849 //// Register TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER ////
3850 
3851 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_ADDR(x)   (x+0x000008d0)
3852 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_PHYS(x)   (x+0x000008d0)
3853 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_RMSK      0x000003ff
3854 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_SHFT               0
3855 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_IN(x)     \
3856 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_RMSK)
3857 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
3858 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
3859 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
3860 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
3861 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
3862 	do {\
3863 		HWIO_INTLOCK(); \
3864 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_IN(x)); \
3865 		HWIO_INTFREE();\
3866 	} while (0)
3867 
3868 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
3869 #define HWIO_TCL_R0_TCL_STATUS1_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
3870 
3871 //// Register TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB ////
3872 
3873 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR(x)           (x+0x000008ec)
3874 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_PHYS(x)           (x+0x000008ec)
3875 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_RMSK              0xffffffff
3876 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_SHFT                       0
3877 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_IN(x)             \
3878 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_RMSK)
3879 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_INM(x, mask)      \
3880 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR(x), mask)
3881 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_OUT(x, val)       \
3882 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR(x), val)
3883 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
3884 	do {\
3885 		HWIO_INTLOCK(); \
3886 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_IN(x)); \
3887 		HWIO_INTFREE();\
3888 	} while (0)
3889 
3890 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR_BMSK         0xffffffff
3891 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_LSB_ADDR_SHFT                0x0
3892 
3893 //// Register TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB ////
3894 
3895 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR(x)           (x+0x000008f0)
3896 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_PHYS(x)           (x+0x000008f0)
3897 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_RMSK              0x000001ff
3898 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_SHFT                       0
3899 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_IN(x)             \
3900 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_RMSK)
3901 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_INM(x, mask)      \
3902 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR(x), mask)
3903 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_OUT(x, val)       \
3904 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR(x), val)
3905 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
3906 	do {\
3907 		HWIO_INTLOCK(); \
3908 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_IN(x)); \
3909 		HWIO_INTFREE();\
3910 	} while (0)
3911 
3912 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK  0x00000100
3913 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT         0x8
3914 
3915 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR_BMSK         0x000000ff
3916 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_BASE_MSB_ADDR_SHFT                0x0
3917 
3918 //// Register TCL_R0_TCL_STATUS1_RING_MSI1_DATA ////
3919 
3920 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_ADDR(x)               (x+0x000008f4)
3921 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_PHYS(x)               (x+0x000008f4)
3922 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_RMSK                  0xffffffff
3923 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_SHFT                           0
3924 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_IN(x)                 \
3925 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_RMSK)
3926 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_INM(x, mask)          \
3927 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_ADDR(x), mask)
3928 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_OUT(x, val)           \
3929 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_ADDR(x), val)
3930 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_OUTM(x, mask, val)    \
3931 	do {\
3932 		HWIO_INTLOCK(); \
3933 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_IN(x)); \
3934 		HWIO_INTFREE();\
3935 	} while (0)
3936 
3937 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_VALUE_BMSK            0xffffffff
3938 #define HWIO_TCL_R0_TCL_STATUS1_RING_MSI1_DATA_VALUE_SHFT                   0x0
3939 
3940 //// Register TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET ////
3941 
3942 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x000008f8)
3943 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x000008f8)
3944 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
3945 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_SHFT                     0
3946 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_IN(x)           \
3947 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_RMSK)
3948 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
3949 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3950 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
3951 	out_dword( HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3952 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
3953 	do {\
3954 		HWIO_INTLOCK(); \
3955 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_IN(x)); \
3956 		HWIO_INTFREE();\
3957 	} while (0)
3958 
3959 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3960 #define HWIO_TCL_R0_TCL_STATUS1_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3961 
3962 //// Register TCL_R0_TCL_STATUS2_RING_BASE_LSB ////
3963 
3964 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_ADDR(x)                (x+0x000008fc)
3965 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_PHYS(x)                (x+0x000008fc)
3966 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_RMSK                   0xffffffff
3967 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_SHFT                            0
3968 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_IN(x)                  \
3969 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_RMSK)
3970 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_INM(x, mask)           \
3971 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_ADDR(x), mask)
3972 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_OUT(x, val)            \
3973 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_ADDR(x), val)
3974 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_OUTM(x, mask, val)     \
3975 	do {\
3976 		HWIO_INTLOCK(); \
3977 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_IN(x)); \
3978 		HWIO_INTFREE();\
3979 	} while (0)
3980 
3981 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
3982 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
3983 
3984 //// Register TCL_R0_TCL_STATUS2_RING_BASE_MSB ////
3985 
3986 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_ADDR(x)                (x+0x00000900)
3987 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_PHYS(x)                (x+0x00000900)
3988 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RMSK                   0x00ffffff
3989 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_SHFT                            0
3990 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_IN(x)                  \
3991 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RMSK)
3992 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_INM(x, mask)           \
3993 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_ADDR(x), mask)
3994 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_OUT(x, val)            \
3995 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_ADDR(x), val)
3996 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_OUTM(x, mask, val)     \
3997 	do {\
3998 		HWIO_INTLOCK(); \
3999 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_IN(x)); \
4000 		HWIO_INTFREE();\
4001 	} while (0)
4002 
4003 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
4004 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RING_SIZE_SHFT                0x8
4005 
4006 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
4007 #define HWIO_TCL_R0_TCL_STATUS2_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
4008 
4009 //// Register TCL_R0_TCL_STATUS2_RING_ID ////
4010 
4011 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_ADDR(x)                      (x+0x00000904)
4012 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_PHYS(x)                      (x+0x00000904)
4013 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_RMSK                         0x0000ffff
4014 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_SHFT                                  0
4015 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_IN(x)                        \
4016 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_ID_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_ID_RMSK)
4017 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_INM(x, mask)                 \
4018 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_ID_ADDR(x), mask)
4019 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_OUT(x, val)                  \
4020 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_ID_ADDR(x), val)
4021 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_OUTM(x, mask, val)           \
4022 	do {\
4023 		HWIO_INTLOCK(); \
4024 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_ID_IN(x)); \
4025 		HWIO_INTFREE();\
4026 	} while (0)
4027 
4028 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_RING_ID_BMSK                 0x0000ff00
4029 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_RING_ID_SHFT                        0x8
4030 
4031 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
4032 #define HWIO_TCL_R0_TCL_STATUS2_RING_ID_ENTRY_SIZE_SHFT                     0x0
4033 
4034 //// Register TCL_R0_TCL_STATUS2_RING_STATUS ////
4035 
4036 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_ADDR(x)                  (x+0x00000908)
4037 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_PHYS(x)                  (x+0x00000908)
4038 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_RMSK                     0xffffffff
4039 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_SHFT                              0
4040 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_IN(x)                    \
4041 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_RMSK)
4042 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_INM(x, mask)             \
4043 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_ADDR(x), mask)
4044 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_OUT(x, val)              \
4045 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_ADDR(x), val)
4046 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_OUTM(x, mask, val)       \
4047 	do {\
4048 		HWIO_INTLOCK(); \
4049 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_IN(x)); \
4050 		HWIO_INTFREE();\
4051 	} while (0)
4052 
4053 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
4054 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
4055 
4056 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
4057 #define HWIO_TCL_R0_TCL_STATUS2_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
4058 
4059 //// Register TCL_R0_TCL_STATUS2_RING_MISC ////
4060 
4061 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_ADDR(x)                    (x+0x0000090c)
4062 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_PHYS(x)                    (x+0x0000090c)
4063 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_RMSK                       0x03ffffff
4064 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SHFT                                0
4065 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_IN(x)                      \
4066 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MISC_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_MISC_RMSK)
4067 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_INM(x, mask)               \
4068 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MISC_ADDR(x), mask)
4069 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_OUT(x, val)                \
4070 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_MISC_ADDR(x), val)
4071 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_OUTM(x, mask, val)         \
4072 	do {\
4073 		HWIO_INTLOCK(); \
4074 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_MISC_IN(x)); \
4075 		HWIO_INTFREE();\
4076 	} while (0)
4077 
4078 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_LOOP_CNT_BMSK              0x03c00000
4079 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_LOOP_CNT_SHFT                    0x16
4080 
4081 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
4082 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SPARE_CONTROL_SHFT                0xe
4083 
4084 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
4085 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
4086 
4087 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
4088 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
4089 
4090 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
4091 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
4092 
4093 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
4094 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SRNG_ENABLE_SHFT                  0x6
4095 
4096 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
4097 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
4098 
4099 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
4100 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
4101 
4102 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
4103 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
4104 
4105 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SECURITY_BIT_BMSK          0x00000004
4106 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_SECURITY_BIT_SHFT                 0x2
4107 
4108 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
4109 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
4110 
4111 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
4112 #define HWIO_TCL_R0_TCL_STATUS2_RING_MISC_RING_ID_DISABLE_SHFT              0x0
4113 
4114 //// Register TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB ////
4115 
4116 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_ADDR(x)             (x+0x00000910)
4117 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_PHYS(x)             (x+0x00000910)
4118 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_RMSK                0xffffffff
4119 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_SHFT                         0
4120 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_IN(x)               \
4121 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_RMSK)
4122 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_INM(x, mask)        \
4123 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_ADDR(x), mask)
4124 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_OUT(x, val)         \
4125 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_ADDR(x), val)
4126 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_OUTM(x, mask, val)  \
4127 	do {\
4128 		HWIO_INTLOCK(); \
4129 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_IN(x)); \
4130 		HWIO_INTFREE();\
4131 	} while (0)
4132 
4133 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
4134 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
4135 
4136 //// Register TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB ////
4137 
4138 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_ADDR(x)             (x+0x00000914)
4139 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_PHYS(x)             (x+0x00000914)
4140 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_RMSK                0x000000ff
4141 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_SHFT                         0
4142 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_IN(x)               \
4143 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_RMSK)
4144 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_INM(x, mask)        \
4145 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_ADDR(x), mask)
4146 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_OUT(x, val)         \
4147 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_ADDR(x), val)
4148 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_OUTM(x, mask, val)  \
4149 	do {\
4150 		HWIO_INTLOCK(); \
4151 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_IN(x)); \
4152 		HWIO_INTFREE();\
4153 	} while (0)
4154 
4155 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
4156 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
4157 
4158 //// Register TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP ////
4159 
4160 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_ADDR(x)      (x+0x00000920)
4161 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_PHYS(x)      (x+0x00000920)
4162 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_RMSK         0xffffffff
4163 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_SHFT                  0
4164 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_IN(x)        \
4165 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_RMSK)
4166 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_INM(x, mask) \
4167 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
4168 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_OUT(x, val)  \
4169 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_ADDR(x), val)
4170 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
4171 	do {\
4172 		HWIO_INTLOCK(); \
4173 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_IN(x)); \
4174 		HWIO_INTFREE();\
4175 	} while (0)
4176 
4177 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
4178 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
4179 
4180 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
4181 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
4182 
4183 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
4184 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
4185 
4186 //// Register TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS ////
4187 
4188 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_ADDR(x)     (x+0x00000924)
4189 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_PHYS(x)     (x+0x00000924)
4190 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_RMSK        0xffffffff
4191 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_SHFT                 0
4192 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_IN(x)       \
4193 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_RMSK)
4194 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_INM(x, mask) \
4195 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
4196 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_OUT(x, val) \
4197 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_ADDR(x), val)
4198 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
4199 	do {\
4200 		HWIO_INTLOCK(); \
4201 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_IN(x)); \
4202 		HWIO_INTFREE();\
4203 	} while (0)
4204 
4205 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
4206 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
4207 
4208 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
4209 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
4210 
4211 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
4212 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
4213 
4214 //// Register TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER ////
4215 
4216 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_ADDR(x)   (x+0x00000928)
4217 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_PHYS(x)   (x+0x00000928)
4218 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_RMSK      0x000003ff
4219 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_SHFT               0
4220 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_IN(x)     \
4221 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_RMSK)
4222 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
4223 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
4224 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
4225 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
4226 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
4227 	do {\
4228 		HWIO_INTLOCK(); \
4229 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_IN(x)); \
4230 		HWIO_INTFREE();\
4231 	} while (0)
4232 
4233 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
4234 #define HWIO_TCL_R0_TCL_STATUS2_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
4235 
4236 //// Register TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB ////
4237 
4238 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR(x)           (x+0x00000944)
4239 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_PHYS(x)           (x+0x00000944)
4240 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_RMSK              0xffffffff
4241 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_SHFT                       0
4242 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_IN(x)             \
4243 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_RMSK)
4244 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_INM(x, mask)      \
4245 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR(x), mask)
4246 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_OUT(x, val)       \
4247 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR(x), val)
4248 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
4249 	do {\
4250 		HWIO_INTLOCK(); \
4251 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_IN(x)); \
4252 		HWIO_INTFREE();\
4253 	} while (0)
4254 
4255 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR_BMSK         0xffffffff
4256 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_LSB_ADDR_SHFT                0x0
4257 
4258 //// Register TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB ////
4259 
4260 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR(x)           (x+0x00000948)
4261 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_PHYS(x)           (x+0x00000948)
4262 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_RMSK              0x000001ff
4263 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_SHFT                       0
4264 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_IN(x)             \
4265 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_RMSK)
4266 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_INM(x, mask)      \
4267 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR(x), mask)
4268 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_OUT(x, val)       \
4269 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR(x), val)
4270 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
4271 	do {\
4272 		HWIO_INTLOCK(); \
4273 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_IN(x)); \
4274 		HWIO_INTFREE();\
4275 	} while (0)
4276 
4277 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK  0x00000100
4278 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT         0x8
4279 
4280 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR_BMSK         0x000000ff
4281 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_BASE_MSB_ADDR_SHFT                0x0
4282 
4283 //// Register TCL_R0_TCL_STATUS2_RING_MSI1_DATA ////
4284 
4285 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_ADDR(x)               (x+0x0000094c)
4286 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_PHYS(x)               (x+0x0000094c)
4287 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_RMSK                  0xffffffff
4288 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_SHFT                           0
4289 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_IN(x)                 \
4290 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_RMSK)
4291 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_INM(x, mask)          \
4292 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_ADDR(x), mask)
4293 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_OUT(x, val)           \
4294 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_ADDR(x), val)
4295 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_OUTM(x, mask, val)    \
4296 	do {\
4297 		HWIO_INTLOCK(); \
4298 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_IN(x)); \
4299 		HWIO_INTFREE();\
4300 	} while (0)
4301 
4302 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_VALUE_BMSK            0xffffffff
4303 #define HWIO_TCL_R0_TCL_STATUS2_RING_MSI1_DATA_VALUE_SHFT                   0x0
4304 
4305 //// Register TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET ////
4306 
4307 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x00000950)
4308 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x00000950)
4309 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
4310 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_SHFT                     0
4311 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_IN(x)           \
4312 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_RMSK)
4313 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
4314 	in_dword_masked ( HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
4315 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
4316 	out_dword( HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_ADDR(x), val)
4317 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
4318 	do {\
4319 		HWIO_INTLOCK(); \
4320 		out_dword_masked_ns(HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_IN(x)); \
4321 		HWIO_INTFREE();\
4322 	} while (0)
4323 
4324 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
4325 #define HWIO_TCL_R0_TCL_STATUS2_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
4326 
4327 //// Register TCL_R0_TCL2FW_RING_BASE_LSB ////
4328 
4329 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_ADDR(x)                     (x+0x00000954)
4330 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_PHYS(x)                     (x+0x00000954)
4331 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_RMSK                        0xffffffff
4332 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_SHFT                                 0
4333 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_IN(x)                       \
4334 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_RMSK)
4335 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_INM(x, mask)                \
4336 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_ADDR(x), mask)
4337 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_OUT(x, val)                 \
4338 	out_dword( HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_ADDR(x), val)
4339 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_OUTM(x, mask, val)          \
4340 	do {\
4341 		HWIO_INTLOCK(); \
4342 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_IN(x)); \
4343 		HWIO_INTFREE();\
4344 	} while (0)
4345 
4346 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK     0xffffffff
4347 #define HWIO_TCL_R0_TCL2FW_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT            0x0
4348 
4349 //// Register TCL_R0_TCL2FW_RING_BASE_MSB ////
4350 
4351 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_ADDR(x)                     (x+0x00000958)
4352 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_PHYS(x)                     (x+0x00000958)
4353 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RMSK                        0x00ffffff
4354 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_SHFT                                 0
4355 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_IN(x)                       \
4356 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RMSK)
4357 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_INM(x, mask)                \
4358 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_ADDR(x), mask)
4359 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_OUT(x, val)                 \
4360 	out_dword( HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_ADDR(x), val)
4361 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_OUTM(x, mask, val)          \
4362 	do {\
4363 		HWIO_INTLOCK(); \
4364 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_IN(x)); \
4365 		HWIO_INTFREE();\
4366 	} while (0)
4367 
4368 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RING_SIZE_BMSK              0x00ffff00
4369 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RING_SIZE_SHFT                     0x8
4370 
4371 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK     0x000000ff
4372 #define HWIO_TCL_R0_TCL2FW_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT            0x0
4373 
4374 //// Register TCL_R0_TCL2FW_RING_ID ////
4375 
4376 #define HWIO_TCL_R0_TCL2FW_RING_ID_ADDR(x)                           (x+0x0000095c)
4377 #define HWIO_TCL_R0_TCL2FW_RING_ID_PHYS(x)                           (x+0x0000095c)
4378 #define HWIO_TCL_R0_TCL2FW_RING_ID_RMSK                              0x0000ffff
4379 #define HWIO_TCL_R0_TCL2FW_RING_ID_SHFT                                       0
4380 #define HWIO_TCL_R0_TCL2FW_RING_ID_IN(x)                             \
4381 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_ID_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_ID_RMSK)
4382 #define HWIO_TCL_R0_TCL2FW_RING_ID_INM(x, mask)                      \
4383 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_ID_ADDR(x), mask)
4384 #define HWIO_TCL_R0_TCL2FW_RING_ID_OUT(x, val)                       \
4385 	out_dword( HWIO_TCL_R0_TCL2FW_RING_ID_ADDR(x), val)
4386 #define HWIO_TCL_R0_TCL2FW_RING_ID_OUTM(x, mask, val)                \
4387 	do {\
4388 		HWIO_INTLOCK(); \
4389 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_ID_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_ID_IN(x)); \
4390 		HWIO_INTFREE();\
4391 	} while (0)
4392 
4393 #define HWIO_TCL_R0_TCL2FW_RING_ID_RING_ID_BMSK                      0x0000ff00
4394 #define HWIO_TCL_R0_TCL2FW_RING_ID_RING_ID_SHFT                             0x8
4395 
4396 #define HWIO_TCL_R0_TCL2FW_RING_ID_ENTRY_SIZE_BMSK                   0x000000ff
4397 #define HWIO_TCL_R0_TCL2FW_RING_ID_ENTRY_SIZE_SHFT                          0x0
4398 
4399 //// Register TCL_R0_TCL2FW_RING_STATUS ////
4400 
4401 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_ADDR(x)                       (x+0x00000960)
4402 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_PHYS(x)                       (x+0x00000960)
4403 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_RMSK                          0xffffffff
4404 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_SHFT                                   0
4405 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_IN(x)                         \
4406 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_STATUS_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_STATUS_RMSK)
4407 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_INM(x, mask)                  \
4408 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_STATUS_ADDR(x), mask)
4409 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_OUT(x, val)                   \
4410 	out_dword( HWIO_TCL_R0_TCL2FW_RING_STATUS_ADDR(x), val)
4411 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_OUTM(x, mask, val)            \
4412 	do {\
4413 		HWIO_INTLOCK(); \
4414 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_STATUS_IN(x)); \
4415 		HWIO_INTFREE();\
4416 	} while (0)
4417 
4418 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_NUM_AVAIL_WORDS_BMSK          0xffff0000
4419 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_NUM_AVAIL_WORDS_SHFT                0x10
4420 
4421 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_NUM_VALID_WORDS_BMSK          0x0000ffff
4422 #define HWIO_TCL_R0_TCL2FW_RING_STATUS_NUM_VALID_WORDS_SHFT                 0x0
4423 
4424 //// Register TCL_R0_TCL2FW_RING_MISC ////
4425 
4426 #define HWIO_TCL_R0_TCL2FW_RING_MISC_ADDR(x)                         (x+0x00000964)
4427 #define HWIO_TCL_R0_TCL2FW_RING_MISC_PHYS(x)                         (x+0x00000964)
4428 #define HWIO_TCL_R0_TCL2FW_RING_MISC_RMSK                            0x03ffffff
4429 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SHFT                                     0
4430 #define HWIO_TCL_R0_TCL2FW_RING_MISC_IN(x)                           \
4431 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MISC_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_MISC_RMSK)
4432 #define HWIO_TCL_R0_TCL2FW_RING_MISC_INM(x, mask)                    \
4433 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MISC_ADDR(x), mask)
4434 #define HWIO_TCL_R0_TCL2FW_RING_MISC_OUT(x, val)                     \
4435 	out_dword( HWIO_TCL_R0_TCL2FW_RING_MISC_ADDR(x), val)
4436 #define HWIO_TCL_R0_TCL2FW_RING_MISC_OUTM(x, mask, val)              \
4437 	do {\
4438 		HWIO_INTLOCK(); \
4439 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_MISC_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_MISC_IN(x)); \
4440 		HWIO_INTFREE();\
4441 	} while (0)
4442 
4443 #define HWIO_TCL_R0_TCL2FW_RING_MISC_LOOP_CNT_BMSK                   0x03c00000
4444 #define HWIO_TCL_R0_TCL2FW_RING_MISC_LOOP_CNT_SHFT                         0x16
4445 
4446 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SPARE_CONTROL_BMSK              0x003fc000
4447 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SPARE_CONTROL_SHFT                     0xe
4448 
4449 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_SM_STATE2_BMSK             0x00003000
4450 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_SM_STATE2_SHFT                    0xc
4451 
4452 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_SM_STATE1_BMSK             0x00000f00
4453 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_SM_STATE1_SHFT                    0x8
4454 
4455 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_IS_IDLE_BMSK               0x00000080
4456 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_IS_IDLE_SHFT                      0x7
4457 
4458 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_ENABLE_BMSK                0x00000040
4459 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SRNG_ENABLE_SHFT                       0x6
4460 
4461 #define HWIO_TCL_R0_TCL2FW_RING_MISC_DATA_TLV_SWAP_BIT_BMSK          0x00000020
4462 #define HWIO_TCL_R0_TCL2FW_RING_MISC_DATA_TLV_SWAP_BIT_SHFT                 0x5
4463 
4464 #define HWIO_TCL_R0_TCL2FW_RING_MISC_HOST_FW_SWAP_BIT_BMSK           0x00000010
4465 #define HWIO_TCL_R0_TCL2FW_RING_MISC_HOST_FW_SWAP_BIT_SHFT                  0x4
4466 
4467 #define HWIO_TCL_R0_TCL2FW_RING_MISC_MSI_SWAP_BIT_BMSK               0x00000008
4468 #define HWIO_TCL_R0_TCL2FW_RING_MISC_MSI_SWAP_BIT_SHFT                      0x3
4469 
4470 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SECURITY_BIT_BMSK               0x00000004
4471 #define HWIO_TCL_R0_TCL2FW_RING_MISC_SECURITY_BIT_SHFT                      0x2
4472 
4473 #define HWIO_TCL_R0_TCL2FW_RING_MISC_LOOPCNT_DISABLE_BMSK            0x00000002
4474 #define HWIO_TCL_R0_TCL2FW_RING_MISC_LOOPCNT_DISABLE_SHFT                   0x1
4475 
4476 #define HWIO_TCL_R0_TCL2FW_RING_MISC_RING_ID_DISABLE_BMSK            0x00000001
4477 #define HWIO_TCL_R0_TCL2FW_RING_MISC_RING_ID_DISABLE_SHFT                   0x0
4478 
4479 //// Register TCL_R0_TCL2FW_RING_HP_ADDR_LSB ////
4480 
4481 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_ADDR(x)                  (x+0x00000968)
4482 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_PHYS(x)                  (x+0x00000968)
4483 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_RMSK                     0xffffffff
4484 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_SHFT                              0
4485 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_IN(x)                    \
4486 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_RMSK)
4487 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_INM(x, mask)             \
4488 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_ADDR(x), mask)
4489 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_OUT(x, val)              \
4490 	out_dword( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_ADDR(x), val)
4491 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_OUTM(x, mask, val)       \
4492 	do {\
4493 		HWIO_INTLOCK(); \
4494 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_IN(x)); \
4495 		HWIO_INTFREE();\
4496 	} while (0)
4497 
4498 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
4499 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
4500 
4501 //// Register TCL_R0_TCL2FW_RING_HP_ADDR_MSB ////
4502 
4503 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_ADDR(x)                  (x+0x0000096c)
4504 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_PHYS(x)                  (x+0x0000096c)
4505 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_RMSK                     0x000000ff
4506 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_SHFT                              0
4507 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_IN(x)                    \
4508 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_RMSK)
4509 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_INM(x, mask)             \
4510 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_ADDR(x), mask)
4511 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_OUT(x, val)              \
4512 	out_dword( HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_ADDR(x), val)
4513 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_OUTM(x, mask, val)       \
4514 	do {\
4515 		HWIO_INTLOCK(); \
4516 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_IN(x)); \
4517 		HWIO_INTFREE();\
4518 	} while (0)
4519 
4520 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
4521 #define HWIO_TCL_R0_TCL2FW_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
4522 
4523 //// Register TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP ////
4524 
4525 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_ADDR(x)           (x+0x00000978)
4526 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_PHYS(x)           (x+0x00000978)
4527 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_RMSK              0xffffffff
4528 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_SHFT                       0
4529 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_IN(x)             \
4530 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_RMSK)
4531 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_INM(x, mask)      \
4532 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
4533 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_OUT(x, val)       \
4534 	out_dword( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_ADDR(x), val)
4535 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
4536 	do {\
4537 		HWIO_INTLOCK(); \
4538 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_IN(x)); \
4539 		HWIO_INTFREE();\
4540 	} while (0)
4541 
4542 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
4543 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
4544 
4545 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
4546 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
4547 
4548 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
4549 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
4550 
4551 //// Register TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS ////
4552 
4553 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_ADDR(x)          (x+0x0000097c)
4554 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_PHYS(x)          (x+0x0000097c)
4555 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_RMSK             0xffffffff
4556 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_SHFT                      0
4557 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_IN(x)            \
4558 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_RMSK)
4559 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_INM(x, mask)     \
4560 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
4561 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_OUT(x, val)      \
4562 	out_dword( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_ADDR(x), val)
4563 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
4564 	do {\
4565 		HWIO_INTLOCK(); \
4566 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_IN(x)); \
4567 		HWIO_INTFREE();\
4568 	} while (0)
4569 
4570 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
4571 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
4572 
4573 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
4574 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
4575 
4576 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
4577 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
4578 
4579 //// Register TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER ////
4580 
4581 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_ADDR(x)        (x+0x00000980)
4582 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_PHYS(x)        (x+0x00000980)
4583 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_RMSK           0x000003ff
4584 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_SHFT                    0
4585 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_IN(x)          \
4586 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_RMSK)
4587 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_INM(x, mask)   \
4588 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
4589 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_OUT(x, val)    \
4590 	out_dword( HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
4591 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
4592 	do {\
4593 		HWIO_INTLOCK(); \
4594 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_IN(x)); \
4595 		HWIO_INTFREE();\
4596 	} while (0)
4597 
4598 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
4599 #define HWIO_TCL_R0_TCL2FW_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
4600 
4601 //// Register TCL_R0_TCL2FW_RING_MSI1_BASE_LSB ////
4602 
4603 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR(x)                (x+0x0000099c)
4604 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_PHYS(x)                (x+0x0000099c)
4605 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_RMSK                   0xffffffff
4606 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_SHFT                            0
4607 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_IN(x)                  \
4608 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_RMSK)
4609 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_INM(x, mask)           \
4610 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR(x), mask)
4611 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_OUT(x, val)            \
4612 	out_dword( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR(x), val)
4613 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_OUTM(x, mask, val)     \
4614 	do {\
4615 		HWIO_INTLOCK(); \
4616 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_IN(x)); \
4617 		HWIO_INTFREE();\
4618 	} while (0)
4619 
4620 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR_BMSK              0xffffffff
4621 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_LSB_ADDR_SHFT                     0x0
4622 
4623 //// Register TCL_R0_TCL2FW_RING_MSI1_BASE_MSB ////
4624 
4625 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR(x)                (x+0x000009a0)
4626 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_PHYS(x)                (x+0x000009a0)
4627 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_RMSK                   0x000001ff
4628 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_SHFT                            0
4629 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_IN(x)                  \
4630 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_RMSK)
4631 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_INM(x, mask)           \
4632 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR(x), mask)
4633 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_OUT(x, val)            \
4634 	out_dword( HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR(x), val)
4635 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_OUTM(x, mask, val)     \
4636 	do {\
4637 		HWIO_INTLOCK(); \
4638 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_IN(x)); \
4639 		HWIO_INTFREE();\
4640 	} while (0)
4641 
4642 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK       0x00000100
4643 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT              0x8
4644 
4645 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR_BMSK              0x000000ff
4646 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_BASE_MSB_ADDR_SHFT                     0x0
4647 
4648 //// Register TCL_R0_TCL2FW_RING_MSI1_DATA ////
4649 
4650 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_ADDR(x)                    (x+0x000009a4)
4651 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_PHYS(x)                    (x+0x000009a4)
4652 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_RMSK                       0xffffffff
4653 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_SHFT                                0
4654 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_IN(x)                      \
4655 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_RMSK)
4656 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_INM(x, mask)               \
4657 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_ADDR(x), mask)
4658 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_OUT(x, val)                \
4659 	out_dword( HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_ADDR(x), val)
4660 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_OUTM(x, mask, val)         \
4661 	do {\
4662 		HWIO_INTLOCK(); \
4663 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_IN(x)); \
4664 		HWIO_INTFREE();\
4665 	} while (0)
4666 
4667 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_VALUE_BMSK                 0xffffffff
4668 #define HWIO_TCL_R0_TCL2FW_RING_MSI1_DATA_VALUE_SHFT                        0x0
4669 
4670 //// Register TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET ////
4671 
4672 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_ADDR(x)              (x+0x000009a8)
4673 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_PHYS(x)              (x+0x000009a8)
4674 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_RMSK                 0x0000ffff
4675 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_SHFT                          0
4676 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_IN(x)                \
4677 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_RMSK)
4678 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_INM(x, mask)         \
4679 	in_dword_masked ( HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
4680 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_OUT(x, val)          \
4681 	out_dword( HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_ADDR(x), val)
4682 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val)   \
4683 	do {\
4684 		HWIO_INTLOCK(); \
4685 		out_dword_masked_ns(HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_IN(x)); \
4686 		HWIO_INTFREE();\
4687 	} while (0)
4688 
4689 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
4690 #define HWIO_TCL_R0_TCL2FW_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
4691 
4692 //// Register TCL_R0_GXI_TESTBUS_LOWER ////
4693 
4694 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_ADDR(x)                        (x+0x000009ac)
4695 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_PHYS(x)                        (x+0x000009ac)
4696 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_RMSK                           0xffffffff
4697 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_SHFT                                    0
4698 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_IN(x)                          \
4699 	in_dword_masked ( HWIO_TCL_R0_GXI_TESTBUS_LOWER_ADDR(x), HWIO_TCL_R0_GXI_TESTBUS_LOWER_RMSK)
4700 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_INM(x, mask)                   \
4701 	in_dword_masked ( HWIO_TCL_R0_GXI_TESTBUS_LOWER_ADDR(x), mask)
4702 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_OUT(x, val)                    \
4703 	out_dword( HWIO_TCL_R0_GXI_TESTBUS_LOWER_ADDR(x), val)
4704 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_OUTM(x, mask, val)             \
4705 	do {\
4706 		HWIO_INTLOCK(); \
4707 		out_dword_masked_ns(HWIO_TCL_R0_GXI_TESTBUS_LOWER_ADDR(x), mask, val, HWIO_TCL_R0_GXI_TESTBUS_LOWER_IN(x)); \
4708 		HWIO_INTFREE();\
4709 	} while (0)
4710 
4711 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_VALUE_BMSK                     0xffffffff
4712 #define HWIO_TCL_R0_GXI_TESTBUS_LOWER_VALUE_SHFT                            0x0
4713 
4714 //// Register TCL_R0_GXI_TESTBUS_UPPER ////
4715 
4716 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_ADDR(x)                        (x+0x000009b0)
4717 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_PHYS(x)                        (x+0x000009b0)
4718 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_RMSK                           0x000000ff
4719 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_SHFT                                    0
4720 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_IN(x)                          \
4721 	in_dword_masked ( HWIO_TCL_R0_GXI_TESTBUS_UPPER_ADDR(x), HWIO_TCL_R0_GXI_TESTBUS_UPPER_RMSK)
4722 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_INM(x, mask)                   \
4723 	in_dword_masked ( HWIO_TCL_R0_GXI_TESTBUS_UPPER_ADDR(x), mask)
4724 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_OUT(x, val)                    \
4725 	out_dword( HWIO_TCL_R0_GXI_TESTBUS_UPPER_ADDR(x), val)
4726 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_OUTM(x, mask, val)             \
4727 	do {\
4728 		HWIO_INTLOCK(); \
4729 		out_dword_masked_ns(HWIO_TCL_R0_GXI_TESTBUS_UPPER_ADDR(x), mask, val, HWIO_TCL_R0_GXI_TESTBUS_UPPER_IN(x)); \
4730 		HWIO_INTFREE();\
4731 	} while (0)
4732 
4733 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_VALUE_BMSK                     0x000000ff
4734 #define HWIO_TCL_R0_GXI_TESTBUS_UPPER_VALUE_SHFT                            0x0
4735 
4736 //// Register TCL_R0_GXI_SM_STATES_IX_0 ////
4737 
4738 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_ADDR(x)                       (x+0x000009b4)
4739 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_PHYS(x)                       (x+0x000009b4)
4740 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_RMSK                          0x00000fff
4741 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SHFT                                   0
4742 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_IN(x)                         \
4743 	in_dword_masked ( HWIO_TCL_R0_GXI_SM_STATES_IX_0_ADDR(x), HWIO_TCL_R0_GXI_SM_STATES_IX_0_RMSK)
4744 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_INM(x, mask)                  \
4745 	in_dword_masked ( HWIO_TCL_R0_GXI_SM_STATES_IX_0_ADDR(x), mask)
4746 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_OUT(x, val)                   \
4747 	out_dword( HWIO_TCL_R0_GXI_SM_STATES_IX_0_ADDR(x), val)
4748 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_OUTM(x, mask, val)            \
4749 	do {\
4750 		HWIO_INTLOCK(); \
4751 		out_dword_masked_ns(HWIO_TCL_R0_GXI_SM_STATES_IX_0_ADDR(x), mask, val, HWIO_TCL_R0_GXI_SM_STATES_IX_0_IN(x)); \
4752 		HWIO_INTFREE();\
4753 	} while (0)
4754 
4755 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_RD_ADDR_BMSK         0x00000e00
4756 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_RD_ADDR_SHFT                0x9
4757 
4758 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_ADDR_BMSK         0x000001f0
4759 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_ADDR_SHFT                0x4
4760 
4761 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_DATA_BMSK         0x0000000f
4762 #define HWIO_TCL_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_DATA_SHFT                0x0
4763 
4764 //// Register TCL_R0_GXI_END_OF_TEST_CHECK ////
4765 
4766 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_ADDR(x)                    (x+0x000009b8)
4767 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_PHYS(x)                    (x+0x000009b8)
4768 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_RMSK                       0x00000001
4769 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_SHFT                                0
4770 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_IN(x)                      \
4771 	in_dword_masked ( HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_ADDR(x), HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_RMSK)
4772 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_INM(x, mask)               \
4773 	in_dword_masked ( HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_ADDR(x), mask)
4774 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_OUT(x, val)                \
4775 	out_dword( HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_ADDR(x), val)
4776 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_OUTM(x, mask, val)         \
4777 	do {\
4778 		HWIO_INTLOCK(); \
4779 		out_dword_masked_ns(HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_ADDR(x), mask, val, HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_IN(x)); \
4780 		HWIO_INTFREE();\
4781 	} while (0)
4782 
4783 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_BMSK 0x00000001
4784 #define HWIO_TCL_R0_GXI_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_SHFT        0x0
4785 
4786 //// Register TCL_R0_GXI_CLOCK_GATE_DISABLE ////
4787 
4788 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x)                   (x+0x000009bc)
4789 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_PHYS(x)                   (x+0x000009bc)
4790 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RMSK                      0x80000fff
4791 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_SHFT                               0
4792 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_IN(x)                     \
4793 	in_dword_masked ( HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RMSK)
4794 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_INM(x, mask)              \
4795 	in_dword_masked ( HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), mask)
4796 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_OUT(x, val)               \
4797 	out_dword( HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), val)
4798 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_OUTM(x, mask, val)        \
4799 	do {\
4800 		HWIO_INTLOCK(); \
4801 		out_dword_masked_ns(HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), mask, val, HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_IN(x)); \
4802 		HWIO_INTFREE();\
4803 	} while (0)
4804 
4805 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_CLOCK_GATE_EXTEND_BMSK    0x80000000
4806 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_CLOCK_GATE_EXTEND_SHFT          0x1f
4807 
4808 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_SPARE_BMSK                0x00000800
4809 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_SPARE_SHFT                       0xb
4810 
4811 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WDOG_CTR_BMSK             0x00000400
4812 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WDOG_CTR_SHFT                    0xa
4813 
4814 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_FIFO_BMSK              0x00000200
4815 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_FIFO_SHFT                     0x9
4816 
4817 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_FIFO_BMSK         0x00000100
4818 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_FIFO_SHFT                0x8
4819 
4820 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_FIFO_BMSK         0x00000080
4821 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_FIFO_SHFT                0x7
4822 
4823 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_AXI_MAS_BMSK           0x00000040
4824 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_AXI_MAS_SHFT                  0x6
4825 
4826 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_AXI_MAS_BMSK      0x00000020
4827 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_AXI_MAS_SHFT             0x5
4828 
4829 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_AXI_MAS_BMSK      0x00000010
4830 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_AXI_MAS_SHFT             0x4
4831 
4832 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_CMD_BMSK          0x00000008
4833 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_CMD_SHFT                 0x3
4834 
4835 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_CMD_BMSK          0x00000004
4836 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_CMD_SHFT                 0x2
4837 
4838 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_CMD_BMSK               0x00000002
4839 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_RD_CMD_SHFT                      0x1
4840 
4841 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_CORE_BMSK                 0x00000001
4842 #define HWIO_TCL_R0_GXI_CLOCK_GATE_DISABLE_CORE_SHFT                        0x0
4843 
4844 //// Register TCL_R0_GXI_GXI_ERR_INTS ////
4845 
4846 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_ADDR(x)                         (x+0x000009c0)
4847 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_PHYS(x)                         (x+0x000009c0)
4848 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_RMSK                            0x01010101
4849 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_SHFT                                     0
4850 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_IN(x)                           \
4851 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_ERR_INTS_ADDR(x), HWIO_TCL_R0_GXI_GXI_ERR_INTS_RMSK)
4852 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_INM(x, mask)                    \
4853 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_ERR_INTS_ADDR(x), mask)
4854 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_OUT(x, val)                     \
4855 	out_dword( HWIO_TCL_R0_GXI_GXI_ERR_INTS_ADDR(x), val)
4856 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_OUTM(x, mask, val)              \
4857 	do {\
4858 		HWIO_INTLOCK(); \
4859 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_ERR_INTS_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_ERR_INTS_IN(x)); \
4860 		HWIO_INTFREE();\
4861 	} while (0)
4862 
4863 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_WR_LAST_ERR_INT_BMSK        0x01000000
4864 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_WR_LAST_ERR_INT_SHFT              0x18
4865 
4866 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_AXI_WR_ERR_INT_BMSK         0x00010000
4867 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_AXI_WR_ERR_INT_SHFT               0x10
4868 
4869 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_AXI_RD_ERR_INT_BMSK         0x00000100
4870 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_AXI_RD_ERR_INT_SHFT                0x8
4871 
4872 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_WDTIMEOUT_INT_BMSK          0x00000001
4873 #define HWIO_TCL_R0_GXI_GXI_ERR_INTS_GXI_WDTIMEOUT_INT_SHFT                 0x0
4874 
4875 //// Register TCL_R0_GXI_GXI_ERR_STATS ////
4876 
4877 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_ADDR(x)                        (x+0x000009c4)
4878 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_PHYS(x)                        (x+0x000009c4)
4879 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_RMSK                           0x003f3f3f
4880 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_SHFT                                    0
4881 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_IN(x)                          \
4882 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_ERR_STATS_ADDR(x), HWIO_TCL_R0_GXI_GXI_ERR_STATS_RMSK)
4883 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_INM(x, mask)                   \
4884 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_ERR_STATS_ADDR(x), mask)
4885 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_OUT(x, val)                    \
4886 	out_dword( HWIO_TCL_R0_GXI_GXI_ERR_STATS_ADDR(x), val)
4887 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_OUTM(x, mask, val)             \
4888 	do {\
4889 		HWIO_INTLOCK(); \
4890 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_ERR_STATS_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_ERR_STATS_IN(x)); \
4891 		HWIO_INTFREE();\
4892 	} while (0)
4893 
4894 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_WR_LAST_ERR_PORT_BMSK      0x003f0000
4895 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_WR_LAST_ERR_PORT_SHFT            0x10
4896 
4897 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_WR_ERR_PORT_BMSK           0x00003f00
4898 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_WR_ERR_PORT_SHFT                  0x8
4899 
4900 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_RD_ERR_PORT_BMSK           0x0000003f
4901 #define HWIO_TCL_R0_GXI_GXI_ERR_STATS_AXI_RD_ERR_PORT_SHFT                  0x0
4902 
4903 //// Register TCL_R0_GXI_GXI_DEFAULT_CONTROL ////
4904 
4905 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x)                  (x+0x000009c8)
4906 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_PHYS(x)                  (x+0x000009c8)
4907 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_RMSK                     0xffff3f3f
4908 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_SHFT                              0
4909 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_IN(x)                    \
4910 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_RMSK)
4911 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_INM(x, mask)             \
4912 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), mask)
4913 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_OUT(x, val)              \
4914 	out_dword( HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), val)
4915 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_OUTM(x, mask, val)       \
4916 	do {\
4917 		HWIO_INTLOCK(); \
4918 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_IN(x)); \
4919 		HWIO_INTFREE();\
4920 	} while (0)
4921 
4922 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READ_DATA_BMSK 0xff000000
4923 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READ_DATA_SHFT       0x18
4924 
4925 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITE_DATA_BMSK 0x00ff0000
4926 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITE_DATA_SHFT       0x10
4927 
4928 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READS_BMSK 0x00003f00
4929 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READS_SHFT        0x8
4930 
4931 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITES_BMSK 0x0000003f
4932 #define HWIO_TCL_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITES_SHFT        0x0
4933 
4934 //// Register TCL_R0_GXI_GXI_REDUCED_CONTROL ////
4935 
4936 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x)                  (x+0x000009cc)
4937 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_PHYS(x)                  (x+0x000009cc)
4938 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_RMSK                     0xffff3f3f
4939 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_SHFT                              0
4940 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_IN(x)                    \
4941 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_RMSK)
4942 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_INM(x, mask)             \
4943 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), mask)
4944 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_OUT(x, val)              \
4945 	out_dword( HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), val)
4946 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_OUTM(x, mask, val)       \
4947 	do {\
4948 		HWIO_INTLOCK(); \
4949 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_IN(x)); \
4950 		HWIO_INTFREE();\
4951 	} while (0)
4952 
4953 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READ_DATA_BMSK 0xff000000
4954 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READ_DATA_SHFT       0x18
4955 
4956 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITE_DATA_BMSK 0x00ff0000
4957 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITE_DATA_SHFT       0x10
4958 
4959 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READS_BMSK 0x00003f00
4960 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READS_SHFT        0x8
4961 
4962 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITES_BMSK 0x0000003f
4963 #define HWIO_TCL_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITES_SHFT        0x0
4964 
4965 //// Register TCL_R0_GXI_GXI_MISC_CONTROL ////
4966 
4967 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_ADDR(x)                     (x+0x000009d0)
4968 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_PHYS(x)                     (x+0x000009d0)
4969 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_RMSK                        0x0fffffff
4970 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_SHFT                                 0
4971 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_IN(x)                       \
4972 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_ADDR(x), HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_RMSK)
4973 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_INM(x, mask)                \
4974 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_ADDR(x), mask)
4975 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_OUT(x, val)                 \
4976 	out_dword( HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_ADDR(x), val)
4977 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_OUTM(x, mask, val)          \
4978 	do {\
4979 		HWIO_INTLOCK(); \
4980 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_IN(x)); \
4981 		HWIO_INTFREE();\
4982 	} while (0)
4983 
4984 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_RD_FLUSH_BMSK   0x08000000
4985 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_RD_FLUSH_SHFT         0x1b
4986 
4987 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_WR_FLUSH_BMSK   0x04000000
4988 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_WR_FLUSH_SHFT         0x1a
4989 
4990 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DISABLE_WR_PREFIL_BMSK  0x02000000
4991 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_DISABLE_WR_PREFIL_SHFT        0x19
4992 
4993 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_WR_BOUNDARY_SPLIT_BMSK 0x01000000
4994 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_WR_BOUNDARY_SPLIT_SHFT       0x18
4995 
4996 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_RD_BOUNDARY_SPLIT_BMSK 0x00800000
4997 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_RD_BOUNDARY_SPLIT_SHFT       0x17
4998 
4999 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_BURST_SIZE_BMSK   0x00700000
5000 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_BURST_SIZE_SHFT         0x14
5001 
5002 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_READ_BURST_SIZE_BMSK    0x000e0000
5003 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_READ_BURST_SIZE_SHFT          0x11
5004 
5005 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_READ_ISSUE_THRESHOLD_BMSK 0x0001fe00
5006 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_READ_ISSUE_THRESHOLD_SHFT        0x9
5007 
5008 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_PREFETCH_THRESHOLD_BMSK 0x000001fe
5009 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_PREFETCH_THRESHOLD_SHFT        0x1
5010 
5011 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_CLEAR_STATS_BMSK        0x00000001
5012 #define HWIO_TCL_R0_GXI_GXI_MISC_CONTROL_GXI_CLEAR_STATS_SHFT               0x0
5013 
5014 //// Register TCL_R0_GXI_GXI_WDOG_CONTROL ////
5015 
5016 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_ADDR(x)                     (x+0x000009d4)
5017 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_PHYS(x)                     (x+0x000009d4)
5018 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_RMSK                        0xffff0001
5019 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_SHFT                                 0
5020 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_IN(x)                       \
5021 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_RMSK)
5022 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_INM(x, mask)                \
5023 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), mask)
5024 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_OUT(x, val)                 \
5025 	out_dword( HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), val)
5026 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_OUTM(x, mask, val)          \
5027 	do {\
5028 		HWIO_INTLOCK(); \
5029 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_IN(x)); \
5030 		HWIO_INTFREE();\
5031 	} while (0)
5032 
5033 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_LIMIT_BMSK         0xffff0000
5034 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_LIMIT_SHFT               0x10
5035 
5036 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_DISABLE_BMSK       0x00000001
5037 #define HWIO_TCL_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_DISABLE_SHFT              0x0
5038 
5039 //// Register TCL_R0_GXI_GXI_WDOG_STATUS ////
5040 
5041 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_ADDR(x)                      (x+0x000009d8)
5042 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_PHYS(x)                      (x+0x000009d8)
5043 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_RMSK                         0x0000ffff
5044 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_SHFT                                  0
5045 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_IN(x)                        \
5046 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_ADDR(x), HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_RMSK)
5047 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_INM(x, mask)                 \
5048 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_ADDR(x), mask)
5049 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_OUT(x, val)                  \
5050 	out_dword( HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_ADDR(x), val)
5051 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_OUTM(x, mask, val)           \
5052 	do {\
5053 		HWIO_INTLOCK(); \
5054 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_IN(x)); \
5055 		HWIO_INTFREE();\
5056 	} while (0)
5057 
5058 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_GXI_WDOG_STATUS_BMSK         0x0000ffff
5059 #define HWIO_TCL_R0_GXI_GXI_WDOG_STATUS_GXI_WDOG_STATUS_SHFT                0x0
5060 
5061 //// Register TCL_R0_GXI_GXI_IDLE_COUNTERS ////
5062 
5063 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x)                    (x+0x000009dc)
5064 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_PHYS(x)                    (x+0x000009dc)
5065 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_RMSK                       0xffffffff
5066 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_SHFT                                0
5067 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_IN(x)                      \
5068 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_RMSK)
5069 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_INM(x, mask)               \
5070 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), mask)
5071 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_OUT(x, val)                \
5072 	out_dword( HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), val)
5073 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_OUTM(x, mask, val)         \
5074 	do {\
5075 		HWIO_INTLOCK(); \
5076 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_IN(x)); \
5077 		HWIO_INTFREE();\
5078 	} while (0)
5079 
5080 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_GXI_READ_IDLE_CNT_BMSK     0xffff0000
5081 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_GXI_READ_IDLE_CNT_SHFT           0x10
5082 
5083 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_GXI_WRITE_IDLE_CNT_BMSK    0x0000ffff
5084 #define HWIO_TCL_R0_GXI_GXI_IDLE_COUNTERS_GXI_WRITE_IDLE_CNT_SHFT           0x0
5085 
5086 //// Register TCL_R0_GXI_GXI_RD_LATENCY_CTRL ////
5087 
5088 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x)                  (x+0x000009e0)
5089 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_PHYS(x)                  (x+0x000009e0)
5090 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_RMSK                     0x000fffff
5091 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_SHFT                              0
5092 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_IN(x)                    \
5093 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_RMSK)
5094 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_INM(x, mask)             \
5095 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), mask)
5096 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_OUT(x, val)              \
5097 	out_dword( HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), val)
5098 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_OUTM(x, mask, val)       \
5099 	do {\
5100 		HWIO_INTLOCK(); \
5101 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_IN(x)); \
5102 		HWIO_INTFREE();\
5103 	} while (0)
5104 
5105 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_RANGE_BMSK   0x000e0000
5106 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_RANGE_SHFT         0x11
5107 
5108 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_EN_BMSK      0x00010000
5109 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_EN_SHFT            0x10
5110 
5111 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_MIN_BMSK     0x0000ffff
5112 #define HWIO_TCL_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_MIN_SHFT            0x0
5113 
5114 //// Register TCL_R0_GXI_GXI_WR_LATENCY_CTRL ////
5115 
5116 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x)                  (x+0x000009e4)
5117 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_PHYS(x)                  (x+0x000009e4)
5118 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_RMSK                     0x000fffff
5119 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_SHFT                              0
5120 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_IN(x)                    \
5121 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_RMSK)
5122 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_INM(x, mask)             \
5123 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), mask)
5124 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_OUT(x, val)              \
5125 	out_dword( HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), val)
5126 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_OUTM(x, mask, val)       \
5127 	do {\
5128 		HWIO_INTLOCK(); \
5129 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_IN(x)); \
5130 		HWIO_INTFREE();\
5131 	} while (0)
5132 
5133 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_RANGE_BMSK   0x000e0000
5134 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_RANGE_SHFT         0x11
5135 
5136 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_EN_BMSK      0x00010000
5137 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_EN_SHFT            0x10
5138 
5139 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_MIN_BMSK     0x0000ffff
5140 #define HWIO_TCL_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_MIN_SHFT            0x0
5141 
5142 //// Register TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0 ////
5143 
5144 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_ADDR(x)        (x+0x000009e8)
5145 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_PHYS(x)        (x+0x000009e8)
5146 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_RMSK           0xffffffff
5147 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_SHFT                    0
5148 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_IN(x)          \
5149 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_ADDR(x), HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_RMSK)
5150 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_INM(x, mask)   \
5151 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_ADDR(x), mask)
5152 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_OUT(x, val)    \
5153 	out_dword( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_ADDR(x), val)
5154 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_OUTM(x, mask, val) \
5155 	do {\
5156 		HWIO_INTLOCK(); \
5157 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_IN(x)); \
5158 		HWIO_INTFREE();\
5159 	} while (0)
5160 
5161 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_VALUE_BMSK     0xffffffff
5162 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_0_VALUE_SHFT            0x0
5163 
5164 //// Register TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1 ////
5165 
5166 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_ADDR(x)        (x+0x000009ec)
5167 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_PHYS(x)        (x+0x000009ec)
5168 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_RMSK           0xffffffff
5169 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_SHFT                    0
5170 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_IN(x)          \
5171 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_ADDR(x), HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_RMSK)
5172 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_INM(x, mask)   \
5173 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_ADDR(x), mask)
5174 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_OUT(x, val)    \
5175 	out_dword( HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_ADDR(x), val)
5176 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_OUTM(x, mask, val) \
5177 	do {\
5178 		HWIO_INTLOCK(); \
5179 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_IN(x)); \
5180 		HWIO_INTFREE();\
5181 	} while (0)
5182 
5183 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_VALUE_BMSK     0xffffffff
5184 #define HWIO_TCL_R0_GXI_GXI_WR_ERR_STALL_DISABLE_IX_1_VALUE_SHFT            0x0
5185 
5186 //// Register TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0 ////
5187 
5188 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_ADDR(x)        (x+0x000009f0)
5189 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_PHYS(x)        (x+0x000009f0)
5190 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_RMSK           0xffffffff
5191 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_SHFT                    0
5192 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_IN(x)          \
5193 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_ADDR(x), HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_RMSK)
5194 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_INM(x, mask)   \
5195 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_ADDR(x), mask)
5196 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_OUT(x, val)    \
5197 	out_dword( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_ADDR(x), val)
5198 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_OUTM(x, mask, val) \
5199 	do {\
5200 		HWIO_INTLOCK(); \
5201 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_IN(x)); \
5202 		HWIO_INTFREE();\
5203 	} while (0)
5204 
5205 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_VALUE_BMSK     0xffffffff
5206 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_0_VALUE_SHFT            0x0
5207 
5208 //// Register TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1 ////
5209 
5210 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_ADDR(x)        (x+0x000009f4)
5211 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_PHYS(x)        (x+0x000009f4)
5212 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_RMSK           0xffffffff
5213 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_SHFT                    0
5214 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_IN(x)          \
5215 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_ADDR(x), HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_RMSK)
5216 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_INM(x, mask)   \
5217 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_ADDR(x), mask)
5218 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_OUT(x, val)    \
5219 	out_dword( HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_ADDR(x), val)
5220 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_OUTM(x, mask, val) \
5221 	do {\
5222 		HWIO_INTLOCK(); \
5223 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_IN(x)); \
5224 		HWIO_INTFREE();\
5225 	} while (0)
5226 
5227 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_VALUE_BMSK     0xffffffff
5228 #define HWIO_TCL_R0_GXI_GXI_RD_ERR_STALL_DISABLE_IX_1_VALUE_SHFT            0x0
5229 
5230 //// Register TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL ////
5231 
5232 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_ADDR(x)               (x+0x000009f8)
5233 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_PHYS(x)               (x+0x000009f8)
5234 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RMSK                  0x00009f9f
5235 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_SHFT                           0
5236 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_IN(x)                 \
5237 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_ADDR(x), HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RMSK)
5238 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_INM(x, mask)          \
5239 	in_dword_masked ( HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_ADDR(x), mask)
5240 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_OUT(x, val)           \
5241 	out_dword( HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_ADDR(x), val)
5242 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_OUTM(x, mask, val)    \
5243 	do {\
5244 		HWIO_INTLOCK(); \
5245 		out_dword_masked_ns(HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_ADDR(x), mask, val, HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_IN(x)); \
5246 		HWIO_INTFREE();\
5247 	} while (0)
5248 
5249 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_WR_OVR_EN_BMSK        0x00008000
5250 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_WR_OVR_EN_SHFT               0xf
5251 
5252 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_WR_OVR_CNT_BMSK       0x00001f00
5253 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_WR_OVR_CNT_SHFT              0x8
5254 
5255 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RD_OVR_EN_BMSK        0x00000080
5256 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RD_OVR_EN_SHFT               0x7
5257 
5258 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RD_OVR_CNT_BMSK       0x0000001f
5259 #define HWIO_TCL_R0_GXI_GXI_AXI_OUTSANDING_CTL_RD_OVR_CNT_SHFT              0x0
5260 
5261 //// Register TCL_R0_ASE_GST_BASE_ADDR_LOW ////
5262 
5263 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_ADDR(x)                    (x+0x000009fc)
5264 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_PHYS(x)                    (x+0x000009fc)
5265 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_RMSK                       0xffffffff
5266 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_SHFT                                0
5267 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_IN(x)                      \
5268 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_ADDR(x), HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_RMSK)
5269 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_INM(x, mask)               \
5270 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_ADDR(x), mask)
5271 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_OUT(x, val)                \
5272 	out_dword( HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_ADDR(x), val)
5273 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_OUTM(x, mask, val)         \
5274 	do {\
5275 		HWIO_INTLOCK(); \
5276 		out_dword_masked_ns(HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_ADDR(x), mask, val, HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_IN(x)); \
5277 		HWIO_INTFREE();\
5278 	} while (0)
5279 
5280 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_VAL_BMSK                   0xffffffff
5281 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_LOW_VAL_SHFT                          0x0
5282 
5283 //// Register TCL_R0_ASE_GST_BASE_ADDR_HIGH ////
5284 
5285 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_ADDR(x)                   (x+0x00000a00)
5286 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_PHYS(x)                   (x+0x00000a00)
5287 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_RMSK                      0x000000ff
5288 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_SHFT                               0
5289 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_IN(x)                     \
5290 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_ADDR(x), HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_RMSK)
5291 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_INM(x, mask)              \
5292 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_ADDR(x), mask)
5293 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_OUT(x, val)               \
5294 	out_dword( HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_ADDR(x), val)
5295 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_OUTM(x, mask, val)        \
5296 	do {\
5297 		HWIO_INTLOCK(); \
5298 		out_dword_masked_ns(HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_ADDR(x), mask, val, HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_IN(x)); \
5299 		HWIO_INTFREE();\
5300 	} while (0)
5301 
5302 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_VAL_BMSK                  0x000000ff
5303 #define HWIO_TCL_R0_ASE_GST_BASE_ADDR_HIGH_VAL_SHFT                         0x0
5304 
5305 //// Register TCL_R0_ASE_GST_SIZE ////
5306 
5307 #define HWIO_TCL_R0_ASE_GST_SIZE_ADDR(x)                             (x+0x00000a04)
5308 #define HWIO_TCL_R0_ASE_GST_SIZE_PHYS(x)                             (x+0x00000a04)
5309 #define HWIO_TCL_R0_ASE_GST_SIZE_RMSK                                0x000fffff
5310 #define HWIO_TCL_R0_ASE_GST_SIZE_SHFT                                         0
5311 #define HWIO_TCL_R0_ASE_GST_SIZE_IN(x)                               \
5312 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_SIZE_ADDR(x), HWIO_TCL_R0_ASE_GST_SIZE_RMSK)
5313 #define HWIO_TCL_R0_ASE_GST_SIZE_INM(x, mask)                        \
5314 	in_dword_masked ( HWIO_TCL_R0_ASE_GST_SIZE_ADDR(x), mask)
5315 #define HWIO_TCL_R0_ASE_GST_SIZE_OUT(x, val)                         \
5316 	out_dword( HWIO_TCL_R0_ASE_GST_SIZE_ADDR(x), val)
5317 #define HWIO_TCL_R0_ASE_GST_SIZE_OUTM(x, mask, val)                  \
5318 	do {\
5319 		HWIO_INTLOCK(); \
5320 		out_dword_masked_ns(HWIO_TCL_R0_ASE_GST_SIZE_ADDR(x), mask, val, HWIO_TCL_R0_ASE_GST_SIZE_IN(x)); \
5321 		HWIO_INTFREE();\
5322 	} while (0)
5323 
5324 #define HWIO_TCL_R0_ASE_GST_SIZE_VAL_BMSK                            0x000fffff
5325 #define HWIO_TCL_R0_ASE_GST_SIZE_VAL_SHFT                                   0x0
5326 
5327 //// Register TCL_R0_ASE_SEARCH_CTRL ////
5328 
5329 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_ADDR(x)                          (x+0x00000a08)
5330 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_PHYS(x)                          (x+0x00000a08)
5331 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_RMSK                             0xffff3fff
5332 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_SHFT                                      0
5333 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_IN(x)                            \
5334 	in_dword_masked ( HWIO_TCL_R0_ASE_SEARCH_CTRL_ADDR(x), HWIO_TCL_R0_ASE_SEARCH_CTRL_RMSK)
5335 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_INM(x, mask)                     \
5336 	in_dword_masked ( HWIO_TCL_R0_ASE_SEARCH_CTRL_ADDR(x), mask)
5337 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_OUT(x, val)                      \
5338 	out_dword( HWIO_TCL_R0_ASE_SEARCH_CTRL_ADDR(x), val)
5339 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_OUTM(x, mask, val)               \
5340 	do {\
5341 		HWIO_INTLOCK(); \
5342 		out_dword_masked_ns(HWIO_TCL_R0_ASE_SEARCH_CTRL_ADDR(x), mask, val, HWIO_TCL_R0_ASE_SEARCH_CTRL_IN(x)); \
5343 		HWIO_INTFREE();\
5344 	} while (0)
5345 
5346 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_TIMEOUT_THRESH_BMSK              0xffff0000
5347 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_TIMEOUT_THRESH_SHFT                    0x10
5348 
5349 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_CMD_READ_BYPASS_EN_BMSK    0x00002000
5350 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_CMD_READ_BYPASS_EN_SHFT           0xd
5351 
5352 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_WRITE_BACK_FIX_EN_BMSK     0x00001000
5353 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_WRITE_BACK_FIX_EN_SHFT            0xc
5354 
5355 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_ONLY_ENTRY_CMD_FIX_EN_BMSK 0x00000800
5356 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_ONLY_ENTRY_CMD_FIX_EN_SHFT        0xb
5357 
5358 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_FAILURES_ENABLE_BMSK       0x00000400
5359 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_FAILURES_ENABLE_SHFT              0xa
5360 
5361 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_DISABLE_BMSK               0x00000200
5362 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_CACHE_DISABLE_SHFT                      0x9
5363 
5364 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_SEARCH_SWAP_BMSK                 0x00000100
5365 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_SEARCH_SWAP_SHFT                        0x8
5366 
5367 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_MAX_SEARCH_BMSK                  0x000000ff
5368 #define HWIO_TCL_R0_ASE_SEARCH_CTRL_MAX_SEARCH_SHFT                         0x0
5369 
5370 //// Register TCL_R0_ASE_WATCHDOG ////
5371 
5372 #define HWIO_TCL_R0_ASE_WATCHDOG_ADDR(x)                             (x+0x00000a0c)
5373 #define HWIO_TCL_R0_ASE_WATCHDOG_PHYS(x)                             (x+0x00000a0c)
5374 #define HWIO_TCL_R0_ASE_WATCHDOG_RMSK                                0xffffffff
5375 #define HWIO_TCL_R0_ASE_WATCHDOG_SHFT                                         0
5376 #define HWIO_TCL_R0_ASE_WATCHDOG_IN(x)                               \
5377 	in_dword_masked ( HWIO_TCL_R0_ASE_WATCHDOG_ADDR(x), HWIO_TCL_R0_ASE_WATCHDOG_RMSK)
5378 #define HWIO_TCL_R0_ASE_WATCHDOG_INM(x, mask)                        \
5379 	in_dword_masked ( HWIO_TCL_R0_ASE_WATCHDOG_ADDR(x), mask)
5380 #define HWIO_TCL_R0_ASE_WATCHDOG_OUT(x, val)                         \
5381 	out_dword( HWIO_TCL_R0_ASE_WATCHDOG_ADDR(x), val)
5382 #define HWIO_TCL_R0_ASE_WATCHDOG_OUTM(x, mask, val)                  \
5383 	do {\
5384 		HWIO_INTLOCK(); \
5385 		out_dword_masked_ns(HWIO_TCL_R0_ASE_WATCHDOG_ADDR(x), mask, val, HWIO_TCL_R0_ASE_WATCHDOG_IN(x)); \
5386 		HWIO_INTFREE();\
5387 	} while (0)
5388 
5389 #define HWIO_TCL_R0_ASE_WATCHDOG_STATUS_BMSK                         0xffff0000
5390 #define HWIO_TCL_R0_ASE_WATCHDOG_STATUS_SHFT                               0x10
5391 
5392 #define HWIO_TCL_R0_ASE_WATCHDOG_LIMIT_BMSK                          0x0000ffff
5393 #define HWIO_TCL_R0_ASE_WATCHDOG_LIMIT_SHFT                                 0x0
5394 
5395 //// Register TCL_R0_ASE_CLKGATE_DISABLE ////
5396 
5397 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_ADDR(x)                      (x+0x00000a10)
5398 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_PHYS(x)                      (x+0x00000a10)
5399 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_RMSK                         0xffffffff
5400 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_SHFT                                  0
5401 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_IN(x)                        \
5402 	in_dword_masked ( HWIO_TCL_R0_ASE_CLKGATE_DISABLE_ADDR(x), HWIO_TCL_R0_ASE_CLKGATE_DISABLE_RMSK)
5403 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_INM(x, mask)                 \
5404 	in_dword_masked ( HWIO_TCL_R0_ASE_CLKGATE_DISABLE_ADDR(x), mask)
5405 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_OUT(x, val)                  \
5406 	out_dword( HWIO_TCL_R0_ASE_CLKGATE_DISABLE_ADDR(x), val)
5407 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_OUTM(x, mask, val)           \
5408 	do {\
5409 		HWIO_INTLOCK(); \
5410 		out_dword_masked_ns(HWIO_TCL_R0_ASE_CLKGATE_DISABLE_ADDR(x), mask, val, HWIO_TCL_R0_ASE_CLKGATE_DISABLE_IN(x)); \
5411 		HWIO_INTFREE();\
5412 	} while (0)
5413 
5414 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CLK_EXTEND_BMSK              0x80000000
5415 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CLK_EXTEND_SHFT                    0x1f
5416 
5417 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CPU_IF_EXTEND_BMSK           0x40000000
5418 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CPU_IF_EXTEND_SHFT                 0x1e
5419 
5420 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_RSRVD_BMSK               0x3ffffe00
5421 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_RSRVD_SHFT                      0x9
5422 
5423 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_TOP_BMSK                 0x00000100
5424 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_TOP_SHFT                        0x8
5425 
5426 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CACHE_BMSK                   0x00000080
5427 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_CACHE_SHFT                          0x7
5428 
5429 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_SLOTS_ARRAY_HASH_BMSK        0x00000040
5430 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_SLOTS_ARRAY_HASH_SHFT               0x6
5431 
5432 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_APP_RETURN_BMSK              0x00000020
5433 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_APP_RETURN_SHFT                     0x5
5434 
5435 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_RESP2_BMSK               0x00000010
5436 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_RESP2_SHFT                      0x4
5437 
5438 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_RESP1_BMSK               0x00000008
5439 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_RESP1_SHFT                      0x3
5440 
5441 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_ISS2_BMSK                0x00000004
5442 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_ISS2_SHFT                       0x2
5443 
5444 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_ISS1_BMSK                0x00000002
5445 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_MEM_ISS1_SHFT                       0x1
5446 
5447 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_CTL_BMSK                 0x00000001
5448 #define HWIO_TCL_R0_ASE_CLKGATE_DISABLE_GSE_CTL_SHFT                        0x0
5449 
5450 //// Register TCL_R0_ASE_WRITE_BACK_PENDING ////
5451 
5452 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_ADDR(x)                   (x+0x00000a14)
5453 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_PHYS(x)                   (x+0x00000a14)
5454 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_RMSK                      0x00000001
5455 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_SHFT                               0
5456 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_IN(x)                     \
5457 	in_dword_masked ( HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_ADDR(x), HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_RMSK)
5458 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_INM(x, mask)              \
5459 	in_dword_masked ( HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_ADDR(x), mask)
5460 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_OUT(x, val)               \
5461 	out_dword( HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_ADDR(x), val)
5462 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_OUTM(x, mask, val)        \
5463 	do {\
5464 		HWIO_INTLOCK(); \
5465 		out_dword_masked_ns(HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_ADDR(x), mask, val, HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_IN(x)); \
5466 		HWIO_INTFREE();\
5467 	} while (0)
5468 
5469 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_STATUS_BMSK               0x00000001
5470 #define HWIO_TCL_R0_ASE_WRITE_BACK_PENDING_STATUS_SHFT                      0x0
5471 
5472 //// Register TCL_R1_CACHE_FLUSH ////
5473 
5474 #define HWIO_TCL_R1_CACHE_FLUSH_ADDR(x)                              (x+0x00001000)
5475 #define HWIO_TCL_R1_CACHE_FLUSH_PHYS(x)                              (x+0x00001000)
5476 #define HWIO_TCL_R1_CACHE_FLUSH_RMSK                                 0x00000003
5477 #define HWIO_TCL_R1_CACHE_FLUSH_SHFT                                          0
5478 #define HWIO_TCL_R1_CACHE_FLUSH_IN(x)                                \
5479 	in_dword_masked ( HWIO_TCL_R1_CACHE_FLUSH_ADDR(x), HWIO_TCL_R1_CACHE_FLUSH_RMSK)
5480 #define HWIO_TCL_R1_CACHE_FLUSH_INM(x, mask)                         \
5481 	in_dword_masked ( HWIO_TCL_R1_CACHE_FLUSH_ADDR(x), mask)
5482 #define HWIO_TCL_R1_CACHE_FLUSH_OUT(x, val)                          \
5483 	out_dword( HWIO_TCL_R1_CACHE_FLUSH_ADDR(x), val)
5484 #define HWIO_TCL_R1_CACHE_FLUSH_OUTM(x, mask, val)                   \
5485 	do {\
5486 		HWIO_INTLOCK(); \
5487 		out_dword_masked_ns(HWIO_TCL_R1_CACHE_FLUSH_ADDR(x), mask, val, HWIO_TCL_R1_CACHE_FLUSH_IN(x)); \
5488 		HWIO_INTFREE();\
5489 	} while (0)
5490 
5491 #define HWIO_TCL_R1_CACHE_FLUSH_STATUS_BMSK                          0x00000002
5492 #define HWIO_TCL_R1_CACHE_FLUSH_STATUS_SHFT                                 0x1
5493 
5494 #define HWIO_TCL_R1_CACHE_FLUSH_ENABLE_BMSK                          0x00000001
5495 #define HWIO_TCL_R1_CACHE_FLUSH_ENABLE_SHFT                                 0x0
5496 
5497 //// Register TCL_R1_SM_STATES_IX_0 ////
5498 
5499 #define HWIO_TCL_R1_SM_STATES_IX_0_ADDR(x)                           (x+0x00001004)
5500 #define HWIO_TCL_R1_SM_STATES_IX_0_PHYS(x)                           (x+0x00001004)
5501 #define HWIO_TCL_R1_SM_STATES_IX_0_RMSK                              0x3fffffff
5502 #define HWIO_TCL_R1_SM_STATES_IX_0_SHFT                                       0
5503 #define HWIO_TCL_R1_SM_STATES_IX_0_IN(x)                             \
5504 	in_dword_masked ( HWIO_TCL_R1_SM_STATES_IX_0_ADDR(x), HWIO_TCL_R1_SM_STATES_IX_0_RMSK)
5505 #define HWIO_TCL_R1_SM_STATES_IX_0_INM(x, mask)                      \
5506 	in_dword_masked ( HWIO_TCL_R1_SM_STATES_IX_0_ADDR(x), mask)
5507 #define HWIO_TCL_R1_SM_STATES_IX_0_OUT(x, val)                       \
5508 	out_dword( HWIO_TCL_R1_SM_STATES_IX_0_ADDR(x), val)
5509 #define HWIO_TCL_R1_SM_STATES_IX_0_OUTM(x, mask, val)                \
5510 	do {\
5511 		HWIO_INTLOCK(); \
5512 		out_dword_masked_ns(HWIO_TCL_R1_SM_STATES_IX_0_ADDR(x), mask, val, HWIO_TCL_R1_SM_STATES_IX_0_IN(x)); \
5513 		HWIO_INTFREE();\
5514 	} while (0)
5515 
5516 #define HWIO_TCL_R1_SM_STATES_IX_0_GSE_CTRL_RES_WR_BMSK              0x30000000
5517 #define HWIO_TCL_R1_SM_STATES_IX_0_GSE_CTRL_RES_WR_SHFT                    0x1c
5518 
5519 #define HWIO_TCL_R1_SM_STATES_IX_0_GSE_CTRL_BMSK                     0x0e000000
5520 #define HWIO_TCL_R1_SM_STATES_IX_0_GSE_CTRL_SHFT                           0x19
5521 
5522 #define HWIO_TCL_R1_SM_STATES_IX_0_TLV_GEN_BMSK                      0x01e00000
5523 #define HWIO_TCL_R1_SM_STATES_IX_0_TLV_GEN_SHFT                            0x15
5524 
5525 #define HWIO_TCL_R1_SM_STATES_IX_0_EXTN_DESC_FETCH_BMSK              0x001c0000
5526 #define HWIO_TCL_R1_SM_STATES_IX_0_EXTN_DESC_FETCH_SHFT                    0x12
5527 
5528 #define HWIO_TCL_R1_SM_STATES_IX_0_MSDU_FETCH_BMSK                   0x00038000
5529 #define HWIO_TCL_R1_SM_STATES_IX_0_MSDU_FETCH_SHFT                          0xf
5530 
5531 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL_CREDIT_RING_BMSK           0x00007000
5532 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL_CREDIT_RING_SHFT                  0xc
5533 
5534 #define HWIO_TCL_R1_SM_STATES_IX_0_FW2TCL1_RING_BMSK                 0x00000e00
5535 #define HWIO_TCL_R1_SM_STATES_IX_0_FW2TCL1_RING_SHFT                        0x9
5536 
5537 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL3_RING_BMSK                 0x000001c0
5538 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL3_RING_SHFT                        0x6
5539 
5540 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL2_RING_BMSK                 0x00000038
5541 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL2_RING_SHFT                        0x3
5542 
5543 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL1_RING_BMSK                 0x00000007
5544 #define HWIO_TCL_R1_SM_STATES_IX_0_SW2TCL1_RING_SHFT                        0x0
5545 
5546 //// Register TCL_R1_SM_STATES_IX_1 ////
5547 
5548 #define HWIO_TCL_R1_SM_STATES_IX_1_ADDR(x)                           (x+0x00001008)
5549 #define HWIO_TCL_R1_SM_STATES_IX_1_PHYS(x)                           (x+0x00001008)
5550 #define HWIO_TCL_R1_SM_STATES_IX_1_RMSK                              0x001fffff
5551 #define HWIO_TCL_R1_SM_STATES_IX_1_SHFT                                       0
5552 #define HWIO_TCL_R1_SM_STATES_IX_1_IN(x)                             \
5553 	in_dword_masked ( HWIO_TCL_R1_SM_STATES_IX_1_ADDR(x), HWIO_TCL_R1_SM_STATES_IX_1_RMSK)
5554 #define HWIO_TCL_R1_SM_STATES_IX_1_INM(x, mask)                      \
5555 	in_dword_masked ( HWIO_TCL_R1_SM_STATES_IX_1_ADDR(x), mask)
5556 #define HWIO_TCL_R1_SM_STATES_IX_1_OUT(x, val)                       \
5557 	out_dword( HWIO_TCL_R1_SM_STATES_IX_1_ADDR(x), val)
5558 #define HWIO_TCL_R1_SM_STATES_IX_1_OUTM(x, mask, val)                \
5559 	do {\
5560 		HWIO_INTLOCK(); \
5561 		out_dword_masked_ns(HWIO_TCL_R1_SM_STATES_IX_1_ADDR(x), mask, val, HWIO_TCL_R1_SM_STATES_IX_1_IN(x)); \
5562 		HWIO_INTFREE();\
5563 	} while (0)
5564 
5565 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_IDLE_SEQUENCE_BMSK            0x001c0000
5566 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_IDLE_SEQUENCE_SHFT                  0x12
5567 
5568 #define HWIO_TCL_R1_SM_STATES_IX_1_DSCP_TABLE_ACC_BMSK               0x00038000
5569 #define HWIO_TCL_R1_SM_STATES_IX_1_DSCP_TABLE_ACC_SHFT                      0xf
5570 
5571 #define HWIO_TCL_R1_SM_STATES_IX_1_PROD_CTRL_BMSK                    0x00007000
5572 #define HWIO_TCL_R1_SM_STATES_IX_1_PROD_CTRL_SHFT                           0xc
5573 
5574 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_STATUS2_BMSK                  0x00000e00
5575 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_STATUS2_SHFT                         0x9
5576 
5577 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_STATUS1_BMSK                  0x000001c0
5578 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL_STATUS1_SHFT                         0x6
5579 
5580 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL2FW_BMSK                       0x00000038
5581 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL2FW_SHFT                              0x3
5582 
5583 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL2TQM_BMSK                      0x00000007
5584 #define HWIO_TCL_R1_SM_STATES_IX_1_TCL2TQM_SHFT                             0x0
5585 
5586 //// Register TCL_R1_STATUS ////
5587 
5588 #define HWIO_TCL_R1_STATUS_ADDR(x)                                   (x+0x0000100c)
5589 #define HWIO_TCL_R1_STATUS_PHYS(x)                                   (x+0x0000100c)
5590 #define HWIO_TCL_R1_STATUS_RMSK                                      0x07ffffff
5591 #define HWIO_TCL_R1_STATUS_SHFT                                               0
5592 #define HWIO_TCL_R1_STATUS_IN(x)                                     \
5593 	in_dword_masked ( HWIO_TCL_R1_STATUS_ADDR(x), HWIO_TCL_R1_STATUS_RMSK)
5594 #define HWIO_TCL_R1_STATUS_INM(x, mask)                              \
5595 	in_dword_masked ( HWIO_TCL_R1_STATUS_ADDR(x), mask)
5596 #define HWIO_TCL_R1_STATUS_OUT(x, val)                               \
5597 	out_dword( HWIO_TCL_R1_STATUS_ADDR(x), val)
5598 #define HWIO_TCL_R1_STATUS_OUTM(x, mask, val)                        \
5599 	do {\
5600 		HWIO_INTLOCK(); \
5601 		out_dword_masked_ns(HWIO_TCL_R1_STATUS_ADDR(x), mask, val, HWIO_TCL_R1_STATUS_IN(x)); \
5602 		HWIO_INTFREE();\
5603 	} while (0)
5604 
5605 #define HWIO_TCL_R1_STATUS_HDR_BUF_EMPTY_BMSK                        0x04000000
5606 #define HWIO_TCL_R1_STATUS_HDR_BUF_EMPTY_SHFT                              0x1a
5607 
5608 #define HWIO_TCL_R1_STATUS_DESC_BUF_EMPTY_BMSK                       0x02000000
5609 #define HWIO_TCL_R1_STATUS_DESC_BUF_EMPTY_SHFT                             0x19
5610 
5611 #define HWIO_TCL_R1_STATUS_GSE_CCE_RES_IDLE_BMSK                     0x01000000
5612 #define HWIO_TCL_R1_STATUS_GSE_CCE_RES_IDLE_SHFT                           0x18
5613 
5614 #define HWIO_TCL_R1_STATUS_PROD_RING_BUNC_FIFO_CTRL_IDLE_BMSK        0x00800000
5615 #define HWIO_TCL_R1_STATUS_PROD_RING_BUNC_FIFO_CTRL_IDLE_SHFT              0x17
5616 
5617 #define HWIO_TCL_R1_STATUS_PROD_RING_CTRL_IDLE_BMSK                  0x00400000
5618 #define HWIO_TCL_R1_STATUS_PROD_RING_CTRL_IDLE_SHFT                        0x16
5619 
5620 #define HWIO_TCL_R1_STATUS_TLV_DECODER_IDLE_BMSK                     0x00200000
5621 #define HWIO_TCL_R1_STATUS_TLV_DECODER_IDLE_SHFT                           0x15
5622 
5623 #define HWIO_TCL_R1_STATUS_TLV_GEN_IDLE_BMSK                         0x00100000
5624 #define HWIO_TCL_R1_STATUS_TLV_GEN_IDLE_SHFT                               0x14
5625 
5626 #define HWIO_TCL_R1_STATUS_GSE_CTRL_IDLE_BMSK                        0x00080000
5627 #define HWIO_TCL_R1_STATUS_GSE_CTRL_IDLE_SHFT                              0x13
5628 
5629 #define HWIO_TCL_R1_STATUS_CLFY_WRAP_IDLE_BMSK                       0x00040000
5630 #define HWIO_TCL_R1_STATUS_CLFY_WRAP_IDLE_SHFT                             0x12
5631 
5632 #define HWIO_TCL_R1_STATUS_CCE_OR_LCE_IDLE_BMSK                      0x00020000
5633 #define HWIO_TCL_R1_STATUS_CCE_OR_LCE_IDLE_SHFT                            0x11
5634 
5635 #define HWIO_TCL_R1_STATUS_ASE_IDLE_BMSK                             0x00010000
5636 #define HWIO_TCL_R1_STATUS_ASE_IDLE_SHFT                                   0x10
5637 
5638 #define HWIO_TCL_R1_STATUS_PARSER_IDLE_BMSK                          0x00008000
5639 #define HWIO_TCL_R1_STATUS_PARSER_IDLE_SHFT                                 0xf
5640 
5641 #define HWIO_TCL_R1_STATUS_TCL_STATUS2_PROD_IDLE_BMSK                0x00004000
5642 #define HWIO_TCL_R1_STATUS_TCL_STATUS2_PROD_IDLE_SHFT                       0xe
5643 
5644 #define HWIO_TCL_R1_STATUS_TCL_STATUS1_PROD_IDLE_BMSK                0x00002000
5645 #define HWIO_TCL_R1_STATUS_TCL_STATUS1_PROD_IDLE_SHFT                       0xd
5646 
5647 #define HWIO_TCL_R1_STATUS_TCL2FW_PROD_IDLE_BMSK                     0x00001000
5648 #define HWIO_TCL_R1_STATUS_TCL2FW_PROD_IDLE_SHFT                            0xc
5649 
5650 #define HWIO_TCL_R1_STATUS_TCL2TQM_PROD_IDLE_BMSK                    0x00000800
5651 #define HWIO_TCL_R1_STATUS_TCL2TQM_PROD_IDLE_SHFT                           0xb
5652 
5653 #define HWIO_TCL_R1_STATUS_SW2TCL_CREDIT_CONS_IDLE_BMSK              0x00000400
5654 #define HWIO_TCL_R1_STATUS_SW2TCL_CREDIT_CONS_IDLE_SHFT                     0xa
5655 
5656 #define HWIO_TCL_R1_STATUS_FW2TCL1_CONS_IDLE_BMSK                    0x00000200
5657 #define HWIO_TCL_R1_STATUS_FW2TCL1_CONS_IDLE_SHFT                           0x9
5658 
5659 #define HWIO_TCL_R1_STATUS_SW2TCL3_CONS_IDLE_BMSK                    0x00000100
5660 #define HWIO_TCL_R1_STATUS_SW2TCL3_CONS_IDLE_SHFT                           0x8
5661 
5662 #define HWIO_TCL_R1_STATUS_SW2TCL2_CONS_IDLE_BMSK                    0x00000080
5663 #define HWIO_TCL_R1_STATUS_SW2TCL2_CONS_IDLE_SHFT                           0x7
5664 
5665 #define HWIO_TCL_R1_STATUS_SW2TCL1_CONS_IDLE_BMSK                    0x00000040
5666 #define HWIO_TCL_R1_STATUS_SW2TCL1_CONS_IDLE_SHFT                           0x6
5667 
5668 #define HWIO_TCL_R1_STATUS_GXI_IDLE_BMSK                             0x00000020
5669 #define HWIO_TCL_R1_STATUS_GXI_IDLE_SHFT                                    0x5
5670 
5671 #define HWIO_TCL_R1_STATUS_DESC_RD_IDLE_BMSK                         0x00000010
5672 #define HWIO_TCL_R1_STATUS_DESC_RD_IDLE_SHFT                                0x4
5673 
5674 #define HWIO_TCL_R1_STATUS_SDU_HDR_FETCH_IDLE_BMSK                   0x00000008
5675 #define HWIO_TCL_R1_STATUS_SDU_HDR_FETCH_IDLE_SHFT                          0x3
5676 
5677 #define HWIO_TCL_R1_STATUS_LINK_DESC_FETCH_IDLE_BMSK                 0x00000004
5678 #define HWIO_TCL_R1_STATUS_LINK_DESC_FETCH_IDLE_SHFT                        0x2
5679 
5680 #define HWIO_TCL_R1_STATUS_DATA_FETCH_IDLE_BMSK                      0x00000002
5681 #define HWIO_TCL_R1_STATUS_DATA_FETCH_IDLE_SHFT                             0x1
5682 
5683 #define HWIO_TCL_R1_STATUS_TCL_INT_IDLE_BMSK                         0x00000001
5684 #define HWIO_TCL_R1_STATUS_TCL_INT_IDLE_SHFT                                0x0
5685 
5686 //// Register TCL_R1_TESTBUS_CTRL_0 ////
5687 
5688 #define HWIO_TCL_R1_TESTBUS_CTRL_0_ADDR(x)                           (x+0x00001010)
5689 #define HWIO_TCL_R1_TESTBUS_CTRL_0_PHYS(x)                           (x+0x00001010)
5690 #define HWIO_TCL_R1_TESTBUS_CTRL_0_RMSK                              0x3fffffff
5691 #define HWIO_TCL_R1_TESTBUS_CTRL_0_SHFT                                       0
5692 #define HWIO_TCL_R1_TESTBUS_CTRL_0_IN(x)                             \
5693 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_CTRL_0_ADDR(x), HWIO_TCL_R1_TESTBUS_CTRL_0_RMSK)
5694 #define HWIO_TCL_R1_TESTBUS_CTRL_0_INM(x, mask)                      \
5695 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_CTRL_0_ADDR(x), mask)
5696 #define HWIO_TCL_R1_TESTBUS_CTRL_0_OUT(x, val)                       \
5697 	out_dword( HWIO_TCL_R1_TESTBUS_CTRL_0_ADDR(x), val)
5698 #define HWIO_TCL_R1_TESTBUS_CTRL_0_OUTM(x, mask, val)                \
5699 	do {\
5700 		HWIO_INTLOCK(); \
5701 		out_dword_masked_ns(HWIO_TCL_R1_TESTBUS_CTRL_0_ADDR(x), mask, val, HWIO_TCL_R1_TESTBUS_CTRL_0_IN(x)); \
5702 		HWIO_INTFREE();\
5703 	} while (0)
5704 
5705 #define HWIO_TCL_R1_TESTBUS_CTRL_0_HW_ERROR_INTERRUPT_TESTBUS_OVERWRITE_BMSK 0x20000000
5706 #define HWIO_TCL_R1_TESTBUS_CTRL_0_HW_ERROR_INTERRUPT_TESTBUS_OVERWRITE_SHFT       0x1d
5707 
5708 #define HWIO_TCL_R1_TESTBUS_CTRL_0_TCL_MAIN_SELECT_BMSK              0x1f800000
5709 #define HWIO_TCL_R1_TESTBUS_CTRL_0_TCL_MAIN_SELECT_SHFT                    0x17
5710 
5711 #define HWIO_TCL_R1_TESTBUS_CTRL_0_GXI_SELECT_BMSK                   0x007c0000
5712 #define HWIO_TCL_R1_TESTBUS_CTRL_0_GXI_SELECT_SHFT                         0x12
5713 
5714 #define HWIO_TCL_R1_TESTBUS_CTRL_0_FSE_SELECT_BMSK                   0x0003c000
5715 #define HWIO_TCL_R1_TESTBUS_CTRL_0_FSE_SELECT_SHFT                          0xe
5716 
5717 #define HWIO_TCL_R1_TESTBUS_CTRL_0_ASE_SELECT_BMSK                   0x00003c00
5718 #define HWIO_TCL_R1_TESTBUS_CTRL_0_ASE_SELECT_SHFT                          0xa
5719 
5720 #define HWIO_TCL_R1_TESTBUS_CTRL_0_PARSER_SELECT_BMSK                0x000003e0
5721 #define HWIO_TCL_R1_TESTBUS_CTRL_0_PARSER_SELECT_SHFT                       0x5
5722 
5723 #define HWIO_TCL_R1_TESTBUS_CTRL_0_CCE_SELECT_BMSK                   0x0000001f
5724 #define HWIO_TCL_R1_TESTBUS_CTRL_0_CCE_SELECT_SHFT                          0x0
5725 
5726 //// Register TCL_R1_TESTBUS_LOW ////
5727 
5728 #define HWIO_TCL_R1_TESTBUS_LOW_ADDR(x)                              (x+0x00001014)
5729 #define HWIO_TCL_R1_TESTBUS_LOW_PHYS(x)                              (x+0x00001014)
5730 #define HWIO_TCL_R1_TESTBUS_LOW_RMSK                                 0xffffffff
5731 #define HWIO_TCL_R1_TESTBUS_LOW_SHFT                                          0
5732 #define HWIO_TCL_R1_TESTBUS_LOW_IN(x)                                \
5733 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_LOW_ADDR(x), HWIO_TCL_R1_TESTBUS_LOW_RMSK)
5734 #define HWIO_TCL_R1_TESTBUS_LOW_INM(x, mask)                         \
5735 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_LOW_ADDR(x), mask)
5736 #define HWIO_TCL_R1_TESTBUS_LOW_OUT(x, val)                          \
5737 	out_dword( HWIO_TCL_R1_TESTBUS_LOW_ADDR(x), val)
5738 #define HWIO_TCL_R1_TESTBUS_LOW_OUTM(x, mask, val)                   \
5739 	do {\
5740 		HWIO_INTLOCK(); \
5741 		out_dword_masked_ns(HWIO_TCL_R1_TESTBUS_LOW_ADDR(x), mask, val, HWIO_TCL_R1_TESTBUS_LOW_IN(x)); \
5742 		HWIO_INTFREE();\
5743 	} while (0)
5744 
5745 #define HWIO_TCL_R1_TESTBUS_LOW_VAL_BMSK                             0xffffffff
5746 #define HWIO_TCL_R1_TESTBUS_LOW_VAL_SHFT                                    0x0
5747 
5748 //// Register TCL_R1_TESTBUS_HIGH ////
5749 
5750 #define HWIO_TCL_R1_TESTBUS_HIGH_ADDR(x)                             (x+0x00001018)
5751 #define HWIO_TCL_R1_TESTBUS_HIGH_PHYS(x)                             (x+0x00001018)
5752 #define HWIO_TCL_R1_TESTBUS_HIGH_RMSK                                0x000000ff
5753 #define HWIO_TCL_R1_TESTBUS_HIGH_SHFT                                         0
5754 #define HWIO_TCL_R1_TESTBUS_HIGH_IN(x)                               \
5755 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_HIGH_ADDR(x), HWIO_TCL_R1_TESTBUS_HIGH_RMSK)
5756 #define HWIO_TCL_R1_TESTBUS_HIGH_INM(x, mask)                        \
5757 	in_dword_masked ( HWIO_TCL_R1_TESTBUS_HIGH_ADDR(x), mask)
5758 #define HWIO_TCL_R1_TESTBUS_HIGH_OUT(x, val)                         \
5759 	out_dword( HWIO_TCL_R1_TESTBUS_HIGH_ADDR(x), val)
5760 #define HWIO_TCL_R1_TESTBUS_HIGH_OUTM(x, mask, val)                  \
5761 	do {\
5762 		HWIO_INTLOCK(); \
5763 		out_dword_masked_ns(HWIO_TCL_R1_TESTBUS_HIGH_ADDR(x), mask, val, HWIO_TCL_R1_TESTBUS_HIGH_IN(x)); \
5764 		HWIO_INTFREE();\
5765 	} while (0)
5766 
5767 #define HWIO_TCL_R1_TESTBUS_HIGH_VAL_BMSK                            0x000000ff
5768 #define HWIO_TCL_R1_TESTBUS_HIGH_VAL_SHFT                                   0x0
5769 
5770 //// Register TCL_R1_EVENTMASK_IX_0 ////
5771 
5772 #define HWIO_TCL_R1_EVENTMASK_IX_0_ADDR(x)                           (x+0x0000101c)
5773 #define HWIO_TCL_R1_EVENTMASK_IX_0_PHYS(x)                           (x+0x0000101c)
5774 #define HWIO_TCL_R1_EVENTMASK_IX_0_RMSK                              0xffffffff
5775 #define HWIO_TCL_R1_EVENTMASK_IX_0_SHFT                                       0
5776 #define HWIO_TCL_R1_EVENTMASK_IX_0_IN(x)                             \
5777 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_0_ADDR(x), HWIO_TCL_R1_EVENTMASK_IX_0_RMSK)
5778 #define HWIO_TCL_R1_EVENTMASK_IX_0_INM(x, mask)                      \
5779 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_0_ADDR(x), mask)
5780 #define HWIO_TCL_R1_EVENTMASK_IX_0_OUT(x, val)                       \
5781 	out_dword( HWIO_TCL_R1_EVENTMASK_IX_0_ADDR(x), val)
5782 #define HWIO_TCL_R1_EVENTMASK_IX_0_OUTM(x, mask, val)                \
5783 	do {\
5784 		HWIO_INTLOCK(); \
5785 		out_dword_masked_ns(HWIO_TCL_R1_EVENTMASK_IX_0_ADDR(x), mask, val, HWIO_TCL_R1_EVENTMASK_IX_0_IN(x)); \
5786 		HWIO_INTFREE();\
5787 	} while (0)
5788 
5789 #define HWIO_TCL_R1_EVENTMASK_IX_0_VAL_BMSK                          0xffffffff
5790 #define HWIO_TCL_R1_EVENTMASK_IX_0_VAL_SHFT                                 0x0
5791 
5792 //// Register TCL_R1_EVENTMASK_IX_1 ////
5793 
5794 #define HWIO_TCL_R1_EVENTMASK_IX_1_ADDR(x)                           (x+0x00001020)
5795 #define HWIO_TCL_R1_EVENTMASK_IX_1_PHYS(x)                           (x+0x00001020)
5796 #define HWIO_TCL_R1_EVENTMASK_IX_1_RMSK                              0xffffffff
5797 #define HWIO_TCL_R1_EVENTMASK_IX_1_SHFT                                       0
5798 #define HWIO_TCL_R1_EVENTMASK_IX_1_IN(x)                             \
5799 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_1_ADDR(x), HWIO_TCL_R1_EVENTMASK_IX_1_RMSK)
5800 #define HWIO_TCL_R1_EVENTMASK_IX_1_INM(x, mask)                      \
5801 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_1_ADDR(x), mask)
5802 #define HWIO_TCL_R1_EVENTMASK_IX_1_OUT(x, val)                       \
5803 	out_dword( HWIO_TCL_R1_EVENTMASK_IX_1_ADDR(x), val)
5804 #define HWIO_TCL_R1_EVENTMASK_IX_1_OUTM(x, mask, val)                \
5805 	do {\
5806 		HWIO_INTLOCK(); \
5807 		out_dword_masked_ns(HWIO_TCL_R1_EVENTMASK_IX_1_ADDR(x), mask, val, HWIO_TCL_R1_EVENTMASK_IX_1_IN(x)); \
5808 		HWIO_INTFREE();\
5809 	} while (0)
5810 
5811 #define HWIO_TCL_R1_EVENTMASK_IX_1_VAL_BMSK                          0xffffffff
5812 #define HWIO_TCL_R1_EVENTMASK_IX_1_VAL_SHFT                                 0x0
5813 
5814 //// Register TCL_R1_EVENTMASK_IX_2 ////
5815 
5816 #define HWIO_TCL_R1_EVENTMASK_IX_2_ADDR(x)                           (x+0x00001024)
5817 #define HWIO_TCL_R1_EVENTMASK_IX_2_PHYS(x)                           (x+0x00001024)
5818 #define HWIO_TCL_R1_EVENTMASK_IX_2_RMSK                              0xffffffff
5819 #define HWIO_TCL_R1_EVENTMASK_IX_2_SHFT                                       0
5820 #define HWIO_TCL_R1_EVENTMASK_IX_2_IN(x)                             \
5821 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_2_ADDR(x), HWIO_TCL_R1_EVENTMASK_IX_2_RMSK)
5822 #define HWIO_TCL_R1_EVENTMASK_IX_2_INM(x, mask)                      \
5823 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_2_ADDR(x), mask)
5824 #define HWIO_TCL_R1_EVENTMASK_IX_2_OUT(x, val)                       \
5825 	out_dword( HWIO_TCL_R1_EVENTMASK_IX_2_ADDR(x), val)
5826 #define HWIO_TCL_R1_EVENTMASK_IX_2_OUTM(x, mask, val)                \
5827 	do {\
5828 		HWIO_INTLOCK(); \
5829 		out_dword_masked_ns(HWIO_TCL_R1_EVENTMASK_IX_2_ADDR(x), mask, val, HWIO_TCL_R1_EVENTMASK_IX_2_IN(x)); \
5830 		HWIO_INTFREE();\
5831 	} while (0)
5832 
5833 #define HWIO_TCL_R1_EVENTMASK_IX_2_VAL_BMSK                          0xffffffff
5834 #define HWIO_TCL_R1_EVENTMASK_IX_2_VAL_SHFT                                 0x0
5835 
5836 //// Register TCL_R1_EVENTMASK_IX_3 ////
5837 
5838 #define HWIO_TCL_R1_EVENTMASK_IX_3_ADDR(x)                           (x+0x00001028)
5839 #define HWIO_TCL_R1_EVENTMASK_IX_3_PHYS(x)                           (x+0x00001028)
5840 #define HWIO_TCL_R1_EVENTMASK_IX_3_RMSK                              0xffffffff
5841 #define HWIO_TCL_R1_EVENTMASK_IX_3_SHFT                                       0
5842 #define HWIO_TCL_R1_EVENTMASK_IX_3_IN(x)                             \
5843 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_3_ADDR(x), HWIO_TCL_R1_EVENTMASK_IX_3_RMSK)
5844 #define HWIO_TCL_R1_EVENTMASK_IX_3_INM(x, mask)                      \
5845 	in_dword_masked ( HWIO_TCL_R1_EVENTMASK_IX_3_ADDR(x), mask)
5846 #define HWIO_TCL_R1_EVENTMASK_IX_3_OUT(x, val)                       \
5847 	out_dword( HWIO_TCL_R1_EVENTMASK_IX_3_ADDR(x), val)
5848 #define HWIO_TCL_R1_EVENTMASK_IX_3_OUTM(x, mask, val)                \
5849 	do {\
5850 		HWIO_INTLOCK(); \
5851 		out_dword_masked_ns(HWIO_TCL_R1_EVENTMASK_IX_3_ADDR(x), mask, val, HWIO_TCL_R1_EVENTMASK_IX_3_IN(x)); \
5852 		HWIO_INTFREE();\
5853 	} while (0)
5854 
5855 #define HWIO_TCL_R1_EVENTMASK_IX_3_VAL_BMSK                          0xffffffff
5856 #define HWIO_TCL_R1_EVENTMASK_IX_3_VAL_SHFT                                 0x0
5857 
5858 //// Register TCL_R1_REG_ACCESS_EVENT_GEN_CTRL ////
5859 
5860 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x)                (x+0x0000102c)
5861 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_PHYS(x)                (x+0x0000102c)
5862 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_RMSK                   0xffffffff
5863 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_SHFT                            0
5864 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_IN(x)                  \
5865 	in_dword_masked ( HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_RMSK)
5866 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_INM(x, mask)           \
5867 	in_dword_masked ( HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), mask)
5868 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_OUT(x, val)            \
5869 	out_dword( HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), val)
5870 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_OUTM(x, mask, val)     \
5871 	do {\
5872 		HWIO_INTLOCK(); \
5873 		out_dword_masked_ns(HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), mask, val, HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_IN(x)); \
5874 		HWIO_INTFREE();\
5875 	} while (0)
5876 
5877 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_END_BMSK 0xfffe0000
5878 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_END_SHFT       0x11
5879 
5880 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_START_BMSK 0x0001fffc
5881 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_START_SHFT        0x2
5882 
5883 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_WRITE_ACCESS_REPORT_ENABLE_BMSK 0x00000002
5884 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_WRITE_ACCESS_REPORT_ENABLE_SHFT        0x1
5885 
5886 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_READ_ACCESS_REPORT_ENABLE_BMSK 0x00000001
5887 #define HWIO_TCL_R1_REG_ACCESS_EVENT_GEN_CTRL_READ_ACCESS_REPORT_ENABLE_SHFT        0x0
5888 
5889 //// Register TCL_R1_SPARE_REGISTER ////
5890 
5891 #define HWIO_TCL_R1_SPARE_REGISTER_ADDR(x)                           (x+0x00001030)
5892 #define HWIO_TCL_R1_SPARE_REGISTER_PHYS(x)                           (x+0x00001030)
5893 #define HWIO_TCL_R1_SPARE_REGISTER_RMSK                              0xffffffff
5894 #define HWIO_TCL_R1_SPARE_REGISTER_SHFT                                       0
5895 #define HWIO_TCL_R1_SPARE_REGISTER_IN(x)                             \
5896 	in_dword_masked ( HWIO_TCL_R1_SPARE_REGISTER_ADDR(x), HWIO_TCL_R1_SPARE_REGISTER_RMSK)
5897 #define HWIO_TCL_R1_SPARE_REGISTER_INM(x, mask)                      \
5898 	in_dword_masked ( HWIO_TCL_R1_SPARE_REGISTER_ADDR(x), mask)
5899 #define HWIO_TCL_R1_SPARE_REGISTER_OUT(x, val)                       \
5900 	out_dword( HWIO_TCL_R1_SPARE_REGISTER_ADDR(x), val)
5901 #define HWIO_TCL_R1_SPARE_REGISTER_OUTM(x, mask, val)                \
5902 	do {\
5903 		HWIO_INTLOCK(); \
5904 		out_dword_masked_ns(HWIO_TCL_R1_SPARE_REGISTER_ADDR(x), mask, val, HWIO_TCL_R1_SPARE_REGISTER_IN(x)); \
5905 		HWIO_INTFREE();\
5906 	} while (0)
5907 
5908 #define HWIO_TCL_R1_SPARE_REGISTER_TCL_SPARE_FIELD_32_BMSK           0xffffffff
5909 #define HWIO_TCL_R1_SPARE_REGISTER_TCL_SPARE_FIELD_32_SHFT                  0x0
5910 
5911 //// Register TCL_R1_END_OF_TEST_CHECK ////
5912 
5913 #define HWIO_TCL_R1_END_OF_TEST_CHECK_ADDR(x)                        (x+0x00001034)
5914 #define HWIO_TCL_R1_END_OF_TEST_CHECK_PHYS(x)                        (x+0x00001034)
5915 #define HWIO_TCL_R1_END_OF_TEST_CHECK_RMSK                           0x00000001
5916 #define HWIO_TCL_R1_END_OF_TEST_CHECK_SHFT                                    0
5917 #define HWIO_TCL_R1_END_OF_TEST_CHECK_IN(x)                          \
5918 	in_dword_masked ( HWIO_TCL_R1_END_OF_TEST_CHECK_ADDR(x), HWIO_TCL_R1_END_OF_TEST_CHECK_RMSK)
5919 #define HWIO_TCL_R1_END_OF_TEST_CHECK_INM(x, mask)                   \
5920 	in_dword_masked ( HWIO_TCL_R1_END_OF_TEST_CHECK_ADDR(x), mask)
5921 #define HWIO_TCL_R1_END_OF_TEST_CHECK_OUT(x, val)                    \
5922 	out_dword( HWIO_TCL_R1_END_OF_TEST_CHECK_ADDR(x), val)
5923 #define HWIO_TCL_R1_END_OF_TEST_CHECK_OUTM(x, mask, val)             \
5924 	do {\
5925 		HWIO_INTLOCK(); \
5926 		out_dword_masked_ns(HWIO_TCL_R1_END_OF_TEST_CHECK_ADDR(x), mask, val, HWIO_TCL_R1_END_OF_TEST_CHECK_IN(x)); \
5927 		HWIO_INTFREE();\
5928 	} while (0)
5929 
5930 #define HWIO_TCL_R1_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_BMSK    0x00000001
5931 #define HWIO_TCL_R1_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_SHFT           0x0
5932 
5933 //// Register TCL_R1_ASE_END_OF_TEST_CHECK ////
5934 
5935 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_ADDR(x)                    (x+0x00001038)
5936 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_PHYS(x)                    (x+0x00001038)
5937 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_RMSK                       0x00000001
5938 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_SHFT                                0
5939 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_IN(x)                      \
5940 	in_dword_masked ( HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_ADDR(x), HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_RMSK)
5941 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_INM(x, mask)               \
5942 	in_dword_masked ( HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_ADDR(x), mask)
5943 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_OUT(x, val)                \
5944 	out_dword( HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_ADDR(x), val)
5945 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_OUTM(x, mask, val)         \
5946 	do {\
5947 		HWIO_INTLOCK(); \
5948 		out_dword_masked_ns(HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_ADDR(x), mask, val, HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_IN(x)); \
5949 		HWIO_INTFREE();\
5950 	} while (0)
5951 
5952 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_BMSK 0x00000001
5953 #define HWIO_TCL_R1_ASE_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_SHFT        0x0
5954 
5955 //// Register TCL_R1_ASE_DEBUG_CLEAR_COUNTERS ////
5956 
5957 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_ADDR(x)                 (x+0x0000103c)
5958 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_PHYS(x)                 (x+0x0000103c)
5959 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_RMSK                    0x00000001
5960 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_SHFT                             0
5961 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_IN(x)                   \
5962 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_ADDR(x), HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_RMSK)
5963 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_INM(x, mask)            \
5964 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_ADDR(x), mask)
5965 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_OUT(x, val)             \
5966 	out_dword( HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_ADDR(x), val)
5967 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_OUTM(x, mask, val)      \
5968 	do {\
5969 		HWIO_INTLOCK(); \
5970 		out_dword_masked_ns(HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_ADDR(x), mask, val, HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_IN(x)); \
5971 		HWIO_INTFREE();\
5972 	} while (0)
5973 
5974 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_EN_BMSK                 0x00000001
5975 #define HWIO_TCL_R1_ASE_DEBUG_CLEAR_COUNTERS_EN_SHFT                        0x0
5976 
5977 //// Register TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER ////
5978 
5979 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_ADDR(x)         (x+0x00001040)
5980 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_PHYS(x)         (x+0x00001040)
5981 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_RMSK            0xffffffff
5982 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_SHFT                     0
5983 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_IN(x)           \
5984 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_ADDR(x), HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_RMSK)
5985 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_INM(x, mask)    \
5986 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_ADDR(x), mask)
5987 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_OUT(x, val)     \
5988 	out_dword( HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_ADDR(x), val)
5989 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_OUTM(x, mask, val) \
5990 	do {\
5991 		HWIO_INTLOCK(); \
5992 		out_dword_masked_ns(HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_ADDR(x), mask, val, HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_IN(x)); \
5993 		HWIO_INTFREE();\
5994 	} while (0)
5995 
5996 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_VAL_BMSK        0xffffffff
5997 #define HWIO_TCL_R1_ASE_DEBUG_NUM_CACHE_HITS_COUNTER_VAL_SHFT               0x0
5998 
5999 //// Register TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER ////
6000 
6001 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_ADDR(x)           (x+0x00001044)
6002 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_PHYS(x)           (x+0x00001044)
6003 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_RMSK              0xffffffff
6004 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_SHFT                       0
6005 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_IN(x)             \
6006 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_ADDR(x), HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_RMSK)
6007 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_INM(x, mask)      \
6008 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_ADDR(x), mask)
6009 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_OUT(x, val)       \
6010 	out_dword( HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_ADDR(x), val)
6011 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_OUTM(x, mask, val) \
6012 	do {\
6013 		HWIO_INTLOCK(); \
6014 		out_dword_masked_ns(HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_ADDR(x), mask, val, HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_IN(x)); \
6015 		HWIO_INTFREE();\
6016 	} while (0)
6017 
6018 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_VAL_BMSK          0xffffffff
6019 #define HWIO_TCL_R1_ASE_DEBUG_NUM_SEARCHES_COUNTER_VAL_SHFT                 0x0
6020 
6021 //// Register TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER ////
6022 
6023 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_ADDR(x)        (x+0x00001048)
6024 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_PHYS(x)        (x+0x00001048)
6025 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_RMSK           0x000fffff
6026 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_SHFT                    0
6027 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_IN(x)          \
6028 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_ADDR(x), HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_RMSK)
6029 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_INM(x, mask)   \
6030 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_ADDR(x), mask)
6031 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_OUT(x, val)    \
6032 	out_dword( HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_ADDR(x), val)
6033 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_OUTM(x, mask, val) \
6034 	do {\
6035 		HWIO_INTLOCK(); \
6036 		out_dword_masked_ns(HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_ADDR(x), mask, val, HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_IN(x)); \
6037 		HWIO_INTFREE();\
6038 	} while (0)
6039 
6040 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_PEAK_BMSK      0x000ffc00
6041 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_PEAK_SHFT             0xa
6042 
6043 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_CURR_BMSK      0x000003ff
6044 #define HWIO_TCL_R1_ASE_DEBUG_CACHE_OCCUPANCY_COUNTER_CURR_SHFT             0x0
6045 
6046 //// Register TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER ////
6047 
6048 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_ADDR(x)            (x+0x0000104c)
6049 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_PHYS(x)            (x+0x0000104c)
6050 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_RMSK               0x03ffffff
6051 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_SHFT                        0
6052 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_IN(x)              \
6053 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_ADDR(x), HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_RMSK)
6054 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_INM(x, mask)       \
6055 	in_dword_masked ( HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_ADDR(x), mask)
6056 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_OUT(x, val)        \
6057 	out_dword( HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_ADDR(x), val)
6058 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_OUTM(x, mask, val) \
6059 	do {\
6060 		HWIO_INTLOCK(); \
6061 		out_dword_masked_ns(HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_ADDR(x), mask, val, HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_IN(x)); \
6062 		HWIO_INTFREE();\
6063 	} while (0)
6064 
6065 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_SQUARE_OCCUPANCY_BMSK 0x03fffc00
6066 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_SQUARE_OCCUPANCY_SHFT        0xa
6067 
6068 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_PEAK_NUM_SEARCH_PENDING_BMSK 0x000003e0
6069 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_PEAK_NUM_SEARCH_PENDING_SHFT        0x5
6070 
6071 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_NUM_SEARCH_PENDING_BMSK 0x0000001f
6072 #define HWIO_TCL_R1_ASE_DEBUG_SEARCH_STAT_COUNTER_NUM_SEARCH_PENDING_SHFT        0x0
6073 
6074 //// Register TCL_R1_ASE_SM_STATES ////
6075 
6076 #define HWIO_TCL_R1_ASE_SM_STATES_ADDR(x)                            (x+0x00001050)
6077 #define HWIO_TCL_R1_ASE_SM_STATES_PHYS(x)                            (x+0x00001050)
6078 #define HWIO_TCL_R1_ASE_SM_STATES_RMSK                               0x003fff0f
6079 #define HWIO_TCL_R1_ASE_SM_STATES_SHFT                                        0
6080 #define HWIO_TCL_R1_ASE_SM_STATES_IN(x)                              \
6081 	in_dword_masked ( HWIO_TCL_R1_ASE_SM_STATES_ADDR(x), HWIO_TCL_R1_ASE_SM_STATES_RMSK)
6082 #define HWIO_TCL_R1_ASE_SM_STATES_INM(x, mask)                       \
6083 	in_dword_masked ( HWIO_TCL_R1_ASE_SM_STATES_ADDR(x), mask)
6084 #define HWIO_TCL_R1_ASE_SM_STATES_OUT(x, val)                        \
6085 	out_dword( HWIO_TCL_R1_ASE_SM_STATES_ADDR(x), val)
6086 #define HWIO_TCL_R1_ASE_SM_STATES_OUTM(x, mask, val)                 \
6087 	do {\
6088 		HWIO_INTLOCK(); \
6089 		out_dword_masked_ns(HWIO_TCL_R1_ASE_SM_STATES_ADDR(x), mask, val, HWIO_TCL_R1_ASE_SM_STATES_IN(x)); \
6090 		HWIO_INTFREE();\
6091 	} while (0)
6092 
6093 #define HWIO_TCL_R1_ASE_SM_STATES_GSE_CTRL_STATE_BMSK                0x00300000
6094 #define HWIO_TCL_R1_ASE_SM_STATES_GSE_CTRL_STATE_SHFT                      0x14
6095 
6096 #define HWIO_TCL_R1_ASE_SM_STATES_CACHE_CHK_STATE_BMSK               0x000c0000
6097 #define HWIO_TCL_R1_ASE_SM_STATES_CACHE_CHK_STATE_SHFT                     0x12
6098 
6099 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_ISS1_STATE_BMSK                0x00030000
6100 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_ISS1_STATE_SHFT                      0x10
6101 
6102 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_ISS2_STATE_BMSK                0x0000c000
6103 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_ISS2_STATE_SHFT                       0xe
6104 
6105 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_RESP1_STATE_BMSK               0x00003800
6106 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_RESP1_STATE_SHFT                      0xb
6107 
6108 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_RESP2_STATE_BMSK               0x00000700
6109 #define HWIO_TCL_R1_ASE_SM_STATES_MEM_RESP2_STATE_SHFT                      0x8
6110 
6111 #define HWIO_TCL_R1_ASE_SM_STATES_APP_RETURN_STATE_BMSK              0x0000000f
6112 #define HWIO_TCL_R1_ASE_SM_STATES_APP_RETURN_STATE_SHFT                     0x0
6113 
6114 //// Register TCL_R1_ASE_CACHE_DEBUG ////
6115 
6116 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ADDR(x)                          (x+0x00001054)
6117 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_PHYS(x)                          (x+0x00001054)
6118 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_RMSK                             0x000003ff
6119 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_SHFT                                      0
6120 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_IN(x)                            \
6121 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ADDR(x), HWIO_TCL_R1_ASE_CACHE_DEBUG_RMSK)
6122 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_INM(x, mask)                     \
6123 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ADDR(x), mask)
6124 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_OUT(x, val)                      \
6125 	out_dword( HWIO_TCL_R1_ASE_CACHE_DEBUG_ADDR(x), val)
6126 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_OUTM(x, mask, val)               \
6127 	do {\
6128 		HWIO_INTLOCK(); \
6129 		out_dword_masked_ns(HWIO_TCL_R1_ASE_CACHE_DEBUG_ADDR(x), mask, val, HWIO_TCL_R1_ASE_CACHE_DEBUG_IN(x)); \
6130 		HWIO_INTFREE();\
6131 	} while (0)
6132 
6133 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_READ_IDX_BMSK                    0x000003ff
6134 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_READ_IDX_SHFT                           0x0
6135 
6136 //// Register TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS ////
6137 
6138 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_ADDR(x)              (x+0x00001058)
6139 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_PHYS(x)              (x+0x00001058)
6140 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_RMSK                 0x007fffff
6141 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_SHFT                          0
6142 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_IN(x)                \
6143 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_ADDR(x), HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_RMSK)
6144 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_INM(x, mask)         \
6145 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_ADDR(x), mask)
6146 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_OUT(x, val)          \
6147 	out_dword( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_ADDR(x), val)
6148 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_OUTM(x, mask, val)   \
6149 	do {\
6150 		HWIO_INTLOCK(); \
6151 		out_dword_masked_ns(HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_ADDR(x), mask, val, HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_IN(x)); \
6152 		HWIO_INTFREE();\
6153 	} while (0)
6154 
6155 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_GST_IDX_BMSK         0x007ffff8
6156 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_GST_IDX_SHFT                0x3
6157 
6158 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_CACHE_ONLY_BMSK      0x00000004
6159 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_CACHE_ONLY_SHFT             0x2
6160 
6161 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_DIRTY_BMSK           0x00000002
6162 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_DIRTY_SHFT                  0x1
6163 
6164 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_VALID_BMSK           0x00000001
6165 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_STATS_VALID_SHFT                  0x0
6166 
6167 //// Register TCL_R1_ASE_CACHE_DEBUG_ENTRY_n ////
6168 
6169 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_ADDR(base, n)            (base+0x105C+0x4*n)
6170 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_PHYS(base, n)            (base+0x105C+0x4*n)
6171 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_RMSK                     0xffffffff
6172 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_SHFT                              0
6173 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_MAXn                             31
6174 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_INI(base, n)             \
6175 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_ADDR(base, n), HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_RMSK)
6176 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_INMI(base, n, mask)      \
6177 	in_dword_masked ( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_ADDR(base, n), mask)
6178 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_OUTI(base, n, val)       \
6179 	out_dword( HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_ADDR(base, n), val)
6180 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_OUTMI(base, n, mask, val) \
6181 	do {\
6182 		HWIO_INTLOCK(); \
6183 		out_dword_masked_ns(HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_ADDR(base, n), mask, val, HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_INI(base, n)); \
6184 		HWIO_INTFREE();\
6185 	} while (0)
6186 
6187 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_VAL_BMSK                 0xffffffff
6188 #define HWIO_TCL_R1_ASE_CACHE_DEBUG_ENTRY_n_VAL_SHFT                        0x0
6189 
6190 //// Register TCL_R2_SW2TCL1_RING_HP ////
6191 
6192 #define HWIO_TCL_R2_SW2TCL1_RING_HP_ADDR(x)                          (x+0x00002000)
6193 #define HWIO_TCL_R2_SW2TCL1_RING_HP_PHYS(x)                          (x+0x00002000)
6194 #define HWIO_TCL_R2_SW2TCL1_RING_HP_RMSK                             0x000fffff
6195 #define HWIO_TCL_R2_SW2TCL1_RING_HP_SHFT                                      0
6196 #define HWIO_TCL_R2_SW2TCL1_RING_HP_IN(x)                            \
6197 	in_dword_masked ( HWIO_TCL_R2_SW2TCL1_RING_HP_ADDR(x), HWIO_TCL_R2_SW2TCL1_RING_HP_RMSK)
6198 #define HWIO_TCL_R2_SW2TCL1_RING_HP_INM(x, mask)                     \
6199 	in_dword_masked ( HWIO_TCL_R2_SW2TCL1_RING_HP_ADDR(x), mask)
6200 #define HWIO_TCL_R2_SW2TCL1_RING_HP_OUT(x, val)                      \
6201 	out_dword( HWIO_TCL_R2_SW2TCL1_RING_HP_ADDR(x), val)
6202 #define HWIO_TCL_R2_SW2TCL1_RING_HP_OUTM(x, mask, val)               \
6203 	do {\
6204 		HWIO_INTLOCK(); \
6205 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL1_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL1_RING_HP_IN(x)); \
6206 		HWIO_INTFREE();\
6207 	} while (0)
6208 
6209 #define HWIO_TCL_R2_SW2TCL1_RING_HP_HEAD_PTR_BMSK                    0x000fffff
6210 #define HWIO_TCL_R2_SW2TCL1_RING_HP_HEAD_PTR_SHFT                           0x0
6211 
6212 //// Register TCL_R2_SW2TCL1_RING_TP ////
6213 
6214 #define HWIO_TCL_R2_SW2TCL1_RING_TP_ADDR(x)                          (x+0x00002004)
6215 #define HWIO_TCL_R2_SW2TCL1_RING_TP_PHYS(x)                          (x+0x00002004)
6216 #define HWIO_TCL_R2_SW2TCL1_RING_TP_RMSK                             0x000fffff
6217 #define HWIO_TCL_R2_SW2TCL1_RING_TP_SHFT                                      0
6218 #define HWIO_TCL_R2_SW2TCL1_RING_TP_IN(x)                            \
6219 	in_dword_masked ( HWIO_TCL_R2_SW2TCL1_RING_TP_ADDR(x), HWIO_TCL_R2_SW2TCL1_RING_TP_RMSK)
6220 #define HWIO_TCL_R2_SW2TCL1_RING_TP_INM(x, mask)                     \
6221 	in_dword_masked ( HWIO_TCL_R2_SW2TCL1_RING_TP_ADDR(x), mask)
6222 #define HWIO_TCL_R2_SW2TCL1_RING_TP_OUT(x, val)                      \
6223 	out_dword( HWIO_TCL_R2_SW2TCL1_RING_TP_ADDR(x), val)
6224 #define HWIO_TCL_R2_SW2TCL1_RING_TP_OUTM(x, mask, val)               \
6225 	do {\
6226 		HWIO_INTLOCK(); \
6227 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL1_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL1_RING_TP_IN(x)); \
6228 		HWIO_INTFREE();\
6229 	} while (0)
6230 
6231 #define HWIO_TCL_R2_SW2TCL1_RING_TP_TAIL_PTR_BMSK                    0x000fffff
6232 #define HWIO_TCL_R2_SW2TCL1_RING_TP_TAIL_PTR_SHFT                           0x0
6233 
6234 //// Register TCL_R2_SW2TCL2_RING_HP ////
6235 
6236 #define HWIO_TCL_R2_SW2TCL2_RING_HP_ADDR(x)                          (x+0x00002008)
6237 #define HWIO_TCL_R2_SW2TCL2_RING_HP_PHYS(x)                          (x+0x00002008)
6238 #define HWIO_TCL_R2_SW2TCL2_RING_HP_RMSK                             0x000fffff
6239 #define HWIO_TCL_R2_SW2TCL2_RING_HP_SHFT                                      0
6240 #define HWIO_TCL_R2_SW2TCL2_RING_HP_IN(x)                            \
6241 	in_dword_masked ( HWIO_TCL_R2_SW2TCL2_RING_HP_ADDR(x), HWIO_TCL_R2_SW2TCL2_RING_HP_RMSK)
6242 #define HWIO_TCL_R2_SW2TCL2_RING_HP_INM(x, mask)                     \
6243 	in_dword_masked ( HWIO_TCL_R2_SW2TCL2_RING_HP_ADDR(x), mask)
6244 #define HWIO_TCL_R2_SW2TCL2_RING_HP_OUT(x, val)                      \
6245 	out_dword( HWIO_TCL_R2_SW2TCL2_RING_HP_ADDR(x), val)
6246 #define HWIO_TCL_R2_SW2TCL2_RING_HP_OUTM(x, mask, val)               \
6247 	do {\
6248 		HWIO_INTLOCK(); \
6249 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL2_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL2_RING_HP_IN(x)); \
6250 		HWIO_INTFREE();\
6251 	} while (0)
6252 
6253 #define HWIO_TCL_R2_SW2TCL2_RING_HP_HEAD_PTR_BMSK                    0x000fffff
6254 #define HWIO_TCL_R2_SW2TCL2_RING_HP_HEAD_PTR_SHFT                           0x0
6255 
6256 //// Register TCL_R2_SW2TCL2_RING_TP ////
6257 
6258 #define HWIO_TCL_R2_SW2TCL2_RING_TP_ADDR(x)                          (x+0x0000200c)
6259 #define HWIO_TCL_R2_SW2TCL2_RING_TP_PHYS(x)                          (x+0x0000200c)
6260 #define HWIO_TCL_R2_SW2TCL2_RING_TP_RMSK                             0x000fffff
6261 #define HWIO_TCL_R2_SW2TCL2_RING_TP_SHFT                                      0
6262 #define HWIO_TCL_R2_SW2TCL2_RING_TP_IN(x)                            \
6263 	in_dword_masked ( HWIO_TCL_R2_SW2TCL2_RING_TP_ADDR(x), HWIO_TCL_R2_SW2TCL2_RING_TP_RMSK)
6264 #define HWIO_TCL_R2_SW2TCL2_RING_TP_INM(x, mask)                     \
6265 	in_dword_masked ( HWIO_TCL_R2_SW2TCL2_RING_TP_ADDR(x), mask)
6266 #define HWIO_TCL_R2_SW2TCL2_RING_TP_OUT(x, val)                      \
6267 	out_dword( HWIO_TCL_R2_SW2TCL2_RING_TP_ADDR(x), val)
6268 #define HWIO_TCL_R2_SW2TCL2_RING_TP_OUTM(x, mask, val)               \
6269 	do {\
6270 		HWIO_INTLOCK(); \
6271 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL2_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL2_RING_TP_IN(x)); \
6272 		HWIO_INTFREE();\
6273 	} while (0)
6274 
6275 #define HWIO_TCL_R2_SW2TCL2_RING_TP_TAIL_PTR_BMSK                    0x000fffff
6276 #define HWIO_TCL_R2_SW2TCL2_RING_TP_TAIL_PTR_SHFT                           0x0
6277 
6278 //// Register TCL_R2_SW2TCL3_RING_HP ////
6279 
6280 #define HWIO_TCL_R2_SW2TCL3_RING_HP_ADDR(x)                          (x+0x00002010)
6281 #define HWIO_TCL_R2_SW2TCL3_RING_HP_PHYS(x)                          (x+0x00002010)
6282 #define HWIO_TCL_R2_SW2TCL3_RING_HP_RMSK                             0x000fffff
6283 #define HWIO_TCL_R2_SW2TCL3_RING_HP_SHFT                                      0
6284 #define HWIO_TCL_R2_SW2TCL3_RING_HP_IN(x)                            \
6285 	in_dword_masked ( HWIO_TCL_R2_SW2TCL3_RING_HP_ADDR(x), HWIO_TCL_R2_SW2TCL3_RING_HP_RMSK)
6286 #define HWIO_TCL_R2_SW2TCL3_RING_HP_INM(x, mask)                     \
6287 	in_dword_masked ( HWIO_TCL_R2_SW2TCL3_RING_HP_ADDR(x), mask)
6288 #define HWIO_TCL_R2_SW2TCL3_RING_HP_OUT(x, val)                      \
6289 	out_dword( HWIO_TCL_R2_SW2TCL3_RING_HP_ADDR(x), val)
6290 #define HWIO_TCL_R2_SW2TCL3_RING_HP_OUTM(x, mask, val)               \
6291 	do {\
6292 		HWIO_INTLOCK(); \
6293 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL3_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL3_RING_HP_IN(x)); \
6294 		HWIO_INTFREE();\
6295 	} while (0)
6296 
6297 #define HWIO_TCL_R2_SW2TCL3_RING_HP_HEAD_PTR_BMSK                    0x000fffff
6298 #define HWIO_TCL_R2_SW2TCL3_RING_HP_HEAD_PTR_SHFT                           0x0
6299 
6300 //// Register TCL_R2_SW2TCL3_RING_TP ////
6301 
6302 #define HWIO_TCL_R2_SW2TCL3_RING_TP_ADDR(x)                          (x+0x00002014)
6303 #define HWIO_TCL_R2_SW2TCL3_RING_TP_PHYS(x)                          (x+0x00002014)
6304 #define HWIO_TCL_R2_SW2TCL3_RING_TP_RMSK                             0x000fffff
6305 #define HWIO_TCL_R2_SW2TCL3_RING_TP_SHFT                                      0
6306 #define HWIO_TCL_R2_SW2TCL3_RING_TP_IN(x)                            \
6307 	in_dword_masked ( HWIO_TCL_R2_SW2TCL3_RING_TP_ADDR(x), HWIO_TCL_R2_SW2TCL3_RING_TP_RMSK)
6308 #define HWIO_TCL_R2_SW2TCL3_RING_TP_INM(x, mask)                     \
6309 	in_dword_masked ( HWIO_TCL_R2_SW2TCL3_RING_TP_ADDR(x), mask)
6310 #define HWIO_TCL_R2_SW2TCL3_RING_TP_OUT(x, val)                      \
6311 	out_dword( HWIO_TCL_R2_SW2TCL3_RING_TP_ADDR(x), val)
6312 #define HWIO_TCL_R2_SW2TCL3_RING_TP_OUTM(x, mask, val)               \
6313 	do {\
6314 		HWIO_INTLOCK(); \
6315 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL3_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL3_RING_TP_IN(x)); \
6316 		HWIO_INTFREE();\
6317 	} while (0)
6318 
6319 #define HWIO_TCL_R2_SW2TCL3_RING_TP_TAIL_PTR_BMSK                    0x000fffff
6320 #define HWIO_TCL_R2_SW2TCL3_RING_TP_TAIL_PTR_SHFT                           0x0
6321 
6322 //// Register TCL_R2_SW2TCL_CREDIT_RING_HP ////
6323 
6324 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_ADDR(x)                    (x+0x00002018)
6325 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_PHYS(x)                    (x+0x00002018)
6326 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_RMSK                       0x000fffff
6327 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_SHFT                                0
6328 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_IN(x)                      \
6329 	in_dword_masked ( HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_ADDR(x), HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_RMSK)
6330 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_INM(x, mask)               \
6331 	in_dword_masked ( HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_ADDR(x), mask)
6332 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_OUT(x, val)                \
6333 	out_dword( HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_ADDR(x), val)
6334 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_OUTM(x, mask, val)         \
6335 	do {\
6336 		HWIO_INTLOCK(); \
6337 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_IN(x)); \
6338 		HWIO_INTFREE();\
6339 	} while (0)
6340 
6341 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_HEAD_PTR_BMSK              0x000fffff
6342 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_HP_HEAD_PTR_SHFT                     0x0
6343 
6344 //// Register TCL_R2_SW2TCL_CREDIT_RING_TP ////
6345 
6346 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_ADDR(x)                    (x+0x0000201c)
6347 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_PHYS(x)                    (x+0x0000201c)
6348 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_RMSK                       0x000fffff
6349 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_SHFT                                0
6350 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_IN(x)                      \
6351 	in_dword_masked ( HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_ADDR(x), HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_RMSK)
6352 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_INM(x, mask)               \
6353 	in_dword_masked ( HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_ADDR(x), mask)
6354 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_OUT(x, val)                \
6355 	out_dword( HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_ADDR(x), val)
6356 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_OUTM(x, mask, val)         \
6357 	do {\
6358 		HWIO_INTLOCK(); \
6359 		out_dword_masked_ns(HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_IN(x)); \
6360 		HWIO_INTFREE();\
6361 	} while (0)
6362 
6363 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_TAIL_PTR_BMSK              0x000fffff
6364 #define HWIO_TCL_R2_SW2TCL_CREDIT_RING_TP_TAIL_PTR_SHFT                     0x0
6365 
6366 //// Register TCL_R2_FW2TCL1_RING_HP ////
6367 
6368 #define HWIO_TCL_R2_FW2TCL1_RING_HP_ADDR(x)                          (x+0x00002020)
6369 #define HWIO_TCL_R2_FW2TCL1_RING_HP_PHYS(x)                          (x+0x00002020)
6370 #define HWIO_TCL_R2_FW2TCL1_RING_HP_RMSK                             0x0000ffff
6371 #define HWIO_TCL_R2_FW2TCL1_RING_HP_SHFT                                      0
6372 #define HWIO_TCL_R2_FW2TCL1_RING_HP_IN(x)                            \
6373 	in_dword_masked ( HWIO_TCL_R2_FW2TCL1_RING_HP_ADDR(x), HWIO_TCL_R2_FW2TCL1_RING_HP_RMSK)
6374 #define HWIO_TCL_R2_FW2TCL1_RING_HP_INM(x, mask)                     \
6375 	in_dword_masked ( HWIO_TCL_R2_FW2TCL1_RING_HP_ADDR(x), mask)
6376 #define HWIO_TCL_R2_FW2TCL1_RING_HP_OUT(x, val)                      \
6377 	out_dword( HWIO_TCL_R2_FW2TCL1_RING_HP_ADDR(x), val)
6378 #define HWIO_TCL_R2_FW2TCL1_RING_HP_OUTM(x, mask, val)               \
6379 	do {\
6380 		HWIO_INTLOCK(); \
6381 		out_dword_masked_ns(HWIO_TCL_R2_FW2TCL1_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_FW2TCL1_RING_HP_IN(x)); \
6382 		HWIO_INTFREE();\
6383 	} while (0)
6384 
6385 #define HWIO_TCL_R2_FW2TCL1_RING_HP_HEAD_PTR_BMSK                    0x0000ffff
6386 #define HWIO_TCL_R2_FW2TCL1_RING_HP_HEAD_PTR_SHFT                           0x0
6387 
6388 //// Register TCL_R2_FW2TCL1_RING_TP ////
6389 
6390 #define HWIO_TCL_R2_FW2TCL1_RING_TP_ADDR(x)                          (x+0x00002024)
6391 #define HWIO_TCL_R2_FW2TCL1_RING_TP_PHYS(x)                          (x+0x00002024)
6392 #define HWIO_TCL_R2_FW2TCL1_RING_TP_RMSK                             0x0000ffff
6393 #define HWIO_TCL_R2_FW2TCL1_RING_TP_SHFT                                      0
6394 #define HWIO_TCL_R2_FW2TCL1_RING_TP_IN(x)                            \
6395 	in_dword_masked ( HWIO_TCL_R2_FW2TCL1_RING_TP_ADDR(x), HWIO_TCL_R2_FW2TCL1_RING_TP_RMSK)
6396 #define HWIO_TCL_R2_FW2TCL1_RING_TP_INM(x, mask)                     \
6397 	in_dword_masked ( HWIO_TCL_R2_FW2TCL1_RING_TP_ADDR(x), mask)
6398 #define HWIO_TCL_R2_FW2TCL1_RING_TP_OUT(x, val)                      \
6399 	out_dword( HWIO_TCL_R2_FW2TCL1_RING_TP_ADDR(x), val)
6400 #define HWIO_TCL_R2_FW2TCL1_RING_TP_OUTM(x, mask, val)               \
6401 	do {\
6402 		HWIO_INTLOCK(); \
6403 		out_dword_masked_ns(HWIO_TCL_R2_FW2TCL1_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_FW2TCL1_RING_TP_IN(x)); \
6404 		HWIO_INTFREE();\
6405 	} while (0)
6406 
6407 #define HWIO_TCL_R2_FW2TCL1_RING_TP_TAIL_PTR_BMSK                    0x0000ffff
6408 #define HWIO_TCL_R2_FW2TCL1_RING_TP_TAIL_PTR_SHFT                           0x0
6409 
6410 //// Register TCL_R2_TCL2TQM_RING_HP ////
6411 
6412 #define HWIO_TCL_R2_TCL2TQM_RING_HP_ADDR(x)                          (x+0x00002028)
6413 #define HWIO_TCL_R2_TCL2TQM_RING_HP_PHYS(x)                          (x+0x00002028)
6414 #define HWIO_TCL_R2_TCL2TQM_RING_HP_RMSK                             0x0000ffff
6415 #define HWIO_TCL_R2_TCL2TQM_RING_HP_SHFT                                      0
6416 #define HWIO_TCL_R2_TCL2TQM_RING_HP_IN(x)                            \
6417 	in_dword_masked ( HWIO_TCL_R2_TCL2TQM_RING_HP_ADDR(x), HWIO_TCL_R2_TCL2TQM_RING_HP_RMSK)
6418 #define HWIO_TCL_R2_TCL2TQM_RING_HP_INM(x, mask)                     \
6419 	in_dword_masked ( HWIO_TCL_R2_TCL2TQM_RING_HP_ADDR(x), mask)
6420 #define HWIO_TCL_R2_TCL2TQM_RING_HP_OUT(x, val)                      \
6421 	out_dword( HWIO_TCL_R2_TCL2TQM_RING_HP_ADDR(x), val)
6422 #define HWIO_TCL_R2_TCL2TQM_RING_HP_OUTM(x, mask, val)               \
6423 	do {\
6424 		HWIO_INTLOCK(); \
6425 		out_dword_masked_ns(HWIO_TCL_R2_TCL2TQM_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_TCL2TQM_RING_HP_IN(x)); \
6426 		HWIO_INTFREE();\
6427 	} while (0)
6428 
6429 #define HWIO_TCL_R2_TCL2TQM_RING_HP_HEAD_PTR_BMSK                    0x0000ffff
6430 #define HWIO_TCL_R2_TCL2TQM_RING_HP_HEAD_PTR_SHFT                           0x0
6431 
6432 //// Register TCL_R2_TCL2TQM_RING_TP ////
6433 
6434 #define HWIO_TCL_R2_TCL2TQM_RING_TP_ADDR(x)                          (x+0x0000202c)
6435 #define HWIO_TCL_R2_TCL2TQM_RING_TP_PHYS(x)                          (x+0x0000202c)
6436 #define HWIO_TCL_R2_TCL2TQM_RING_TP_RMSK                             0x0000ffff
6437 #define HWIO_TCL_R2_TCL2TQM_RING_TP_SHFT                                      0
6438 #define HWIO_TCL_R2_TCL2TQM_RING_TP_IN(x)                            \
6439 	in_dword_masked ( HWIO_TCL_R2_TCL2TQM_RING_TP_ADDR(x), HWIO_TCL_R2_TCL2TQM_RING_TP_RMSK)
6440 #define HWIO_TCL_R2_TCL2TQM_RING_TP_INM(x, mask)                     \
6441 	in_dword_masked ( HWIO_TCL_R2_TCL2TQM_RING_TP_ADDR(x), mask)
6442 #define HWIO_TCL_R2_TCL2TQM_RING_TP_OUT(x, val)                      \
6443 	out_dword( HWIO_TCL_R2_TCL2TQM_RING_TP_ADDR(x), val)
6444 #define HWIO_TCL_R2_TCL2TQM_RING_TP_OUTM(x, mask, val)               \
6445 	do {\
6446 		HWIO_INTLOCK(); \
6447 		out_dword_masked_ns(HWIO_TCL_R2_TCL2TQM_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_TCL2TQM_RING_TP_IN(x)); \
6448 		HWIO_INTFREE();\
6449 	} while (0)
6450 
6451 #define HWIO_TCL_R2_TCL2TQM_RING_TP_TAIL_PTR_BMSK                    0x0000ffff
6452 #define HWIO_TCL_R2_TCL2TQM_RING_TP_TAIL_PTR_SHFT                           0x0
6453 
6454 //// Register TCL_R2_TCL_STATUS1_RING_HP ////
6455 
6456 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_ADDR(x)                      (x+0x00002030)
6457 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_PHYS(x)                      (x+0x00002030)
6458 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_RMSK                         0x0000ffff
6459 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_SHFT                                  0
6460 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_IN(x)                        \
6461 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS1_RING_HP_ADDR(x), HWIO_TCL_R2_TCL_STATUS1_RING_HP_RMSK)
6462 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_INM(x, mask)                 \
6463 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS1_RING_HP_ADDR(x), mask)
6464 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_OUT(x, val)                  \
6465 	out_dword( HWIO_TCL_R2_TCL_STATUS1_RING_HP_ADDR(x), val)
6466 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_OUTM(x, mask, val)           \
6467 	do {\
6468 		HWIO_INTLOCK(); \
6469 		out_dword_masked_ns(HWIO_TCL_R2_TCL_STATUS1_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_TCL_STATUS1_RING_HP_IN(x)); \
6470 		HWIO_INTFREE();\
6471 	} while (0)
6472 
6473 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_HEAD_PTR_BMSK                0x0000ffff
6474 #define HWIO_TCL_R2_TCL_STATUS1_RING_HP_HEAD_PTR_SHFT                       0x0
6475 
6476 //// Register TCL_R2_TCL_STATUS1_RING_TP ////
6477 
6478 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_ADDR(x)                      (x+0x00002034)
6479 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_PHYS(x)                      (x+0x00002034)
6480 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_RMSK                         0x0000ffff
6481 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_SHFT                                  0
6482 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_IN(x)                        \
6483 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS1_RING_TP_ADDR(x), HWIO_TCL_R2_TCL_STATUS1_RING_TP_RMSK)
6484 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_INM(x, mask)                 \
6485 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS1_RING_TP_ADDR(x), mask)
6486 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_OUT(x, val)                  \
6487 	out_dword( HWIO_TCL_R2_TCL_STATUS1_RING_TP_ADDR(x), val)
6488 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_OUTM(x, mask, val)           \
6489 	do {\
6490 		HWIO_INTLOCK(); \
6491 		out_dword_masked_ns(HWIO_TCL_R2_TCL_STATUS1_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_TCL_STATUS1_RING_TP_IN(x)); \
6492 		HWIO_INTFREE();\
6493 	} while (0)
6494 
6495 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_TAIL_PTR_BMSK                0x0000ffff
6496 #define HWIO_TCL_R2_TCL_STATUS1_RING_TP_TAIL_PTR_SHFT                       0x0
6497 
6498 //// Register TCL_R2_TCL_STATUS2_RING_HP ////
6499 
6500 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_ADDR(x)                      (x+0x00002038)
6501 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_PHYS(x)                      (x+0x00002038)
6502 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_RMSK                         0x0000ffff
6503 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_SHFT                                  0
6504 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_IN(x)                        \
6505 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS2_RING_HP_ADDR(x), HWIO_TCL_R2_TCL_STATUS2_RING_HP_RMSK)
6506 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_INM(x, mask)                 \
6507 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS2_RING_HP_ADDR(x), mask)
6508 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_OUT(x, val)                  \
6509 	out_dword( HWIO_TCL_R2_TCL_STATUS2_RING_HP_ADDR(x), val)
6510 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_OUTM(x, mask, val)           \
6511 	do {\
6512 		HWIO_INTLOCK(); \
6513 		out_dword_masked_ns(HWIO_TCL_R2_TCL_STATUS2_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_TCL_STATUS2_RING_HP_IN(x)); \
6514 		HWIO_INTFREE();\
6515 	} while (0)
6516 
6517 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_HEAD_PTR_BMSK                0x0000ffff
6518 #define HWIO_TCL_R2_TCL_STATUS2_RING_HP_HEAD_PTR_SHFT                       0x0
6519 
6520 //// Register TCL_R2_TCL_STATUS2_RING_TP ////
6521 
6522 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_ADDR(x)                      (x+0x0000203c)
6523 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_PHYS(x)                      (x+0x0000203c)
6524 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_RMSK                         0x0000ffff
6525 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_SHFT                                  0
6526 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_IN(x)                        \
6527 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS2_RING_TP_ADDR(x), HWIO_TCL_R2_TCL_STATUS2_RING_TP_RMSK)
6528 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_INM(x, mask)                 \
6529 	in_dword_masked ( HWIO_TCL_R2_TCL_STATUS2_RING_TP_ADDR(x), mask)
6530 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_OUT(x, val)                  \
6531 	out_dword( HWIO_TCL_R2_TCL_STATUS2_RING_TP_ADDR(x), val)
6532 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_OUTM(x, mask, val)           \
6533 	do {\
6534 		HWIO_INTLOCK(); \
6535 		out_dword_masked_ns(HWIO_TCL_R2_TCL_STATUS2_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_TCL_STATUS2_RING_TP_IN(x)); \
6536 		HWIO_INTFREE();\
6537 	} while (0)
6538 
6539 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_TAIL_PTR_BMSK                0x0000ffff
6540 #define HWIO_TCL_R2_TCL_STATUS2_RING_TP_TAIL_PTR_SHFT                       0x0
6541 
6542 //// Register TCL_R2_TCL2FW_RING_HP ////
6543 
6544 #define HWIO_TCL_R2_TCL2FW_RING_HP_ADDR(x)                           (x+0x00002040)
6545 #define HWIO_TCL_R2_TCL2FW_RING_HP_PHYS(x)                           (x+0x00002040)
6546 #define HWIO_TCL_R2_TCL2FW_RING_HP_RMSK                              0x0000ffff
6547 #define HWIO_TCL_R2_TCL2FW_RING_HP_SHFT                                       0
6548 #define HWIO_TCL_R2_TCL2FW_RING_HP_IN(x)                             \
6549 	in_dword_masked ( HWIO_TCL_R2_TCL2FW_RING_HP_ADDR(x), HWIO_TCL_R2_TCL2FW_RING_HP_RMSK)
6550 #define HWIO_TCL_R2_TCL2FW_RING_HP_INM(x, mask)                      \
6551 	in_dword_masked ( HWIO_TCL_R2_TCL2FW_RING_HP_ADDR(x), mask)
6552 #define HWIO_TCL_R2_TCL2FW_RING_HP_OUT(x, val)                       \
6553 	out_dword( HWIO_TCL_R2_TCL2FW_RING_HP_ADDR(x), val)
6554 #define HWIO_TCL_R2_TCL2FW_RING_HP_OUTM(x, mask, val)                \
6555 	do {\
6556 		HWIO_INTLOCK(); \
6557 		out_dword_masked_ns(HWIO_TCL_R2_TCL2FW_RING_HP_ADDR(x), mask, val, HWIO_TCL_R2_TCL2FW_RING_HP_IN(x)); \
6558 		HWIO_INTFREE();\
6559 	} while (0)
6560 
6561 #define HWIO_TCL_R2_TCL2FW_RING_HP_HEAD_PTR_BMSK                     0x0000ffff
6562 #define HWIO_TCL_R2_TCL2FW_RING_HP_HEAD_PTR_SHFT                            0x0
6563 
6564 //// Register TCL_R2_TCL2FW_RING_TP ////
6565 
6566 #define HWIO_TCL_R2_TCL2FW_RING_TP_ADDR(x)                           (x+0x00002044)
6567 #define HWIO_TCL_R2_TCL2FW_RING_TP_PHYS(x)                           (x+0x00002044)
6568 #define HWIO_TCL_R2_TCL2FW_RING_TP_RMSK                              0x0000ffff
6569 #define HWIO_TCL_R2_TCL2FW_RING_TP_SHFT                                       0
6570 #define HWIO_TCL_R2_TCL2FW_RING_TP_IN(x)                             \
6571 	in_dword_masked ( HWIO_TCL_R2_TCL2FW_RING_TP_ADDR(x), HWIO_TCL_R2_TCL2FW_RING_TP_RMSK)
6572 #define HWIO_TCL_R2_TCL2FW_RING_TP_INM(x, mask)                      \
6573 	in_dword_masked ( HWIO_TCL_R2_TCL2FW_RING_TP_ADDR(x), mask)
6574 #define HWIO_TCL_R2_TCL2FW_RING_TP_OUT(x, val)                       \
6575 	out_dword( HWIO_TCL_R2_TCL2FW_RING_TP_ADDR(x), val)
6576 #define HWIO_TCL_R2_TCL2FW_RING_TP_OUTM(x, mask, val)                \
6577 	do {\
6578 		HWIO_INTLOCK(); \
6579 		out_dword_masked_ns(HWIO_TCL_R2_TCL2FW_RING_TP_ADDR(x), mask, val, HWIO_TCL_R2_TCL2FW_RING_TP_IN(x)); \
6580 		HWIO_INTFREE();\
6581 	} while (0)
6582 
6583 #define HWIO_TCL_R2_TCL2FW_RING_TP_TAIL_PTR_BMSK                     0x0000ffff
6584 #define HWIO_TCL_R2_TCL2FW_RING_TP_TAIL_PTR_SHFT                            0x0
6585 
6586 
6587 #endif
6588 
6589