xref: /wlan-driver/fw-api/hw/qca6390/v1/wbm_reg_seq_hwioreg.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef __WBM_REG_SEQ_REG_H__
20 #define __WBM_REG_SEQ_REG_H__
21 
22 #include "seq_hwio.h"
23 #include "wbm_reg_seq_hwiobase.h"
24 #ifdef SCALE_INCLUDES
25 	#include "HALhwio.h"
26 #else
27 	#include "msmhwio.h"
28 #endif
29 
30 
31 ///////////////////////////////////////////////////////////////////////////////////////////////
32 // Register Data for Block WBM_REG
33 ///////////////////////////////////////////////////////////////////////////////////////////////
34 
35 //// Register WBM_R0_GENERAL_ENABLE ////
36 
37 #define HWIO_WBM_R0_GENERAL_ENABLE_ADDR(x)                           (x+0x00000000)
38 #define HWIO_WBM_R0_GENERAL_ENABLE_PHYS(x)                           (x+0x00000000)
39 #define HWIO_WBM_R0_GENERAL_ENABLE_RMSK                              0x000000ff
40 #define HWIO_WBM_R0_GENERAL_ENABLE_SHFT                                       0
41 #define HWIO_WBM_R0_GENERAL_ENABLE_IN(x)                             \
42 	in_dword_masked ( HWIO_WBM_R0_GENERAL_ENABLE_ADDR(x), HWIO_WBM_R0_GENERAL_ENABLE_RMSK)
43 #define HWIO_WBM_R0_GENERAL_ENABLE_INM(x, mask)                      \
44 	in_dword_masked ( HWIO_WBM_R0_GENERAL_ENABLE_ADDR(x), mask)
45 #define HWIO_WBM_R0_GENERAL_ENABLE_OUT(x, val)                       \
46 	out_dword( HWIO_WBM_R0_GENERAL_ENABLE_ADDR(x), val)
47 #define HWIO_WBM_R0_GENERAL_ENABLE_OUTM(x, mask, val)                \
48 	do {\
49 		HWIO_INTLOCK(); \
50 		out_dword_masked_ns(HWIO_WBM_R0_GENERAL_ENABLE_ADDR(x), mask, val, HWIO_WBM_R0_GENERAL_ENABLE_IN(x)); \
51 		HWIO_INTFREE();\
52 	} while (0)
53 
54 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_DESC_CONTENT_CLEAR_ENABLE_BMSK 0x00000080
55 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_DESC_CONTENT_CLEAR_ENABLE_SHFT        0x7
56 
57 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_DESC_BYPASS_DISABLE_BMSK     0x00000040
58 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_DESC_BYPASS_DISABLE_SHFT            0x6
59 
60 #define HWIO_WBM_R0_GENERAL_ENABLE_MSDU_BUFFER_BYPASS_DISABLE_BMSK   0x00000020
61 #define HWIO_WBM_R0_GENERAL_ENABLE_MSDU_BUFFER_BYPASS_DISABLE_SHFT          0x5
62 
63 #define HWIO_WBM_R0_GENERAL_ENABLE_RELEASE_FUNCTION_ENABLE_BMSK      0x00000010
64 #define HWIO_WBM_R0_GENERAL_ENABLE_RELEASE_FUNCTION_ENABLE_SHFT             0x4
65 
66 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_IDLE_LIST_CONSUMER_ENABLE_BMSK 0x00000008
67 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_IDLE_LIST_CONSUMER_ENABLE_SHFT        0x3
68 
69 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_IDLE_LIST_PRODUCER_ENABLE_BMSK 0x00000004
70 #define HWIO_WBM_R0_GENERAL_ENABLE_LINK_IDLE_LIST_PRODUCER_ENABLE_SHFT        0x2
71 
72 #define HWIO_WBM_R0_GENERAL_ENABLE_BUFFER_IDLE_LIST_CONSUMER_ENABLE_BMSK 0x00000002
73 #define HWIO_WBM_R0_GENERAL_ENABLE_BUFFER_IDLE_LIST_CONSUMER_ENABLE_SHFT        0x1
74 
75 #define HWIO_WBM_R0_GENERAL_ENABLE_BUFFER_IDLE_LIST_PRODUCER_ENABLE_BMSK 0x00000001
76 #define HWIO_WBM_R0_GENERAL_ENABLE_BUFFER_IDLE_LIST_PRODUCER_ENABLE_SHFT        0x0
77 
78 //// Register WBM_R0_RELEASE_RING_ENABLE ////
79 
80 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_ADDR(x)                      (x+0x00000004)
81 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_PHYS(x)                      (x+0x00000004)
82 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RMSK                         0x000000ff
83 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_SHFT                                  0
84 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_IN(x)                        \
85 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_ENABLE_ADDR(x), HWIO_WBM_R0_RELEASE_RING_ENABLE_RMSK)
86 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_INM(x, mask)                 \
87 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_ENABLE_ADDR(x), mask)
88 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_OUT(x, val)                  \
89 	out_dword( HWIO_WBM_R0_RELEASE_RING_ENABLE_ADDR(x), val)
90 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_OUTM(x, mask, val)           \
91 	do {\
92 		HWIO_INTLOCK(); \
93 		out_dword_masked_ns(HWIO_WBM_R0_RELEASE_RING_ENABLE_ADDR(x), mask, val, HWIO_WBM_R0_RELEASE_RING_ENABLE_IN(x)); \
94 		HWIO_INTFREE();\
95 	} while (0)
96 
97 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA2_RELEASE_RING_ENABLE_BMSK 0x00000080
98 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA2_RELEASE_RING_ENABLE_SHFT        0x7
99 
100 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA1_RELEASE_RING_ENABLE_BMSK 0x00000040
101 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA1_RELEASE_RING_ENABLE_SHFT        0x6
102 
103 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA0_RELEASE_RING_ENABLE_BMSK 0x00000020
104 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_RXDMA0_RELEASE_RING_ENABLE_SHFT        0x5
105 
106 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_FW_RELEASE_RING_ENABLE_BMSK  0x00000010
107 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_FW_RELEASE_RING_ENABLE_SHFT         0x4
108 
109 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_SW_RELEASE_RING_ENABLE_BMSK  0x00000008
110 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_SW_RELEASE_RING_ENABLE_SHFT         0x3
111 
112 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_REO_RELEASE_RING_ENABLE_BMSK 0x00000004
113 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_REO_RELEASE_RING_ENABLE_SHFT        0x2
114 
115 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_TQM_RELEASE_RING_ENABLE_BMSK 0x00000002
116 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_TQM_RELEASE_RING_ENABLE_SHFT        0x1
117 
118 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_PPE_RELEASE_RING_ENABLE_BMSK 0x00000001
119 #define HWIO_WBM_R0_RELEASE_RING_ENABLE_PPE_RELEASE_RING_ENABLE_SHFT        0x0
120 
121 //// Register WBM_R0_MSDU_BUFFER_RING_ENABLE ////
122 
123 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_ADDR(x)                  (x+0x00000008)
124 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_PHYS(x)                  (x+0x00000008)
125 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_RMSK                     0x0000003f
126 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_SHFT                              0
127 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_IN(x)                    \
128 	in_dword_masked ( HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_ADDR(x), HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_RMSK)
129 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_INM(x, mask)             \
130 	in_dword_masked ( HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_ADDR(x), mask)
131 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_OUT(x, val)              \
132 	out_dword( HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_ADDR(x), val)
133 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_OUTM(x, mask, val)       \
134 	do {\
135 		HWIO_INTLOCK(); \
136 		out_dword_masked_ns(HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_ADDR(x), mask, val, HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_IN(x)); \
137 		HWIO_INTFREE();\
138 	} while (0)
139 
140 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA2_BUF_RING_ENABLE_BMSK 0x00000020
141 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA2_BUF_RING_ENABLE_SHFT        0x5
142 
143 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA1_BUF_RING_ENABLE_BMSK 0x00000010
144 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA1_BUF_RING_ENABLE_SHFT        0x4
145 
146 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA0_BUF_RING_ENABLE_BMSK 0x00000008
147 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2RXDMA0_BUF_RING_ENABLE_SHFT        0x3
148 
149 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2FW_BUF_RING_ENABLE_BMSK 0x00000004
150 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2FW_BUF_RING_ENABLE_SHFT        0x2
151 
152 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2SW_BUF_RING_ENABLE_BMSK 0x00000002
153 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2SW_BUF_RING_ENABLE_SHFT        0x1
154 
155 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2PPE_BUF_RING_ENABLE_BMSK 0x00000001
156 #define HWIO_WBM_R0_MSDU_BUFFER_RING_ENABLE_WBM2PPE_BUF_RING_ENABLE_SHFT        0x0
157 
158 //// Register WBM_R0_LINK_DESC_RING_ENABLE ////
159 
160 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_ADDR(x)                    (x+0x0000000c)
161 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_PHYS(x)                    (x+0x0000000c)
162 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_RMSK                       0x0000007f
163 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_SHFT                                0
164 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_IN(x)                      \
165 	in_dword_masked ( HWIO_WBM_R0_LINK_DESC_RING_ENABLE_ADDR(x), HWIO_WBM_R0_LINK_DESC_RING_ENABLE_RMSK)
166 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_INM(x, mask)               \
167 	in_dword_masked ( HWIO_WBM_R0_LINK_DESC_RING_ENABLE_ADDR(x), mask)
168 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_OUT(x, val)                \
169 	out_dword( HWIO_WBM_R0_LINK_DESC_RING_ENABLE_ADDR(x), val)
170 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_OUTM(x, mask, val)         \
171 	do {\
172 		HWIO_INTLOCK(); \
173 		out_dword_masked_ns(HWIO_WBM_R0_LINK_DESC_RING_ENABLE_ADDR(x), mask, val, HWIO_WBM_R0_LINK_DESC_RING_ENABLE_IN(x)); \
174 		HWIO_INTFREE();\
175 	} while (0)
176 
177 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA2_LINK_RING_ENABLE_BMSK 0x00000040
178 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA2_LINK_RING_ENABLE_SHFT        0x6
179 
180 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA1_LINK_RING_ENABLE_BMSK 0x00000020
181 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA1_LINK_RING_ENABLE_SHFT        0x5
182 
183 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA0_LINK_RING_ENABLE_BMSK 0x00000010
184 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2RXDMA0_LINK_RING_ENABLE_SHFT        0x4
185 
186 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2FW_LINK_RING_ENABLE_BMSK 0x00000008
187 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2FW_LINK_RING_ENABLE_SHFT        0x3
188 
189 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2SW_LINK_RING_ENABLE_BMSK 0x00000004
190 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2SW_LINK_RING_ENABLE_SHFT        0x2
191 
192 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2REO_LINK_RING_ENABLE_BMSK 0x00000002
193 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2REO_LINK_RING_ENABLE_SHFT        0x1
194 
195 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2TQM_LINK_RING_ENABLE_BMSK 0x00000001
196 #define HWIO_WBM_R0_LINK_DESC_RING_ENABLE_WBM2TQM_LINK_RING_ENABLE_SHFT        0x0
197 
198 //// Register WBM_R0_MISC_RING_ENABLE ////
199 
200 #define HWIO_WBM_R0_MISC_RING_ENABLE_ADDR(x)                         (x+0x00000010)
201 #define HWIO_WBM_R0_MISC_RING_ENABLE_PHYS(x)                         (x+0x00000010)
202 #define HWIO_WBM_R0_MISC_RING_ENABLE_RMSK                            0x0000003f
203 #define HWIO_WBM_R0_MISC_RING_ENABLE_SHFT                                     0
204 #define HWIO_WBM_R0_MISC_RING_ENABLE_IN(x)                           \
205 	in_dword_masked ( HWIO_WBM_R0_MISC_RING_ENABLE_ADDR(x), HWIO_WBM_R0_MISC_RING_ENABLE_RMSK)
206 #define HWIO_WBM_R0_MISC_RING_ENABLE_INM(x, mask)                    \
207 	in_dword_masked ( HWIO_WBM_R0_MISC_RING_ENABLE_ADDR(x), mask)
208 #define HWIO_WBM_R0_MISC_RING_ENABLE_OUT(x, val)                     \
209 	out_dword( HWIO_WBM_R0_MISC_RING_ENABLE_ADDR(x), val)
210 #define HWIO_WBM_R0_MISC_RING_ENABLE_OUTM(x, mask, val)              \
211 	do {\
212 		HWIO_INTLOCK(); \
213 		out_dword_masked_ns(HWIO_WBM_R0_MISC_RING_ENABLE_ADDR(x), mask, val, HWIO_WBM_R0_MISC_RING_ENABLE_IN(x)); \
214 		HWIO_INTFREE();\
215 	} while (0)
216 
217 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW4_RELEASE_RING_ENABLE_BMSK 0x00000020
218 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW4_RELEASE_RING_ENABLE_SHFT        0x5
219 
220 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW3_RELEASE_RING_ENABLE_BMSK 0x00000010
221 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW3_RELEASE_RING_ENABLE_SHFT        0x4
222 
223 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW2_RELEASE_RING_ENABLE_BMSK 0x00000008
224 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW2_RELEASE_RING_ENABLE_SHFT        0x3
225 
226 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW1_RELEASE_RING_ENABLE_BMSK 0x00000004
227 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW1_RELEASE_RING_ENABLE_SHFT        0x2
228 
229 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW0_RELEASE_RING_ENABLE_BMSK 0x00000002
230 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2SW0_RELEASE_RING_ENABLE_SHFT        0x1
231 
232 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2FW_RELEASE_RING_ENABLE_BMSK 0x00000001
233 #define HWIO_WBM_R0_MISC_RING_ENABLE_WBM2FW_RELEASE_RING_ENABLE_SHFT        0x0
234 
235 //// Register WBM_R0_RELEASE_RING_STATUS ////
236 
237 #define HWIO_WBM_R0_RELEASE_RING_STATUS_ADDR(x)                      (x+0x00000014)
238 #define HWIO_WBM_R0_RELEASE_RING_STATUS_PHYS(x)                      (x+0x00000014)
239 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RMSK                         0x000000ff
240 #define HWIO_WBM_R0_RELEASE_RING_STATUS_SHFT                                  0
241 #define HWIO_WBM_R0_RELEASE_RING_STATUS_IN(x)                        \
242 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_RELEASE_RING_STATUS_RMSK)
243 #define HWIO_WBM_R0_RELEASE_RING_STATUS_INM(x, mask)                 \
244 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_STATUS_ADDR(x), mask)
245 #define HWIO_WBM_R0_RELEASE_RING_STATUS_OUT(x, val)                  \
246 	out_dword( HWIO_WBM_R0_RELEASE_RING_STATUS_ADDR(x), val)
247 #define HWIO_WBM_R0_RELEASE_RING_STATUS_OUTM(x, mask, val)           \
248 	do {\
249 		HWIO_INTLOCK(); \
250 		out_dword_masked_ns(HWIO_WBM_R0_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RELEASE_RING_STATUS_IN(x)); \
251 		HWIO_INTFREE();\
252 	} while (0)
253 
254 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA2_RELEASE_RING_NOT_IDLE_BMSK 0x00000080
255 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA2_RELEASE_RING_NOT_IDLE_SHFT        0x7
256 
257 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA1_RELEASE_RING_NOT_IDLE_BMSK 0x00000040
258 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA1_RELEASE_RING_NOT_IDLE_SHFT        0x6
259 
260 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA0_RELEASE_RING_NOT_IDLE_BMSK 0x00000020
261 #define HWIO_WBM_R0_RELEASE_RING_STATUS_RXDMA0_RELEASE_RING_NOT_IDLE_SHFT        0x5
262 
263 #define HWIO_WBM_R0_RELEASE_RING_STATUS_FW_RELEASE_RING_NOT_IDLE_BMSK 0x00000010
264 #define HWIO_WBM_R0_RELEASE_RING_STATUS_FW_RELEASE_RING_NOT_IDLE_SHFT        0x4
265 
266 #define HWIO_WBM_R0_RELEASE_RING_STATUS_SW_RELEASE_RING_NOT_IDLE_BMSK 0x00000008
267 #define HWIO_WBM_R0_RELEASE_RING_STATUS_SW_RELEASE_RING_NOT_IDLE_SHFT        0x3
268 
269 #define HWIO_WBM_R0_RELEASE_RING_STATUS_REO_RELEASE_RING_NOT_IDLE_BMSK 0x00000004
270 #define HWIO_WBM_R0_RELEASE_RING_STATUS_REO_RELEASE_RING_NOT_IDLE_SHFT        0x2
271 
272 #define HWIO_WBM_R0_RELEASE_RING_STATUS_TQM_RELEASE_RING_NOT_IDLE_BMSK 0x00000002
273 #define HWIO_WBM_R0_RELEASE_RING_STATUS_TQM_RELEASE_RING_NOT_IDLE_SHFT        0x1
274 
275 #define HWIO_WBM_R0_RELEASE_RING_STATUS_PPE_RELEASE_RING_NOT_IDLE_BMSK 0x00000001
276 #define HWIO_WBM_R0_RELEASE_RING_STATUS_PPE_RELEASE_RING_NOT_IDLE_SHFT        0x0
277 
278 //// Register WBM_R0_MSDU_BUFFER_RING_STATUS ////
279 
280 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_ADDR(x)                  (x+0x00000018)
281 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_PHYS(x)                  (x+0x00000018)
282 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_RMSK                     0x0000003f
283 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_SHFT                              0
284 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_IN(x)                    \
285 	in_dword_masked ( HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_ADDR(x), HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_RMSK)
286 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_INM(x, mask)             \
287 	in_dword_masked ( HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_ADDR(x), mask)
288 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_OUT(x, val)              \
289 	out_dword( HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_ADDR(x), val)
290 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_OUTM(x, mask, val)       \
291 	do {\
292 		HWIO_INTLOCK(); \
293 		out_dword_masked_ns(HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_IN(x)); \
294 		HWIO_INTFREE();\
295 	} while (0)
296 
297 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA2_BUF_RING_NOT_IDLE_BMSK 0x00000020
298 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA2_BUF_RING_NOT_IDLE_SHFT        0x5
299 
300 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA1_BUF_RING_NOT_IDLE_BMSK 0x00000010
301 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA1_BUF_RING_NOT_IDLE_SHFT        0x4
302 
303 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA0_BUF_RING_NOT_IDLE_BMSK 0x00000008
304 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2RXDMA0_BUF_RING_NOT_IDLE_SHFT        0x3
305 
306 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2FW_BUF_RING_NOT_IDLE_BMSK 0x00000004
307 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2FW_BUF_RING_NOT_IDLE_SHFT        0x2
308 
309 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2SW_BUF_RING_NOT_IDLE_BMSK 0x00000002
310 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2SW_BUF_RING_NOT_IDLE_SHFT        0x1
311 
312 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2PPE_BUF_RING_NOT_IDLE_BMSK 0x00000001
313 #define HWIO_WBM_R0_MSDU_BUFFER_RING_STATUS_WBM2PPE_BUF_RING_NOT_IDLE_SHFT        0x0
314 
315 //// Register WBM_R0_LINK_DESC_RING_STATUS ////
316 
317 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_ADDR(x)                    (x+0x0000001c)
318 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_PHYS(x)                    (x+0x0000001c)
319 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_RMSK                       0x0000007f
320 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_SHFT                                0
321 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_IN(x)                      \
322 	in_dword_masked ( HWIO_WBM_R0_LINK_DESC_RING_STATUS_ADDR(x), HWIO_WBM_R0_LINK_DESC_RING_STATUS_RMSK)
323 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_INM(x, mask)               \
324 	in_dword_masked ( HWIO_WBM_R0_LINK_DESC_RING_STATUS_ADDR(x), mask)
325 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_OUT(x, val)                \
326 	out_dword( HWIO_WBM_R0_LINK_DESC_RING_STATUS_ADDR(x), val)
327 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_OUTM(x, mask, val)         \
328 	do {\
329 		HWIO_INTLOCK(); \
330 		out_dword_masked_ns(HWIO_WBM_R0_LINK_DESC_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_LINK_DESC_RING_STATUS_IN(x)); \
331 		HWIO_INTFREE();\
332 	} while (0)
333 
334 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA2_LINK_RING_NOT_IDLE_BMSK 0x00000040
335 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA2_LINK_RING_NOT_IDLE_SHFT        0x6
336 
337 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA1_LINK_RING_NOT_IDLE_BMSK 0x00000020
338 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA1_LINK_RING_NOT_IDLE_SHFT        0x5
339 
340 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA0_LINK_RING_NOT_IDLE_BMSK 0x00000010
341 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2RXDMA0_LINK_RING_NOT_IDLE_SHFT        0x4
342 
343 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2FW_LINK_RING_NOT_IDLE_BMSK 0x00000008
344 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2FW_LINK_RING_NOT_IDLE_SHFT        0x3
345 
346 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2SW_LINK_RING_NOT_IDLE_BMSK 0x00000004
347 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2SW_LINK_RING_NOT_IDLE_SHFT        0x2
348 
349 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2REO_LINK_RING_NOT_IDLE_BMSK 0x00000002
350 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2REO_LINK_RING_NOT_IDLE_SHFT        0x1
351 
352 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2TQM_LINK_RING_NOT_IDLE_BMSK 0x00000001
353 #define HWIO_WBM_R0_LINK_DESC_RING_STATUS_WBM2TQM_LINK_RING_NOT_IDLE_SHFT        0x0
354 
355 //// Register WBM_R0_MISC_RING_STATUS ////
356 
357 #define HWIO_WBM_R0_MISC_RING_STATUS_ADDR(x)                         (x+0x00000020)
358 #define HWIO_WBM_R0_MISC_RING_STATUS_PHYS(x)                         (x+0x00000020)
359 #define HWIO_WBM_R0_MISC_RING_STATUS_RMSK                            0x000003ff
360 #define HWIO_WBM_R0_MISC_RING_STATUS_SHFT                                     0
361 #define HWIO_WBM_R0_MISC_RING_STATUS_IN(x)                           \
362 	in_dword_masked ( HWIO_WBM_R0_MISC_RING_STATUS_ADDR(x), HWIO_WBM_R0_MISC_RING_STATUS_RMSK)
363 #define HWIO_WBM_R0_MISC_RING_STATUS_INM(x, mask)                    \
364 	in_dword_masked ( HWIO_WBM_R0_MISC_RING_STATUS_ADDR(x), mask)
365 #define HWIO_WBM_R0_MISC_RING_STATUS_OUT(x, val)                     \
366 	out_dword( HWIO_WBM_R0_MISC_RING_STATUS_ADDR(x), val)
367 #define HWIO_WBM_R0_MISC_RING_STATUS_OUTM(x, mask, val)              \
368 	do {\
369 		HWIO_INTLOCK(); \
370 		out_dword_masked_ns(HWIO_WBM_R0_MISC_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_MISC_RING_STATUS_IN(x)); \
371 		HWIO_INTFREE();\
372 	} while (0)
373 
374 #define HWIO_WBM_R0_MISC_RING_STATUS_SW4_BUFFER_RING_NOT_IDLE_BMSK   0x00000200
375 #define HWIO_WBM_R0_MISC_RING_STATUS_SW4_BUFFER_RING_NOT_IDLE_SHFT          0x9
376 
377 #define HWIO_WBM_R0_MISC_RING_STATUS_SW3_BUFFER_RING_NOT_IDLE_BMSK   0x00000100
378 #define HWIO_WBM_R0_MISC_RING_STATUS_SW3_BUFFER_RING_NOT_IDLE_SHFT          0x8
379 
380 #define HWIO_WBM_R0_MISC_RING_STATUS_SW2_BUFFER_RING_NOT_IDLE_BMSK   0x00000080
381 #define HWIO_WBM_R0_MISC_RING_STATUS_SW2_BUFFER_RING_NOT_IDLE_SHFT          0x7
382 
383 #define HWIO_WBM_R0_MISC_RING_STATUS_SW1_BUFFER_RING_NOT_IDLE_BMSK   0x00000040
384 #define HWIO_WBM_R0_MISC_RING_STATUS_SW1_BUFFER_RING_NOT_IDLE_SHFT          0x6
385 
386 #define HWIO_WBM_R0_MISC_RING_STATUS_SW0_BUFFER_RING_NOT_IDLE_BMSK   0x00000020
387 #define HWIO_WBM_R0_MISC_RING_STATUS_SW0_BUFFER_RING_NOT_IDLE_SHFT          0x5
388 
389 #define HWIO_WBM_R0_MISC_RING_STATUS_FW_BUFFER_RING_NOT_IDLE_BMSK    0x00000010
390 #define HWIO_WBM_R0_MISC_RING_STATUS_FW_BUFFER_RING_NOT_IDLE_SHFT           0x4
391 
392 #define HWIO_WBM_R0_MISC_RING_STATUS_LINK_IDLE_LIST_CONSUMER_NOT_IDLE_BMSK 0x00000008
393 #define HWIO_WBM_R0_MISC_RING_STATUS_LINK_IDLE_LIST_CONSUMER_NOT_IDLE_SHFT        0x3
394 
395 #define HWIO_WBM_R0_MISC_RING_STATUS_LINK_IDLE_LIST_PRODUCER_NOT_IDLE_BMSK 0x00000004
396 #define HWIO_WBM_R0_MISC_RING_STATUS_LINK_IDLE_LIST_PRODUCER_NOT_IDLE_SHFT        0x2
397 
398 #define HWIO_WBM_R0_MISC_RING_STATUS_BUFFER_IDLE_LIST_CONSUMER_NOT_IDLE_BMSK 0x00000002
399 #define HWIO_WBM_R0_MISC_RING_STATUS_BUFFER_IDLE_LIST_CONSUMER_NOT_IDLE_SHFT        0x1
400 
401 #define HWIO_WBM_R0_MISC_RING_STATUS_BUFFER_IDLE_LIST_PRODUCER_NOT_IDLE_BMSK 0x00000001
402 #define HWIO_WBM_R0_MISC_RING_STATUS_BUFFER_IDLE_LIST_PRODUCER_NOT_IDLE_SHFT        0x0
403 
404 //// Register WBM_R0_RELEASE_RING_FLUSH ////
405 
406 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_ADDR(x)                       (x+0x00000024)
407 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_PHYS(x)                       (x+0x00000024)
408 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_RMSK                          0x00013fff
409 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_SHFT                                   0
410 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_IN(x)                         \
411 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_FLUSH_ADDR(x), HWIO_WBM_R0_RELEASE_RING_FLUSH_RMSK)
412 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_INM(x, mask)                  \
413 	in_dword_masked ( HWIO_WBM_R0_RELEASE_RING_FLUSH_ADDR(x), mask)
414 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_OUT(x, val)                   \
415 	out_dword( HWIO_WBM_R0_RELEASE_RING_FLUSH_ADDR(x), val)
416 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_OUTM(x, mask, val)            \
417 	do {\
418 		HWIO_INTLOCK(); \
419 		out_dword_masked_ns(HWIO_WBM_R0_RELEASE_RING_FLUSH_ADDR(x), mask, val, HWIO_WBM_R0_RELEASE_RING_FLUSH_IN(x)); \
420 		HWIO_INTFREE();\
421 	} while (0)
422 
423 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_RELEASE_RING_AGE_IN_FLUSH_BMSK 0x00010000
424 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_RELEASE_RING_AGE_IN_FLUSH_SHFT       0x10
425 
426 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_SW_RELEASE_FIFO_FLUSH_BMSK    0x00002000
427 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_SW_RELEASE_FIFO_FLUSH_SHFT           0xd
428 
429 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_SW_RELEASE_RING_AGE_FLUSH_BMSK 0x00001000
430 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_SW_RELEASE_RING_AGE_FLUSH_SHFT        0xc
431 
432 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_RELEASE_RING_AGE_TIMEOUT_BMSK 0x00000fff
433 #define HWIO_WBM_R0_RELEASE_RING_FLUSH_RELEASE_RING_AGE_TIMEOUT_SHFT        0x0
434 
435 //// Register WBM_R0_IDLE_STATUS ////
436 
437 #define HWIO_WBM_R0_IDLE_STATUS_ADDR(x)                              (x+0x00000028)
438 #define HWIO_WBM_R0_IDLE_STATUS_PHYS(x)                              (x+0x00000028)
439 #define HWIO_WBM_R0_IDLE_STATUS_RMSK                                 0x0000ffff
440 #define HWIO_WBM_R0_IDLE_STATUS_SHFT                                          0
441 #define HWIO_WBM_R0_IDLE_STATUS_IN(x)                                \
442 	in_dword_masked ( HWIO_WBM_R0_IDLE_STATUS_ADDR(x), HWIO_WBM_R0_IDLE_STATUS_RMSK)
443 #define HWIO_WBM_R0_IDLE_STATUS_INM(x, mask)                         \
444 	in_dword_masked ( HWIO_WBM_R0_IDLE_STATUS_ADDR(x), mask)
445 #define HWIO_WBM_R0_IDLE_STATUS_OUT(x, val)                          \
446 	out_dword( HWIO_WBM_R0_IDLE_STATUS_ADDR(x), val)
447 #define HWIO_WBM_R0_IDLE_STATUS_OUTM(x, mask, val)                   \
448 	do {\
449 		HWIO_INTLOCK(); \
450 		out_dword_masked_ns(HWIO_WBM_R0_IDLE_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_IDLE_STATUS_IN(x)); \
451 		HWIO_INTFREE();\
452 	} while (0)
453 
454 #define HWIO_WBM_R0_IDLE_STATUS_ALL_IN_IDLE_BMSK                     0x00008000
455 #define HWIO_WBM_R0_IDLE_STATUS_ALL_IN_IDLE_SHFT                            0xf
456 
457 #define HWIO_WBM_R0_IDLE_STATUS_ALL_APPLICATION_LOGIC_IN_IDLE_BMSK   0x00004000
458 #define HWIO_WBM_R0_IDLE_STATUS_ALL_APPLICATION_LOGIC_IN_IDLE_SHFT          0xe
459 
460 #define HWIO_WBM_R0_IDLE_STATUS_ALL_CONSUMER_RINGS_IN_IDLE_BMSK      0x00002000
461 #define HWIO_WBM_R0_IDLE_STATUS_ALL_CONSUMER_RINGS_IN_IDLE_SHFT             0xd
462 
463 #define HWIO_WBM_R0_IDLE_STATUS_ALL_PRODUCER_RINGS_IN_IDLE_BMSK      0x00001000
464 #define HWIO_WBM_R0_IDLE_STATUS_ALL_PRODUCER_RINGS_IN_IDLE_SHFT             0xc
465 
466 #define HWIO_WBM_R0_IDLE_STATUS_SW4_BUFFER_PROD_FIFO_IN_IDLE_BMSK    0x00000800
467 #define HWIO_WBM_R0_IDLE_STATUS_SW4_BUFFER_PROD_FIFO_IN_IDLE_SHFT           0xb
468 
469 #define HWIO_WBM_R0_IDLE_STATUS_SW3_BUFFER_PROD_FIFO_IN_IDLE_BMSK    0x00000400
470 #define HWIO_WBM_R0_IDLE_STATUS_SW3_BUFFER_PROD_FIFO_IN_IDLE_SHFT           0xa
471 
472 #define HWIO_WBM_R0_IDLE_STATUS_SW2_BUFFER_PROD_FIFO_IN_IDLE_BMSK    0x00000200
473 #define HWIO_WBM_R0_IDLE_STATUS_SW2_BUFFER_PROD_FIFO_IN_IDLE_SHFT           0x9
474 
475 #define HWIO_WBM_R0_IDLE_STATUS_SW1_BUFFER_PROD_FIFO_IN_IDLE_BMSK    0x00000100
476 #define HWIO_WBM_R0_IDLE_STATUS_SW1_BUFFER_PROD_FIFO_IN_IDLE_SHFT           0x8
477 
478 #define HWIO_WBM_R0_IDLE_STATUS_SW0_BUFFER_PROD_FIFO_IN_IDLE_BMSK    0x00000080
479 #define HWIO_WBM_R0_IDLE_STATUS_SW0_BUFFER_PROD_FIFO_IN_IDLE_SHFT           0x7
480 
481 #define HWIO_WBM_R0_IDLE_STATUS_FW_BUFFER_PROD_FIFO_IN_IDLE_BMSK     0x00000040
482 #define HWIO_WBM_R0_IDLE_STATUS_FW_BUFFER_PROD_FIFO_IN_IDLE_SHFT            0x6
483 
484 #define HWIO_WBM_R0_IDLE_STATUS_LINK_DESC_ZERO_OUT_FIFO_IN_IDLE_BMSK 0x00000020
485 #define HWIO_WBM_R0_IDLE_STATUS_LINK_DESC_ZERO_OUT_FIFO_IN_IDLE_SHFT        0x5
486 
487 #define HWIO_WBM_R0_IDLE_STATUS_LINK_IDLE_LIST_DIST_FIFO_IN_IDLE_BMSK 0x00000010
488 #define HWIO_WBM_R0_IDLE_STATUS_LINK_IDLE_LIST_DIST_FIFO_IN_IDLE_SHFT        0x4
489 
490 #define HWIO_WBM_R0_IDLE_STATUS_LINK_IDLE_LIST_PROD_FIFO_IN_IDLE_BMSK 0x00000008
491 #define HWIO_WBM_R0_IDLE_STATUS_LINK_IDLE_LIST_PROD_FIFO_IN_IDLE_SHFT        0x3
492 
493 #define HWIO_WBM_R0_IDLE_STATUS_BUFFER_IDLE_LIST_DIST_FIFO_IN_IDLE_BMSK 0x00000004
494 #define HWIO_WBM_R0_IDLE_STATUS_BUFFER_IDLE_LIST_DIST_FIFO_IN_IDLE_SHFT        0x2
495 
496 #define HWIO_WBM_R0_IDLE_STATUS_BUFFER_IDLE_LIST_PROD_FIFO_IN_IDLE_BMSK 0x00000002
497 #define HWIO_WBM_R0_IDLE_STATUS_BUFFER_IDLE_LIST_PROD_FIFO_IN_IDLE_SHFT        0x1
498 
499 #define HWIO_WBM_R0_IDLE_STATUS_RELEASE_PARSER_FIFO_IN_IDLE_BMSK     0x00000001
500 #define HWIO_WBM_R0_IDLE_STATUS_RELEASE_PARSER_FIFO_IN_IDLE_SHFT            0x0
501 
502 //// Register WBM_R0_IDLE_SEQUENCE ////
503 
504 #define HWIO_WBM_R0_IDLE_SEQUENCE_ADDR(x)                            (x+0x0000002c)
505 #define HWIO_WBM_R0_IDLE_SEQUENCE_PHYS(x)                            (x+0x0000002c)
506 #define HWIO_WBM_R0_IDLE_SEQUENCE_RMSK                               0x0000003f
507 #define HWIO_WBM_R0_IDLE_SEQUENCE_SHFT                                        0
508 #define HWIO_WBM_R0_IDLE_SEQUENCE_IN(x)                              \
509 	in_dword_masked ( HWIO_WBM_R0_IDLE_SEQUENCE_ADDR(x), HWIO_WBM_R0_IDLE_SEQUENCE_RMSK)
510 #define HWIO_WBM_R0_IDLE_SEQUENCE_INM(x, mask)                       \
511 	in_dword_masked ( HWIO_WBM_R0_IDLE_SEQUENCE_ADDR(x), mask)
512 #define HWIO_WBM_R0_IDLE_SEQUENCE_OUT(x, val)                        \
513 	out_dword( HWIO_WBM_R0_IDLE_SEQUENCE_ADDR(x), val)
514 #define HWIO_WBM_R0_IDLE_SEQUENCE_OUTM(x, mask, val)                 \
515 	do {\
516 		HWIO_INTLOCK(); \
517 		out_dword_masked_ns(HWIO_WBM_R0_IDLE_SEQUENCE_ADDR(x), mask, val, HWIO_WBM_R0_IDLE_SEQUENCE_IN(x)); \
518 		HWIO_INTFREE();\
519 	} while (0)
520 
521 #define HWIO_WBM_R0_IDLE_SEQUENCE_WBM_RELEASE_RING_NOT_EMPTY_BMSK    0x00000020
522 #define HWIO_WBM_R0_IDLE_SEQUENCE_WBM_RELEASE_RING_NOT_EMPTY_SHFT           0x5
523 
524 #define HWIO_WBM_R0_IDLE_SEQUENCE_WBM_IN_IDLE_BMSK                   0x00000010
525 #define HWIO_WBM_R0_IDLE_SEQUENCE_WBM_IN_IDLE_SHFT                          0x4
526 
527 #define HWIO_WBM_R0_IDLE_SEQUENCE_IDLE_SEQUENCE_STATE_BMSK           0x0000000f
528 #define HWIO_WBM_R0_IDLE_SEQUENCE_IDLE_SEQUENCE_STATE_SHFT                  0x0
529 
530 //// Register WBM_R0_MSDU_PARSER_CONTROL ////
531 
532 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_ADDR(x)                      (x+0x00000030)
533 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_PHYS(x)                      (x+0x00000030)
534 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_RMSK                         0x00000007
535 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_SHFT                                  0
536 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_IN(x)                        \
537 	in_dword_masked ( HWIO_WBM_R0_MSDU_PARSER_CONTROL_ADDR(x), HWIO_WBM_R0_MSDU_PARSER_CONTROL_RMSK)
538 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_INM(x, mask)                 \
539 	in_dword_masked ( HWIO_WBM_R0_MSDU_PARSER_CONTROL_ADDR(x), mask)
540 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_OUT(x, val)                  \
541 	out_dword( HWIO_WBM_R0_MSDU_PARSER_CONTROL_ADDR(x), val)
542 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_OUTM(x, mask, val)           \
543 	do {\
544 		HWIO_INTLOCK(); \
545 		out_dword_masked_ns(HWIO_WBM_R0_MSDU_PARSER_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_MSDU_PARSER_CONTROL_IN(x)); \
546 		HWIO_INTFREE();\
547 	} while (0)
548 
549 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_DISABLE_CACHE_2_BMSK         0x00000004
550 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_DISABLE_CACHE_2_SHFT                0x2
551 
552 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_FLUSH_CACHE_2_BMSK           0x00000002
553 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_FLUSH_CACHE_2_SHFT                  0x1
554 
555 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_FLUSH_CACHE_1_BMSK           0x00000001
556 #define HWIO_WBM_R0_MSDU_PARSER_CONTROL_FLUSH_CACHE_1_SHFT                  0x0
557 
558 //// Register WBM_R0_MSDU_PARSER_STATUS ////
559 
560 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_ADDR(x)                       (x+0x00000034)
561 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_PHYS(x)                       (x+0x00000034)
562 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_RMSK                          0x00000fff
563 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_SHFT                                   0
564 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_IN(x)                         \
565 	in_dword_masked ( HWIO_WBM_R0_MSDU_PARSER_STATUS_ADDR(x), HWIO_WBM_R0_MSDU_PARSER_STATUS_RMSK)
566 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_INM(x, mask)                  \
567 	in_dword_masked ( HWIO_WBM_R0_MSDU_PARSER_STATUS_ADDR(x), mask)
568 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_OUT(x, val)                   \
569 	out_dword( HWIO_WBM_R0_MSDU_PARSER_STATUS_ADDR(x), val)
570 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_OUTM(x, mask, val)            \
571 	do {\
572 		HWIO_INTLOCK(); \
573 		out_dword_masked_ns(HWIO_WBM_R0_MSDU_PARSER_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_MSDU_PARSER_STATUS_IN(x)); \
574 		HWIO_INTFREE();\
575 	} while (0)
576 
577 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_FLUSH_CACHE_1_DONE_BMSK       0x00000800
578 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_FLUSH_CACHE_1_DONE_SHFT              0xb
579 
580 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_PARSER_CMD_FIFO_EMPTY_BMSK 0x00000400
581 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_PARSER_CMD_FIFO_EMPTY_SHFT        0xa
582 
583 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_DELINK_PARSER_STATE_BMSK 0x000003c0
584 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_DELINK_PARSER_STATE_SHFT        0x6
585 
586 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_PARSER_CMD_FIFO_IN_IDLE_BMSK 0x00000020
587 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_MSDU_PARSER_CMD_FIFO_IN_IDLE_SHFT        0x5
588 
589 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_CACHE_1_STATE_BMSK            0x0000001f
590 #define HWIO_WBM_R0_MSDU_PARSER_STATUS_CACHE_1_STATE_SHFT                   0x0
591 
592 //// Register WBM_R0_MISC_CONTROL ////
593 
594 #define HWIO_WBM_R0_MISC_CONTROL_ADDR(x)                             (x+0x00000038)
595 #define HWIO_WBM_R0_MISC_CONTROL_PHYS(x)                             (x+0x00000038)
596 #define HWIO_WBM_R0_MISC_CONTROL_RMSK                                0x0000ffff
597 #define HWIO_WBM_R0_MISC_CONTROL_SHFT                                         0
598 #define HWIO_WBM_R0_MISC_CONTROL_IN(x)                               \
599 	in_dword_masked ( HWIO_WBM_R0_MISC_CONTROL_ADDR(x), HWIO_WBM_R0_MISC_CONTROL_RMSK)
600 #define HWIO_WBM_R0_MISC_CONTROL_INM(x, mask)                        \
601 	in_dword_masked ( HWIO_WBM_R0_MISC_CONTROL_ADDR(x), mask)
602 #define HWIO_WBM_R0_MISC_CONTROL_OUT(x, val)                         \
603 	out_dword( HWIO_WBM_R0_MISC_CONTROL_ADDR(x), val)
604 #define HWIO_WBM_R0_MISC_CONTROL_OUTM(x, mask, val)                  \
605 	do {\
606 		HWIO_INTLOCK(); \
607 		out_dword_masked_ns(HWIO_WBM_R0_MISC_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_MISC_CONTROL_IN(x)); \
608 		HWIO_INTFREE();\
609 	} while (0)
610 
611 #define HWIO_WBM_R0_MISC_CONTROL_SPARE_CONTROL_BMSK                  0x0000fffc
612 #define HWIO_WBM_R0_MISC_CONTROL_SPARE_CONTROL_SHFT                         0x2
613 
614 #define HWIO_WBM_R0_MISC_CONTROL_GXI_WRITE_STRUCT_SWAP_BMSK          0x00000002
615 #define HWIO_WBM_R0_MISC_CONTROL_GXI_WRITE_STRUCT_SWAP_SHFT                 0x1
616 
617 #define HWIO_WBM_R0_MISC_CONTROL_GXI_READ_STRUCT_SWAP_BMSK           0x00000001
618 #define HWIO_WBM_R0_MISC_CONTROL_GXI_READ_STRUCT_SWAP_SHFT                  0x0
619 
620 //// Register WBM_R0_WATCHDOG_TIMEOUT ////
621 
622 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_ADDR(x)                         (x+0x0000003c)
623 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_PHYS(x)                         (x+0x0000003c)
624 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_RMSK                            0x00000fff
625 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_SHFT                                     0
626 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_IN(x)                           \
627 	in_dword_masked ( HWIO_WBM_R0_WATCHDOG_TIMEOUT_ADDR(x), HWIO_WBM_R0_WATCHDOG_TIMEOUT_RMSK)
628 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_INM(x, mask)                    \
629 	in_dword_masked ( HWIO_WBM_R0_WATCHDOG_TIMEOUT_ADDR(x), mask)
630 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_OUT(x, val)                     \
631 	out_dword( HWIO_WBM_R0_WATCHDOG_TIMEOUT_ADDR(x), val)
632 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_OUTM(x, mask, val)              \
633 	do {\
634 		HWIO_INTLOCK(); \
635 		out_dword_masked_ns(HWIO_WBM_R0_WATCHDOG_TIMEOUT_ADDR(x), mask, val, HWIO_WBM_R0_WATCHDOG_TIMEOUT_IN(x)); \
636 		HWIO_INTFREE();\
637 	} while (0)
638 
639 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_VALUE_BMSK                      0x00000fff
640 #define HWIO_WBM_R0_WATCHDOG_TIMEOUT_VALUE_SHFT                             0x0
641 
642 //// Register WBM_R0_INTERRUPT_DATA_CAPTURE ////
643 
644 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ADDR(x)                   (x+0x00000040)
645 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_PHYS(x)                   (x+0x00000040)
646 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_RMSK                      0xffffffff
647 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_SHFT                               0
648 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_IN(x)                     \
649 	in_dword_masked ( HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ADDR(x), HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_RMSK)
650 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_INM(x, mask)              \
651 	in_dword_masked ( HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ADDR(x), mask)
652 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_OUT(x, val)               \
653 	out_dword( HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ADDR(x), val)
654 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_OUTM(x, mask, val)        \
655 	do {\
656 		HWIO_INTLOCK(); \
657 		out_dword_masked_ns(HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ADDR(x), mask, val, HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_IN(x)); \
658 		HWIO_INTFREE();\
659 	} while (0)
660 
661 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_OCCURRENCE_BMSK     0x80000000
662 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_OCCURRENCE_SHFT           0x1f
663 
664 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_SOURCE_BMSK         0x40000000
665 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_SOURCE_SHFT               0x1e
666 
667 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_TYPE_BMSK           0x30000000
668 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_ERROR_TYPE_SHFT                 0x1c
669 
670 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_SW_BUFFER_COOKIE_BMSK     0x0fffff00
671 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_SW_BUFFER_COOKIE_SHFT            0x8
672 
673 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_BM_ACTION_BMSK            0x000000c0
674 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_BM_ACTION_SHFT                   0x6
675 
676 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_BUFFER_DESC_TYPE_BMSK     0x00000038
677 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_BUFFER_DESC_TYPE_SHFT            0x3
678 
679 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_RETURN_BUFFER_MANAGER_BMSK 0x00000007
680 #define HWIO_WBM_R0_INTERRUPT_DATA_CAPTURE_RETURN_BUFFER_MANAGER_SHFT        0x0
681 
682 //// Register WBM_R0_INVALID_APB_ACC_ADDR ////
683 
684 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ADDR(x)                     (x+0x00000044)
685 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_PHYS(x)                     (x+0x00000044)
686 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_RMSK                        0x0007ffff
687 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_SHFT                                 0
688 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_IN(x)                       \
689 	in_dword_masked ( HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ADDR(x), HWIO_WBM_R0_INVALID_APB_ACC_ADDR_RMSK)
690 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_INM(x, mask)                \
691 	in_dword_masked ( HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ADDR(x), mask)
692 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_OUT(x, val)                 \
693 	out_dword( HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ADDR(x), val)
694 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_OUTM(x, mask, val)          \
695 	do {\
696 		HWIO_INTLOCK(); \
697 		out_dword_masked_ns(HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ADDR(x), mask, val, HWIO_WBM_R0_INVALID_APB_ACC_ADDR_IN(x)); \
698 		HWIO_INTFREE();\
699 	} while (0)
700 
701 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ERR_TYPE_BMSK               0x00060000
702 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ERR_TYPE_SHFT                     0x11
703 
704 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ERR_ADDR_BMSK               0x0001ffff
705 #define HWIO_WBM_R0_INVALID_APB_ACC_ADDR_ERR_ADDR_SHFT                      0x0
706 
707 //// Register WBM_R0_IDLE_LIST_CONTROL ////
708 
709 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_ADDR(x)                        (x+0x00000048)
710 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_PHYS(x)                        (x+0x00000048)
711 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_RMSK                           0x000007ff
712 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_SHFT                                    0
713 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_IN(x)                          \
714 	in_dword_masked ( HWIO_WBM_R0_IDLE_LIST_CONTROL_ADDR(x), HWIO_WBM_R0_IDLE_LIST_CONTROL_RMSK)
715 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_INM(x, mask)                   \
716 	in_dword_masked ( HWIO_WBM_R0_IDLE_LIST_CONTROL_ADDR(x), mask)
717 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_OUT(x, val)                    \
718 	out_dword( HWIO_WBM_R0_IDLE_LIST_CONTROL_ADDR(x), val)
719 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_OUTM(x, mask, val)             \
720 	do {\
721 		HWIO_INTLOCK(); \
722 		out_dword_masked_ns(HWIO_WBM_R0_IDLE_LIST_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_IDLE_LIST_CONTROL_IN(x)); \
723 		HWIO_INTFREE();\
724 	} while (0)
725 
726 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_SCATTER_BUFFER_SIZE_BMSK       0x000007fc
727 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_SCATTER_BUFFER_SIZE_SHFT              0x2
728 
729 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_LINK_DESC_IDLE_LIST_MODE_BMSK  0x00000002
730 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_LINK_DESC_IDLE_LIST_MODE_SHFT         0x1
731 
732 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_BUFFER_IDLE_LIST_MODE_BMSK     0x00000001
733 #define HWIO_WBM_R0_IDLE_LIST_CONTROL_BUFFER_IDLE_LIST_MODE_SHFT            0x0
734 
735 //// Register WBM_R0_IDLE_LIST_SIZE ////
736 
737 #define HWIO_WBM_R0_IDLE_LIST_SIZE_ADDR(x)                           (x+0x0000004c)
738 #define HWIO_WBM_R0_IDLE_LIST_SIZE_PHYS(x)                           (x+0x0000004c)
739 #define HWIO_WBM_R0_IDLE_LIST_SIZE_RMSK                              0xffffffff
740 #define HWIO_WBM_R0_IDLE_LIST_SIZE_SHFT                                       0
741 #define HWIO_WBM_R0_IDLE_LIST_SIZE_IN(x)                             \
742 	in_dword_masked ( HWIO_WBM_R0_IDLE_LIST_SIZE_ADDR(x), HWIO_WBM_R0_IDLE_LIST_SIZE_RMSK)
743 #define HWIO_WBM_R0_IDLE_LIST_SIZE_INM(x, mask)                      \
744 	in_dword_masked ( HWIO_WBM_R0_IDLE_LIST_SIZE_ADDR(x), mask)
745 #define HWIO_WBM_R0_IDLE_LIST_SIZE_OUT(x, val)                       \
746 	out_dword( HWIO_WBM_R0_IDLE_LIST_SIZE_ADDR(x), val)
747 #define HWIO_WBM_R0_IDLE_LIST_SIZE_OUTM(x, mask, val)                \
748 	do {\
749 		HWIO_INTLOCK(); \
750 		out_dword_masked_ns(HWIO_WBM_R0_IDLE_LIST_SIZE_ADDR(x), mask, val, HWIO_WBM_R0_IDLE_LIST_SIZE_IN(x)); \
751 		HWIO_INTFREE();\
752 	} while (0)
753 
754 #define HWIO_WBM_R0_IDLE_LIST_SIZE_SCATTER_RING_SIZE_OF_IDLE_LINK_DESC_LIST_BMSK 0xffff0000
755 #define HWIO_WBM_R0_IDLE_LIST_SIZE_SCATTER_RING_SIZE_OF_IDLE_LINK_DESC_LIST_SHFT       0x10
756 
757 #define HWIO_WBM_R0_IDLE_LIST_SIZE_SCATTER_RING_SIZE_OF_IDLE_BUF_LIST_BMSK 0x0000ffff
758 #define HWIO_WBM_R0_IDLE_LIST_SIZE_SCATTER_RING_SIZE_OF_IDLE_BUF_LIST_SHFT        0x0
759 
760 //// Register WBM_R0_SCATTERED_BUF_LIST_BASE_LSB ////
761 
762 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_ADDR(x)              (x+0x00000050)
763 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_PHYS(x)              (x+0x00000050)
764 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_RMSK                 0xffffffff
765 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_SHFT                          0
766 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_IN(x)                \
767 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_RMSK)
768 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_INM(x, mask)         \
769 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_ADDR(x), mask)
770 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_OUT(x, val)          \
771 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_ADDR(x), val)
772 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_OUTM(x, mask, val)   \
773 	do {\
774 		HWIO_INTLOCK(); \
775 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_IN(x)); \
776 		HWIO_INTFREE();\
777 	} while (0)
778 
779 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_BASE_ADDRESS_31_0_BMSK 0xffffffff
780 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_LSB_BASE_ADDRESS_31_0_SHFT        0x0
781 
782 //// Register WBM_R0_SCATTERED_BUF_LIST_BASE_MSB ////
783 
784 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDR(x)              (x+0x00000054)
785 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_PHYS(x)              (x+0x00000054)
786 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_RMSK                 0xffffffff
787 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_SHFT                          0
788 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_IN(x)                \
789 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_RMSK)
790 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_INM(x, mask)         \
791 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDR(x), mask)
792 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_OUT(x, val)          \
793 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDR(x), val)
794 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_OUTM(x, mask, val)   \
795 	do {\
796 		HWIO_INTLOCK(); \
797 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_IN(x)); \
798 		HWIO_INTFREE();\
799 	} while (0)
800 
801 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDRESS_MATCH_TAG_BMSK 0xffffff00
802 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_ADDRESS_MATCH_TAG_SHFT        0x8
803 
804 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_BASE_ADDRESS_39_32_BMSK 0x000000ff
805 #define HWIO_WBM_R0_SCATTERED_BUF_LIST_BASE_MSB_BASE_ADDRESS_39_32_SHFT        0x0
806 
807 //// Register WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB ////
808 
809 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_ADDR(x)        (x+0x00000058)
810 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_PHYS(x)        (x+0x00000058)
811 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_RMSK           0xffffffff
812 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_SHFT                    0
813 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_IN(x)          \
814 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_RMSK)
815 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_INM(x, mask)   \
816 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_ADDR(x), mask)
817 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_OUT(x, val)    \
818 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_ADDR(x), val)
819 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_OUTM(x, mask, val) \
820 	do {\
821 		HWIO_INTLOCK(); \
822 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_IN(x)); \
823 		HWIO_INTFREE();\
824 	} while (0)
825 
826 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_BASE_ADDRESS_31_0_BMSK 0xffffffff
827 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_LSB_BASE_ADDRESS_31_0_SHFT        0x0
828 
829 //// Register WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB ////
830 
831 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDR(x)        (x+0x0000005c)
832 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_PHYS(x)        (x+0x0000005c)
833 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_RMSK           0xffffffff
834 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_SHFT                    0
835 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_IN(x)          \
836 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_RMSK)
837 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_INM(x, mask)   \
838 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDR(x), mask)
839 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_OUT(x, val)    \
840 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDR(x), val)
841 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_OUTM(x, mask, val) \
842 	do {\
843 		HWIO_INTLOCK(); \
844 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_IN(x)); \
845 		HWIO_INTFREE();\
846 	} while (0)
847 
848 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDRESS_MATCH_TAG_BMSK 0xffffff00
849 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_ADDRESS_MATCH_TAG_SHFT        0x8
850 
851 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_BASE_ADDRESS_39_32_BMSK 0x000000ff
852 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_LIST_BASE_MSB_BASE_ADDRESS_39_32_SHFT        0x0
853 
854 //// Register WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0 ////
855 
856 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_ADDR(x)          (x+0x00000060)
857 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_PHYS(x)          (x+0x00000060)
858 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_RMSK             0xffffffff
859 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_SHFT                      0
860 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_IN(x)            \
861 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_RMSK)
862 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_INM(x, mask)     \
863 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_ADDR(x), mask)
864 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_OUT(x, val)      \
865 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_ADDR(x), val)
866 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_OUTM(x, mask, val) \
867 	do {\
868 		HWIO_INTLOCK(); \
869 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_IN(x)); \
870 		HWIO_INTFREE();\
871 	} while (0)
872 
873 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_BUFFER_ADDRESS_31_0_BMSK 0xffffffff
874 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX0_BUFFER_ADDRESS_31_0_SHFT        0x0
875 
876 //// Register WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1 ////
877 
878 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_ADDR(x)          (x+0x00000064)
879 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_PHYS(x)          (x+0x00000064)
880 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_RMSK             0x001fffff
881 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_SHFT                      0
882 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_IN(x)            \
883 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_RMSK)
884 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_INM(x, mask)     \
885 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_ADDR(x), mask)
886 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_OUT(x, val)      \
887 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_ADDR(x), val)
888 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_OUTM(x, mask, val) \
889 	do {\
890 		HWIO_INTLOCK(); \
891 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_IN(x)); \
892 		HWIO_INTFREE();\
893 	} while (0)
894 
895 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_HEAD_POINTER_OFFSET_BMSK 0x001fff00
896 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_HEAD_POINTER_OFFSET_SHFT        0x8
897 
898 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_BUFFER_ADDRESS_39_32_BMSK 0x000000ff
899 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HEAD_INFO_IX1_BUFFER_ADDRESS_39_32_SHFT        0x0
900 
901 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0 ////
902 
903 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_ADDR(x)    (x+0x00000068)
904 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_PHYS(x)    (x+0x00000068)
905 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_RMSK       0xffffffff
906 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_SHFT                0
907 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_IN(x)      \
908 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_RMSK)
909 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_INM(x, mask) \
910 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_ADDR(x), mask)
911 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_OUT(x, val) \
912 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_ADDR(x), val)
913 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_OUTM(x, mask, val) \
914 	do {\
915 		HWIO_INTLOCK(); \
916 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_IN(x)); \
917 		HWIO_INTFREE();\
918 	} while (0)
919 
920 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_BUFFER_ADDRESS_31_0_BMSK 0xffffffff
921 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX0_BUFFER_ADDRESS_31_0_SHFT        0x0
922 
923 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1 ////
924 
925 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_ADDR(x)    (x+0x0000006c)
926 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_PHYS(x)    (x+0x0000006c)
927 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_RMSK       0x001fffff
928 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_SHFT                0
929 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_IN(x)      \
930 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_RMSK)
931 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_INM(x, mask) \
932 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_ADDR(x), mask)
933 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_OUT(x, val) \
934 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_ADDR(x), val)
935 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_OUTM(x, mask, val) \
936 	do {\
937 		HWIO_INTLOCK(); \
938 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_IN(x)); \
939 		HWIO_INTFREE();\
940 	} while (0)
941 
942 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_HEAD_POINTER_OFFSET_BMSK 0x001fff00
943 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_HEAD_POINTER_OFFSET_SHFT        0x8
944 
945 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_BUFFER_ADDRESS_39_32_BMSK 0x000000ff
946 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HEAD_INFO_IX1_BUFFER_ADDRESS_39_32_SHFT        0x0
947 
948 //// Register WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0 ////
949 
950 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_ADDR(x)          (x+0x00000070)
951 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_PHYS(x)          (x+0x00000070)
952 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_RMSK             0xffffffff
953 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_SHFT                      0
954 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_IN(x)            \
955 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_RMSK)
956 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_INM(x, mask)     \
957 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_ADDR(x), mask)
958 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_OUT(x, val)      \
959 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_ADDR(x), val)
960 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_OUTM(x, mask, val) \
961 	do {\
962 		HWIO_INTLOCK(); \
963 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_IN(x)); \
964 		HWIO_INTFREE();\
965 	} while (0)
966 
967 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_BUFFER_ADDRESS_31_0_BMSK 0xffffffff
968 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX0_BUFFER_ADDRESS_31_0_SHFT        0x0
969 
970 //// Register WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1 ////
971 
972 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_ADDR(x)          (x+0x00000074)
973 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_PHYS(x)          (x+0x00000074)
974 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_RMSK             0x001fffff
975 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_SHFT                      0
976 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_IN(x)            \
977 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_RMSK)
978 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_INM(x, mask)     \
979 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_ADDR(x), mask)
980 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_OUT(x, val)      \
981 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_ADDR(x), val)
982 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_OUTM(x, mask, val) \
983 	do {\
984 		HWIO_INTLOCK(); \
985 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_IN(x)); \
986 		HWIO_INTFREE();\
987 	} while (0)
988 
989 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_TAIL_POINTER_OFFSET_BMSK 0x001fff00
990 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_TAIL_POINTER_OFFSET_SHFT        0x8
991 
992 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_BUFFER_ADDRESS_39_32_BMSK 0x000000ff
993 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TAIL_INFO_IX1_BUFFER_ADDRESS_39_32_SHFT        0x0
994 
995 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0 ////
996 
997 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_ADDR(x)    (x+0x00000078)
998 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_PHYS(x)    (x+0x00000078)
999 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_RMSK       0xffffffff
1000 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_SHFT                0
1001 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_IN(x)      \
1002 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_RMSK)
1003 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_INM(x, mask) \
1004 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_ADDR(x), mask)
1005 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_OUT(x, val) \
1006 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_ADDR(x), val)
1007 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_OUTM(x, mask, val) \
1008 	do {\
1009 		HWIO_INTLOCK(); \
1010 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_IN(x)); \
1011 		HWIO_INTFREE();\
1012 	} while (0)
1013 
1014 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_BUFFER_ADDRESS_31_0_BMSK 0xffffffff
1015 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX0_BUFFER_ADDRESS_31_0_SHFT        0x0
1016 
1017 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1 ////
1018 
1019 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_ADDR(x)    (x+0x0000007c)
1020 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_PHYS(x)    (x+0x0000007c)
1021 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_RMSK       0x001fffff
1022 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_SHFT                0
1023 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_IN(x)      \
1024 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_RMSK)
1025 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_INM(x, mask) \
1026 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_ADDR(x), mask)
1027 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_OUT(x, val) \
1028 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_ADDR(x), val)
1029 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_OUTM(x, mask, val) \
1030 	do {\
1031 		HWIO_INTLOCK(); \
1032 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_IN(x)); \
1033 		HWIO_INTFREE();\
1034 	} while (0)
1035 
1036 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_TAIL_POINTER_OFFSET_BMSK 0x001fff00
1037 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_TAIL_POINTER_OFFSET_SHFT        0x8
1038 
1039 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_BUFFER_ADDRESS_39_32_BMSK 0x000000ff
1040 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TAIL_INFO_IX1_BUFFER_ADDRESS_39_32_SHFT        0x0
1041 
1042 //// Register WBM_R0_SCATTERED_BUF_PTR_HP ////
1043 
1044 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_ADDR(x)                     (x+0x00000080)
1045 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_PHYS(x)                     (x+0x00000080)
1046 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_RMSK                        0x000fffff
1047 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_SHFT                                 0
1048 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_IN(x)                       \
1049 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_RMSK)
1050 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_INM(x, mask)                \
1051 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_ADDR(x), mask)
1052 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_OUT(x, val)                 \
1053 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_ADDR(x), val)
1054 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_OUTM(x, mask, val)          \
1055 	do {\
1056 		HWIO_INTLOCK(); \
1057 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_IN(x)); \
1058 		HWIO_INTFREE();\
1059 	} while (0)
1060 
1061 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_SCAT_HEAD_PTR_BMSK          0x000fffff
1062 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_HP_SCAT_HEAD_PTR_SHFT                 0x0
1063 
1064 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_HP ////
1065 
1066 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_ADDR(x)               (x+0x00000084)
1067 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_PHYS(x)               (x+0x00000084)
1068 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_RMSK                  0x000fffff
1069 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_SHFT                           0
1070 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_IN(x)                 \
1071 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_RMSK)
1072 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_INM(x, mask)          \
1073 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_ADDR(x), mask)
1074 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_OUT(x, val)           \
1075 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_ADDR(x), val)
1076 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_OUTM(x, mask, val)    \
1077 	do {\
1078 		HWIO_INTLOCK(); \
1079 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_IN(x)); \
1080 		HWIO_INTFREE();\
1081 	} while (0)
1082 
1083 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_SCAT_HEAD_PTR_BMSK    0x000fffff
1084 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_HP_SCAT_HEAD_PTR_SHFT           0x0
1085 
1086 //// Register WBM_R0_SCATTERED_BUF_PTR_TP ////
1087 
1088 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_ADDR(x)                     (x+0x00000088)
1089 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_PHYS(x)                     (x+0x00000088)
1090 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_RMSK                        0x000fffff
1091 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_SHFT                                 0
1092 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_IN(x)                       \
1093 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_ADDR(x), HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_RMSK)
1094 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_INM(x, mask)                \
1095 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_ADDR(x), mask)
1096 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_OUT(x, val)                 \
1097 	out_dword( HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_ADDR(x), val)
1098 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_OUTM(x, mask, val)          \
1099 	do {\
1100 		HWIO_INTLOCK(); \
1101 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_IN(x)); \
1102 		HWIO_INTFREE();\
1103 	} while (0)
1104 
1105 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_SCAT_TAIL_PTR_BMSK          0x000fffff
1106 #define HWIO_WBM_R0_SCATTERED_BUF_PTR_TP_SCAT_TAIL_PTR_SHFT                 0x0
1107 
1108 //// Register WBM_R0_SCATTERED_LINK_DESC_PTR_TP ////
1109 
1110 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_ADDR(x)               (x+0x0000008c)
1111 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_PHYS(x)               (x+0x0000008c)
1112 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_RMSK                  0x000fffff
1113 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_SHFT                           0
1114 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_IN(x)                 \
1115 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_ADDR(x), HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_RMSK)
1116 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_INM(x, mask)          \
1117 	in_dword_masked ( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_ADDR(x), mask)
1118 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_OUT(x, val)           \
1119 	out_dword( HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_ADDR(x), val)
1120 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_OUTM(x, mask, val)    \
1121 	do {\
1122 		HWIO_INTLOCK(); \
1123 		out_dword_masked_ns(HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_ADDR(x), mask, val, HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_IN(x)); \
1124 		HWIO_INTFREE();\
1125 	} while (0)
1126 
1127 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_SCAT_TAIL_PTR_BMSK    0x000fffff
1128 #define HWIO_WBM_R0_SCATTERED_LINK_DESC_PTR_TP_SCAT_TAIL_PTR_SHFT           0x0
1129 
1130 //// Register WBM_R0_CLK_GATE_CTRL ////
1131 
1132 #define HWIO_WBM_R0_CLK_GATE_CTRL_ADDR(x)                            (x+0x00000090)
1133 #define HWIO_WBM_R0_CLK_GATE_CTRL_PHYS(x)                            (x+0x00000090)
1134 #define HWIO_WBM_R0_CLK_GATE_CTRL_RMSK                               0x0003ffff
1135 #define HWIO_WBM_R0_CLK_GATE_CTRL_SHFT                                        0
1136 #define HWIO_WBM_R0_CLK_GATE_CTRL_IN(x)                              \
1137 	in_dword_masked ( HWIO_WBM_R0_CLK_GATE_CTRL_ADDR(x), HWIO_WBM_R0_CLK_GATE_CTRL_RMSK)
1138 #define HWIO_WBM_R0_CLK_GATE_CTRL_INM(x, mask)                       \
1139 	in_dword_masked ( HWIO_WBM_R0_CLK_GATE_CTRL_ADDR(x), mask)
1140 #define HWIO_WBM_R0_CLK_GATE_CTRL_OUT(x, val)                        \
1141 	out_dword( HWIO_WBM_R0_CLK_GATE_CTRL_ADDR(x), val)
1142 #define HWIO_WBM_R0_CLK_GATE_CTRL_OUTM(x, mask, val)                 \
1143 	do {\
1144 		HWIO_INTLOCK(); \
1145 		out_dword_masked_ns(HWIO_WBM_R0_CLK_GATE_CTRL_ADDR(x), mask, val, HWIO_WBM_R0_CLK_GATE_CTRL_IN(x)); \
1146 		HWIO_INTFREE();\
1147 	} while (0)
1148 
1149 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_ENS_EXTEND_BMSK                0x00020000
1150 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_ENS_EXTEND_SHFT                      0x11
1151 
1152 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_GATE_DISABLE_APB_BMSK          0x00010000
1153 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_GATE_DISABLE_APB_SHFT                0x10
1154 
1155 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_GATE_DISABLE_BMSK              0x0000ffff
1156 #define HWIO_WBM_R0_CLK_GATE_CTRL_CLK_GATE_DISABLE_SHFT                     0x0
1157 
1158 //// Register WBM_R0_GXI_TESTBUS_LOWER ////
1159 
1160 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_ADDR(x)                        (x+0x00000094)
1161 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_PHYS(x)                        (x+0x00000094)
1162 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_RMSK                           0xffffffff
1163 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_SHFT                                    0
1164 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_IN(x)                          \
1165 	in_dword_masked ( HWIO_WBM_R0_GXI_TESTBUS_LOWER_ADDR(x), HWIO_WBM_R0_GXI_TESTBUS_LOWER_RMSK)
1166 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_INM(x, mask)                   \
1167 	in_dword_masked ( HWIO_WBM_R0_GXI_TESTBUS_LOWER_ADDR(x), mask)
1168 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_OUT(x, val)                    \
1169 	out_dword( HWIO_WBM_R0_GXI_TESTBUS_LOWER_ADDR(x), val)
1170 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_OUTM(x, mask, val)             \
1171 	do {\
1172 		HWIO_INTLOCK(); \
1173 		out_dword_masked_ns(HWIO_WBM_R0_GXI_TESTBUS_LOWER_ADDR(x), mask, val, HWIO_WBM_R0_GXI_TESTBUS_LOWER_IN(x)); \
1174 		HWIO_INTFREE();\
1175 	} while (0)
1176 
1177 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_VALUE_BMSK                     0xffffffff
1178 #define HWIO_WBM_R0_GXI_TESTBUS_LOWER_VALUE_SHFT                            0x0
1179 
1180 //// Register WBM_R0_GXI_TESTBUS_UPPER ////
1181 
1182 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_ADDR(x)                        (x+0x00000098)
1183 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_PHYS(x)                        (x+0x00000098)
1184 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_RMSK                           0x000000ff
1185 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_SHFT                                    0
1186 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_IN(x)                          \
1187 	in_dword_masked ( HWIO_WBM_R0_GXI_TESTBUS_UPPER_ADDR(x), HWIO_WBM_R0_GXI_TESTBUS_UPPER_RMSK)
1188 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_INM(x, mask)                   \
1189 	in_dword_masked ( HWIO_WBM_R0_GXI_TESTBUS_UPPER_ADDR(x), mask)
1190 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_OUT(x, val)                    \
1191 	out_dword( HWIO_WBM_R0_GXI_TESTBUS_UPPER_ADDR(x), val)
1192 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_OUTM(x, mask, val)             \
1193 	do {\
1194 		HWIO_INTLOCK(); \
1195 		out_dword_masked_ns(HWIO_WBM_R0_GXI_TESTBUS_UPPER_ADDR(x), mask, val, HWIO_WBM_R0_GXI_TESTBUS_UPPER_IN(x)); \
1196 		HWIO_INTFREE();\
1197 	} while (0)
1198 
1199 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_VALUE_BMSK                     0x000000ff
1200 #define HWIO_WBM_R0_GXI_TESTBUS_UPPER_VALUE_SHFT                            0x0
1201 
1202 //// Register WBM_R0_GXI_SM_STATES_IX_0 ////
1203 
1204 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_ADDR(x)                       (x+0x0000009c)
1205 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_PHYS(x)                       (x+0x0000009c)
1206 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_RMSK                          0x00000fff
1207 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SHFT                                   0
1208 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_IN(x)                         \
1209 	in_dword_masked ( HWIO_WBM_R0_GXI_SM_STATES_IX_0_ADDR(x), HWIO_WBM_R0_GXI_SM_STATES_IX_0_RMSK)
1210 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_INM(x, mask)                  \
1211 	in_dword_masked ( HWIO_WBM_R0_GXI_SM_STATES_IX_0_ADDR(x), mask)
1212 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_OUT(x, val)                   \
1213 	out_dword( HWIO_WBM_R0_GXI_SM_STATES_IX_0_ADDR(x), val)
1214 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_OUTM(x, mask, val)            \
1215 	do {\
1216 		HWIO_INTLOCK(); \
1217 		out_dword_masked_ns(HWIO_WBM_R0_GXI_SM_STATES_IX_0_ADDR(x), mask, val, HWIO_WBM_R0_GXI_SM_STATES_IX_0_IN(x)); \
1218 		HWIO_INTFREE();\
1219 	} while (0)
1220 
1221 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_RD_ADDR_BMSK         0x00000e00
1222 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_RD_ADDR_SHFT                0x9
1223 
1224 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_ADDR_BMSK         0x000001f0
1225 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_ADDR_SHFT                0x4
1226 
1227 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_DATA_BMSK         0x0000000f
1228 #define HWIO_WBM_R0_GXI_SM_STATES_IX_0_SM_STATE_WR_DATA_SHFT                0x0
1229 
1230 //// Register WBM_R0_GXI_END_OF_TEST_CHECK ////
1231 
1232 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_ADDR(x)                    (x+0x000000a0)
1233 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_PHYS(x)                    (x+0x000000a0)
1234 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_RMSK                       0x00000001
1235 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_SHFT                                0
1236 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_IN(x)                      \
1237 	in_dword_masked ( HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_ADDR(x), HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_RMSK)
1238 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_INM(x, mask)               \
1239 	in_dword_masked ( HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_ADDR(x), mask)
1240 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_OUT(x, val)                \
1241 	out_dword( HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_ADDR(x), val)
1242 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_OUTM(x, mask, val)         \
1243 	do {\
1244 		HWIO_INTLOCK(); \
1245 		out_dword_masked_ns(HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_ADDR(x), mask, val, HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_IN(x)); \
1246 		HWIO_INTFREE();\
1247 	} while (0)
1248 
1249 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_BMSK 0x00000001
1250 #define HWIO_WBM_R0_GXI_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_SHFT        0x0
1251 
1252 //// Register WBM_R0_GXI_CLOCK_GATE_DISABLE ////
1253 
1254 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x)                   (x+0x000000a4)
1255 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_PHYS(x)                   (x+0x000000a4)
1256 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RMSK                      0x80000fff
1257 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_SHFT                               0
1258 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_IN(x)                     \
1259 	in_dword_masked ( HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RMSK)
1260 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_INM(x, mask)              \
1261 	in_dword_masked ( HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), mask)
1262 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_OUT(x, val)               \
1263 	out_dword( HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), val)
1264 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_OUTM(x, mask, val)        \
1265 	do {\
1266 		HWIO_INTLOCK(); \
1267 		out_dword_masked_ns(HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_ADDR(x), mask, val, HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_IN(x)); \
1268 		HWIO_INTFREE();\
1269 	} while (0)
1270 
1271 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_CLOCK_GATE_EXTEND_BMSK    0x80000000
1272 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_CLOCK_GATE_EXTEND_SHFT          0x1f
1273 
1274 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_SPARE_BMSK                0x00000800
1275 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_SPARE_SHFT                       0xb
1276 
1277 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WDOG_CTR_BMSK             0x00000400
1278 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WDOG_CTR_SHFT                    0xa
1279 
1280 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_FIFO_BMSK              0x00000200
1281 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_FIFO_SHFT                     0x9
1282 
1283 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_FIFO_BMSK         0x00000100
1284 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_FIFO_SHFT                0x8
1285 
1286 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_FIFO_BMSK         0x00000080
1287 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_FIFO_SHFT                0x7
1288 
1289 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_AXI_MAS_BMSK           0x00000040
1290 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_AXI_MAS_SHFT                  0x6
1291 
1292 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_AXI_MAS_BMSK      0x00000020
1293 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_AXI_MAS_SHFT             0x5
1294 
1295 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_AXI_MAS_BMSK      0x00000010
1296 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_AXI_MAS_SHFT             0x4
1297 
1298 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_CMD_BMSK          0x00000008
1299 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_DATA_CMD_SHFT                 0x3
1300 
1301 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_CMD_BMSK          0x00000004
1302 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_WR_ADDR_CMD_SHFT                 0x2
1303 
1304 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_CMD_BMSK               0x00000002
1305 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_RD_CMD_SHFT                      0x1
1306 
1307 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_CORE_BMSK                 0x00000001
1308 #define HWIO_WBM_R0_GXI_CLOCK_GATE_DISABLE_CORE_SHFT                        0x0
1309 
1310 //// Register WBM_R0_GXI_GXI_ERR_INTS ////
1311 
1312 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_ADDR(x)                         (x+0x000000a8)
1313 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_PHYS(x)                         (x+0x000000a8)
1314 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_RMSK                            0x01010101
1315 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_SHFT                                     0
1316 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_IN(x)                           \
1317 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_ERR_INTS_ADDR(x), HWIO_WBM_R0_GXI_GXI_ERR_INTS_RMSK)
1318 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_INM(x, mask)                    \
1319 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_ERR_INTS_ADDR(x), mask)
1320 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_OUT(x, val)                     \
1321 	out_dword( HWIO_WBM_R0_GXI_GXI_ERR_INTS_ADDR(x), val)
1322 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_OUTM(x, mask, val)              \
1323 	do {\
1324 		HWIO_INTLOCK(); \
1325 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_ERR_INTS_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_ERR_INTS_IN(x)); \
1326 		HWIO_INTFREE();\
1327 	} while (0)
1328 
1329 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_WR_LAST_ERR_INT_BMSK        0x01000000
1330 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_WR_LAST_ERR_INT_SHFT              0x18
1331 
1332 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_AXI_WR_ERR_INT_BMSK         0x00010000
1333 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_AXI_WR_ERR_INT_SHFT               0x10
1334 
1335 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_AXI_RD_ERR_INT_BMSK         0x00000100
1336 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_AXI_RD_ERR_INT_SHFT                0x8
1337 
1338 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_WDTIMEOUT_INT_BMSK          0x00000001
1339 #define HWIO_WBM_R0_GXI_GXI_ERR_INTS_GXI_WDTIMEOUT_INT_SHFT                 0x0
1340 
1341 //// Register WBM_R0_GXI_GXI_ERR_STATS ////
1342 
1343 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_ADDR(x)                        (x+0x000000ac)
1344 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_PHYS(x)                        (x+0x000000ac)
1345 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_RMSK                           0x003f3f3f
1346 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_SHFT                                    0
1347 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_IN(x)                          \
1348 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_ERR_STATS_ADDR(x), HWIO_WBM_R0_GXI_GXI_ERR_STATS_RMSK)
1349 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_INM(x, mask)                   \
1350 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_ERR_STATS_ADDR(x), mask)
1351 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_OUT(x, val)                    \
1352 	out_dword( HWIO_WBM_R0_GXI_GXI_ERR_STATS_ADDR(x), val)
1353 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_OUTM(x, mask, val)             \
1354 	do {\
1355 		HWIO_INTLOCK(); \
1356 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_ERR_STATS_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_ERR_STATS_IN(x)); \
1357 		HWIO_INTFREE();\
1358 	} while (0)
1359 
1360 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_WR_LAST_ERR_PORT_BMSK      0x003f0000
1361 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_WR_LAST_ERR_PORT_SHFT            0x10
1362 
1363 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_WR_ERR_PORT_BMSK           0x00003f00
1364 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_WR_ERR_PORT_SHFT                  0x8
1365 
1366 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_RD_ERR_PORT_BMSK           0x0000003f
1367 #define HWIO_WBM_R0_GXI_GXI_ERR_STATS_AXI_RD_ERR_PORT_SHFT                  0x0
1368 
1369 //// Register WBM_R0_GXI_GXI_DEFAULT_CONTROL ////
1370 
1371 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x)                  (x+0x000000b0)
1372 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_PHYS(x)                  (x+0x000000b0)
1373 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_RMSK                     0xffff3f3f
1374 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_SHFT                              0
1375 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_IN(x)                    \
1376 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_RMSK)
1377 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_INM(x, mask)             \
1378 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), mask)
1379 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_OUT(x, val)              \
1380 	out_dword( HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), val)
1381 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_OUTM(x, mask, val)       \
1382 	do {\
1383 		HWIO_INTLOCK(); \
1384 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_IN(x)); \
1385 		HWIO_INTFREE();\
1386 	} while (0)
1387 
1388 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READ_DATA_BMSK 0xff000000
1389 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READ_DATA_SHFT       0x18
1390 
1391 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITE_DATA_BMSK 0x00ff0000
1392 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITE_DATA_SHFT       0x10
1393 
1394 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READS_BMSK 0x00003f00
1395 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_READS_SHFT        0x8
1396 
1397 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITES_BMSK 0x0000003f
1398 #define HWIO_WBM_R0_GXI_GXI_DEFAULT_CONTROL_GXI_DEFAULT_MAX_PENDING_WRITES_SHFT        0x0
1399 
1400 //// Register WBM_R0_GXI_GXI_REDUCED_CONTROL ////
1401 
1402 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x)                  (x+0x000000b4)
1403 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_PHYS(x)                  (x+0x000000b4)
1404 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_RMSK                     0xffff3f3f
1405 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_SHFT                              0
1406 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_IN(x)                    \
1407 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_RMSK)
1408 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_INM(x, mask)             \
1409 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), mask)
1410 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_OUT(x, val)              \
1411 	out_dword( HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), val)
1412 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_OUTM(x, mask, val)       \
1413 	do {\
1414 		HWIO_INTLOCK(); \
1415 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_IN(x)); \
1416 		HWIO_INTFREE();\
1417 	} while (0)
1418 
1419 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READ_DATA_BMSK 0xff000000
1420 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READ_DATA_SHFT       0x18
1421 
1422 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITE_DATA_BMSK 0x00ff0000
1423 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITE_DATA_SHFT       0x10
1424 
1425 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READS_BMSK 0x00003f00
1426 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_READS_SHFT        0x8
1427 
1428 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITES_BMSK 0x0000003f
1429 #define HWIO_WBM_R0_GXI_GXI_REDUCED_CONTROL_GXI_REDUCED_MAX_PENDING_WRITES_SHFT        0x0
1430 
1431 //// Register WBM_R0_GXI_GXI_MISC_CONTROL ////
1432 
1433 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_ADDR(x)                     (x+0x000000b8)
1434 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_PHYS(x)                     (x+0x000000b8)
1435 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_RMSK                        0x0fffffff
1436 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_SHFT                                 0
1437 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_IN(x)                       \
1438 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_ADDR(x), HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_RMSK)
1439 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_INM(x, mask)                \
1440 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_ADDR(x), mask)
1441 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_OUT(x, val)                 \
1442 	out_dword( HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_ADDR(x), val)
1443 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_OUTM(x, mask, val)          \
1444 	do {\
1445 		HWIO_INTLOCK(); \
1446 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_IN(x)); \
1447 		HWIO_INTFREE();\
1448 	} while (0)
1449 
1450 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_RD_FLUSH_BMSK   0x08000000
1451 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_RD_FLUSH_SHFT         0x1b
1452 
1453 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_WR_FLUSH_BMSK   0x04000000
1454 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DELAYED_WR_FLUSH_SHFT         0x1a
1455 
1456 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DISABLE_WR_PREFIL_BMSK  0x02000000
1457 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_DISABLE_WR_PREFIL_SHFT        0x19
1458 
1459 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_WR_BOUNDARY_SPLIT_BMSK 0x01000000
1460 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_WR_BOUNDARY_SPLIT_SHFT       0x18
1461 
1462 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_RD_BOUNDARY_SPLIT_BMSK 0x00800000
1463 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_MAX_RD_BOUNDARY_SPLIT_SHFT       0x17
1464 
1465 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_BURST_SIZE_BMSK   0x00700000
1466 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_BURST_SIZE_SHFT         0x14
1467 
1468 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_READ_BURST_SIZE_BMSK    0x000e0000
1469 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_READ_BURST_SIZE_SHFT          0x11
1470 
1471 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_READ_ISSUE_THRESHOLD_BMSK 0x0001fe00
1472 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_READ_ISSUE_THRESHOLD_SHFT        0x9
1473 
1474 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_PREFETCH_THRESHOLD_BMSK 0x000001fe
1475 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_WRITE_PREFETCH_THRESHOLD_SHFT        0x1
1476 
1477 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_CLEAR_STATS_BMSK        0x00000001
1478 #define HWIO_WBM_R0_GXI_GXI_MISC_CONTROL_GXI_CLEAR_STATS_SHFT               0x0
1479 
1480 //// Register WBM_R0_GXI_GXI_WDOG_CONTROL ////
1481 
1482 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_ADDR(x)                     (x+0x000000bc)
1483 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_PHYS(x)                     (x+0x000000bc)
1484 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_RMSK                        0xffff0001
1485 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_SHFT                                 0
1486 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_IN(x)                       \
1487 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_RMSK)
1488 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_INM(x, mask)                \
1489 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), mask)
1490 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_OUT(x, val)                 \
1491 	out_dword( HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), val)
1492 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_OUTM(x, mask, val)          \
1493 	do {\
1494 		HWIO_INTLOCK(); \
1495 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_IN(x)); \
1496 		HWIO_INTFREE();\
1497 	} while (0)
1498 
1499 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_LIMIT_BMSK         0xffff0000
1500 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_LIMIT_SHFT               0x10
1501 
1502 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_DISABLE_BMSK       0x00000001
1503 #define HWIO_WBM_R0_GXI_GXI_WDOG_CONTROL_GXI_WDOG_DISABLE_SHFT              0x0
1504 
1505 //// Register WBM_R0_GXI_GXI_WDOG_STATUS ////
1506 
1507 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_ADDR(x)                      (x+0x000000c0)
1508 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_PHYS(x)                      (x+0x000000c0)
1509 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_RMSK                         0x0000ffff
1510 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_SHFT                                  0
1511 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_IN(x)                        \
1512 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_ADDR(x), HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_RMSK)
1513 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_INM(x, mask)                 \
1514 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_ADDR(x), mask)
1515 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_OUT(x, val)                  \
1516 	out_dword( HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_ADDR(x), val)
1517 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_OUTM(x, mask, val)           \
1518 	do {\
1519 		HWIO_INTLOCK(); \
1520 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_IN(x)); \
1521 		HWIO_INTFREE();\
1522 	} while (0)
1523 
1524 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_GXI_WDOG_STATUS_BMSK         0x0000ffff
1525 #define HWIO_WBM_R0_GXI_GXI_WDOG_STATUS_GXI_WDOG_STATUS_SHFT                0x0
1526 
1527 //// Register WBM_R0_GXI_GXI_IDLE_COUNTERS ////
1528 
1529 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x)                    (x+0x000000c4)
1530 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_PHYS(x)                    (x+0x000000c4)
1531 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_RMSK                       0xffffffff
1532 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_SHFT                                0
1533 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_IN(x)                      \
1534 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_RMSK)
1535 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_INM(x, mask)               \
1536 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), mask)
1537 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_OUT(x, val)                \
1538 	out_dword( HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), val)
1539 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_OUTM(x, mask, val)         \
1540 	do {\
1541 		HWIO_INTLOCK(); \
1542 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_IN(x)); \
1543 		HWIO_INTFREE();\
1544 	} while (0)
1545 
1546 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_GXI_READ_IDLE_CNT_BMSK     0xffff0000
1547 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_GXI_READ_IDLE_CNT_SHFT           0x10
1548 
1549 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_GXI_WRITE_IDLE_CNT_BMSK    0x0000ffff
1550 #define HWIO_WBM_R0_GXI_GXI_IDLE_COUNTERS_GXI_WRITE_IDLE_CNT_SHFT           0x0
1551 
1552 //// Register WBM_R0_GXI_GXI_RD_LATENCY_CTRL ////
1553 
1554 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x)                  (x+0x000000c8)
1555 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_PHYS(x)                  (x+0x000000c8)
1556 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_RMSK                     0x000fffff
1557 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_SHFT                              0
1558 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_IN(x)                    \
1559 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_RMSK)
1560 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_INM(x, mask)             \
1561 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), mask)
1562 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_OUT(x, val)              \
1563 	out_dword( HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), val)
1564 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_OUTM(x, mask, val)       \
1565 	do {\
1566 		HWIO_INTLOCK(); \
1567 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_IN(x)); \
1568 		HWIO_INTFREE();\
1569 	} while (0)
1570 
1571 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_RANGE_BMSK   0x000e0000
1572 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_RANGE_SHFT         0x11
1573 
1574 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_EN_BMSK      0x00010000
1575 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_EN_SHFT            0x10
1576 
1577 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_MIN_BMSK     0x0000ffff
1578 #define HWIO_WBM_R0_GXI_GXI_RD_LATENCY_CTRL_AXI_LATENCY_MIN_SHFT            0x0
1579 
1580 //// Register WBM_R0_GXI_GXI_WR_LATENCY_CTRL ////
1581 
1582 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x)                  (x+0x000000cc)
1583 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_PHYS(x)                  (x+0x000000cc)
1584 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_RMSK                     0x000fffff
1585 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_SHFT                              0
1586 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_IN(x)                    \
1587 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_RMSK)
1588 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_INM(x, mask)             \
1589 	in_dword_masked ( HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), mask)
1590 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_OUT(x, val)              \
1591 	out_dword( HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), val)
1592 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_OUTM(x, mask, val)       \
1593 	do {\
1594 		HWIO_INTLOCK(); \
1595 		out_dword_masked_ns(HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_ADDR(x), mask, val, HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_IN(x)); \
1596 		HWIO_INTFREE();\
1597 	} while (0)
1598 
1599 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_RANGE_BMSK   0x000e0000
1600 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_RANGE_SHFT         0x11
1601 
1602 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_EN_BMSK      0x00010000
1603 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_EN_SHFT            0x10
1604 
1605 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_MIN_BMSK     0x0000ffff
1606 #define HWIO_WBM_R0_GXI_GXI_WR_LATENCY_CTRL_AXI_LATENCY_MIN_SHFT            0x0
1607 
1608 //// Register WBM_R0_PPE_RELEASE_RING_BASE_LSB ////
1609 
1610 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_ADDR(x)                (x+0x000000d0)
1611 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_PHYS(x)                (x+0x000000d0)
1612 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_RMSK                   0xffffffff
1613 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_SHFT                            0
1614 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_IN(x)                  \
1615 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_RMSK)
1616 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_INM(x, mask)           \
1617 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_ADDR(x), mask)
1618 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_OUT(x, val)            \
1619 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_ADDR(x), val)
1620 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)     \
1621 	do {\
1622 		HWIO_INTLOCK(); \
1623 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_IN(x)); \
1624 		HWIO_INTFREE();\
1625 	} while (0)
1626 
1627 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
1628 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
1629 
1630 //// Register WBM_R0_PPE_RELEASE_RING_BASE_MSB ////
1631 
1632 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_ADDR(x)                (x+0x000000d4)
1633 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_PHYS(x)                (x+0x000000d4)
1634 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RMSK                   0x00ffffff
1635 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_SHFT                            0
1636 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_IN(x)                  \
1637 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RMSK)
1638 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_INM(x, mask)           \
1639 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_ADDR(x), mask)
1640 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_OUT(x, val)            \
1641 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_ADDR(x), val)
1642 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)     \
1643 	do {\
1644 		HWIO_INTLOCK(); \
1645 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_IN(x)); \
1646 		HWIO_INTFREE();\
1647 	} while (0)
1648 
1649 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
1650 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT                0x8
1651 
1652 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
1653 #define HWIO_WBM_R0_PPE_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
1654 
1655 //// Register WBM_R0_PPE_RELEASE_RING_ID ////
1656 
1657 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_ADDR(x)                      (x+0x000000d8)
1658 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_PHYS(x)                      (x+0x000000d8)
1659 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_RMSK                         0x000000ff
1660 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_SHFT                                  0
1661 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_IN(x)                        \
1662 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_ID_RMSK)
1663 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_INM(x, mask)                 \
1664 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_ID_ADDR(x), mask)
1665 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_OUT(x, val)                  \
1666 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_ID_ADDR(x), val)
1667 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_OUTM(x, mask, val)           \
1668 	do {\
1669 		HWIO_INTLOCK(); \
1670 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_ID_IN(x)); \
1671 		HWIO_INTFREE();\
1672 	} while (0)
1673 
1674 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
1675 #define HWIO_WBM_R0_PPE_RELEASE_RING_ID_ENTRY_SIZE_SHFT                     0x0
1676 
1677 //// Register WBM_R0_PPE_RELEASE_RING_STATUS ////
1678 
1679 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_ADDR(x)                  (x+0x000000dc)
1680 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_PHYS(x)                  (x+0x000000dc)
1681 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_RMSK                     0xffffffff
1682 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_SHFT                              0
1683 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_IN(x)                    \
1684 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_RMSK)
1685 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_INM(x, mask)             \
1686 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_ADDR(x), mask)
1687 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_OUT(x, val)              \
1688 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_ADDR(x), val)
1689 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_OUTM(x, mask, val)       \
1690 	do {\
1691 		HWIO_INTLOCK(); \
1692 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_IN(x)); \
1693 		HWIO_INTFREE();\
1694 	} while (0)
1695 
1696 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
1697 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
1698 
1699 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
1700 #define HWIO_WBM_R0_PPE_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
1701 
1702 //// Register WBM_R0_PPE_RELEASE_RING_MISC ////
1703 
1704 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_ADDR(x)                    (x+0x000000e0)
1705 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_PHYS(x)                    (x+0x000000e0)
1706 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_RMSK                       0x003fffff
1707 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SHFT                                0
1708 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_IN(x)                      \
1709 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_MISC_RMSK)
1710 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_INM(x, mask)               \
1711 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_MISC_ADDR(x), mask)
1712 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_OUT(x, val)                \
1713 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_MISC_ADDR(x), val)
1714 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_OUTM(x, mask, val)         \
1715 	do {\
1716 		HWIO_INTLOCK(); \
1717 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_MISC_IN(x)); \
1718 		HWIO_INTFREE();\
1719 	} while (0)
1720 
1721 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
1722 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SPARE_CONTROL_SHFT                0xe
1723 
1724 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
1725 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
1726 
1727 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
1728 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
1729 
1730 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
1731 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
1732 
1733 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
1734 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SRNG_ENABLE_SHFT                  0x6
1735 
1736 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
1737 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
1738 
1739 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
1740 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
1741 
1742 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
1743 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
1744 
1745 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SECURITY_BIT_BMSK          0x00000004
1746 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_SECURITY_BIT_SHFT                 0x2
1747 
1748 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
1749 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
1750 
1751 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
1752 #define HWIO_WBM_R0_PPE_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT              0x0
1753 
1754 //// Register WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB ////
1755 
1756 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_ADDR(x)             (x+0x000000ec)
1757 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_PHYS(x)             (x+0x000000ec)
1758 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_RMSK                0xffffffff
1759 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_SHFT                         0
1760 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_IN(x)               \
1761 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_RMSK)
1762 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)        \
1763 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
1764 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)         \
1765 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
1766 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val)  \
1767 	do {\
1768 		HWIO_INTLOCK(); \
1769 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
1770 		HWIO_INTFREE();\
1771 	} while (0)
1772 
1773 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
1774 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
1775 
1776 //// Register WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB ////
1777 
1778 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_ADDR(x)             (x+0x000000f0)
1779 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_PHYS(x)             (x+0x000000f0)
1780 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_RMSK                0x000000ff
1781 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_SHFT                         0
1782 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_IN(x)               \
1783 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_RMSK)
1784 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)        \
1785 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
1786 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)         \
1787 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
1788 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val)  \
1789 	do {\
1790 		HWIO_INTLOCK(); \
1791 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
1792 		HWIO_INTFREE();\
1793 	} while (0)
1794 
1795 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
1796 #define HWIO_WBM_R0_PPE_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
1797 
1798 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
1799 
1800 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)  (x+0x00000100)
1801 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)  (x+0x00000100)
1802 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK     0xffffffff
1803 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT              0
1804 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)    \
1805 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
1806 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
1807 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
1808 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
1809 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
1810 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
1811 	do {\
1812 		HWIO_INTLOCK(); \
1813 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
1814 		HWIO_INTFREE();\
1815 	} while (0)
1816 
1817 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
1818 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
1819 
1820 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
1821 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
1822 
1823 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
1824 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
1825 
1826 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
1827 
1828 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)  (x+0x00000104)
1829 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)  (x+0x00000104)
1830 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK     0x0000ffff
1831 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT              0
1832 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)    \
1833 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
1834 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
1835 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
1836 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
1837 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
1838 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
1839 	do {\
1840 		HWIO_INTLOCK(); \
1841 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
1842 		HWIO_INTFREE();\
1843 	} while (0)
1844 
1845 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
1846 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
1847 
1848 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS ////
1849 
1850 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)     (x+0x00000108)
1851 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)     (x+0x00000108)
1852 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_RMSK        0xffffffff
1853 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_SHFT                 0
1854 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)       \
1855 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
1856 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
1857 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
1858 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val) \
1859 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
1860 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
1861 	do {\
1862 		HWIO_INTLOCK(); \
1863 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
1864 		HWIO_INTFREE();\
1865 	} while (0)
1866 
1867 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
1868 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
1869 
1870 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
1871 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
1872 
1873 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
1874 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
1875 
1876 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
1877 
1878 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)  (x+0x0000010c)
1879 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)  (x+0x0000010c)
1880 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK     0x000003ff
1881 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT              0
1882 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)    \
1883 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
1884 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
1885 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
1886 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
1887 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
1888 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
1889 	do {\
1890 		HWIO_INTLOCK(); \
1891 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
1892 		HWIO_INTFREE();\
1893 	} while (0)
1894 
1895 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
1896 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
1897 
1898 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
1899 
1900 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x00000110)
1901 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x00000110)
1902 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK    0x00000007
1903 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT             0
1904 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)   \
1905 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
1906 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
1907 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
1908 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
1909 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
1910 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
1911 	do {\
1912 		HWIO_INTLOCK(); \
1913 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
1914 		HWIO_INTFREE();\
1915 	} while (0)
1916 
1917 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
1918 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
1919 
1920 //// Register WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
1921 
1922 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x00000114)
1923 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x00000114)
1924 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK   0x00ffffff
1925 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT            0
1926 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)  \
1927 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
1928 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
1929 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
1930 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
1931 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
1932 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
1933 	do {\
1934 		HWIO_INTLOCK(); \
1935 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
1936 		HWIO_INTFREE();\
1937 	} while (0)
1938 
1939 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
1940 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
1941 
1942 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
1943 #define HWIO_WBM_R0_PPE_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
1944 
1945 //// Register WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET ////
1946 
1947 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x00000124)
1948 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x00000124)
1949 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
1950 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                     0
1951 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)           \
1952 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
1953 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
1954 	in_dword_masked ( HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
1955 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
1956 	out_dword( HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
1957 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
1958 	do {\
1959 		HWIO_INTLOCK(); \
1960 		out_dword_masked_ns(HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
1961 		HWIO_INTFREE();\
1962 	} while (0)
1963 
1964 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
1965 #define HWIO_WBM_R0_PPE_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
1966 
1967 //// Register WBM_R0_TQM_RELEASE_RING_BASE_LSB ////
1968 
1969 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_ADDR(x)                (x+0x00000128)
1970 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_PHYS(x)                (x+0x00000128)
1971 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_RMSK                   0xffffffff
1972 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_SHFT                            0
1973 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_IN(x)                  \
1974 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_RMSK)
1975 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_INM(x, mask)           \
1976 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_ADDR(x), mask)
1977 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_OUT(x, val)            \
1978 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_ADDR(x), val)
1979 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)     \
1980 	do {\
1981 		HWIO_INTLOCK(); \
1982 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_IN(x)); \
1983 		HWIO_INTFREE();\
1984 	} while (0)
1985 
1986 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
1987 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
1988 
1989 //// Register WBM_R0_TQM_RELEASE_RING_BASE_MSB ////
1990 
1991 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_ADDR(x)                (x+0x0000012c)
1992 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_PHYS(x)                (x+0x0000012c)
1993 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RMSK                   0x00ffffff
1994 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_SHFT                            0
1995 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_IN(x)                  \
1996 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RMSK)
1997 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_INM(x, mask)           \
1998 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_ADDR(x), mask)
1999 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_OUT(x, val)            \
2000 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_ADDR(x), val)
2001 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)     \
2002 	do {\
2003 		HWIO_INTLOCK(); \
2004 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_IN(x)); \
2005 		HWIO_INTFREE();\
2006 	} while (0)
2007 
2008 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
2009 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT                0x8
2010 
2011 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
2012 #define HWIO_WBM_R0_TQM_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
2013 
2014 //// Register WBM_R0_TQM_RELEASE_RING_ID ////
2015 
2016 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_ADDR(x)                      (x+0x00000130)
2017 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_PHYS(x)                      (x+0x00000130)
2018 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_RMSK                         0x000000ff
2019 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_SHFT                                  0
2020 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_IN(x)                        \
2021 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_ID_RMSK)
2022 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_INM(x, mask)                 \
2023 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_ID_ADDR(x), mask)
2024 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_OUT(x, val)                  \
2025 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_ID_ADDR(x), val)
2026 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_OUTM(x, mask, val)           \
2027 	do {\
2028 		HWIO_INTLOCK(); \
2029 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_ID_IN(x)); \
2030 		HWIO_INTFREE();\
2031 	} while (0)
2032 
2033 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
2034 #define HWIO_WBM_R0_TQM_RELEASE_RING_ID_ENTRY_SIZE_SHFT                     0x0
2035 
2036 //// Register WBM_R0_TQM_RELEASE_RING_STATUS ////
2037 
2038 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_ADDR(x)                  (x+0x00000134)
2039 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_PHYS(x)                  (x+0x00000134)
2040 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_RMSK                     0xffffffff
2041 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_SHFT                              0
2042 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_IN(x)                    \
2043 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_RMSK)
2044 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_INM(x, mask)             \
2045 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_ADDR(x), mask)
2046 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_OUT(x, val)              \
2047 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_ADDR(x), val)
2048 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_OUTM(x, mask, val)       \
2049 	do {\
2050 		HWIO_INTLOCK(); \
2051 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_IN(x)); \
2052 		HWIO_INTFREE();\
2053 	} while (0)
2054 
2055 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
2056 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
2057 
2058 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
2059 #define HWIO_WBM_R0_TQM_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
2060 
2061 //// Register WBM_R0_TQM_RELEASE_RING_MISC ////
2062 
2063 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_ADDR(x)                    (x+0x00000138)
2064 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_PHYS(x)                    (x+0x00000138)
2065 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_RMSK                       0x003fffff
2066 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SHFT                                0
2067 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_IN(x)                      \
2068 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_MISC_RMSK)
2069 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_INM(x, mask)               \
2070 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_MISC_ADDR(x), mask)
2071 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_OUT(x, val)                \
2072 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_MISC_ADDR(x), val)
2073 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_OUTM(x, mask, val)         \
2074 	do {\
2075 		HWIO_INTLOCK(); \
2076 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_MISC_IN(x)); \
2077 		HWIO_INTFREE();\
2078 	} while (0)
2079 
2080 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
2081 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SPARE_CONTROL_SHFT                0xe
2082 
2083 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
2084 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
2085 
2086 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
2087 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
2088 
2089 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
2090 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
2091 
2092 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
2093 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SRNG_ENABLE_SHFT                  0x6
2094 
2095 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
2096 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
2097 
2098 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
2099 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
2100 
2101 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
2102 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
2103 
2104 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SECURITY_BIT_BMSK          0x00000004
2105 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_SECURITY_BIT_SHFT                 0x2
2106 
2107 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
2108 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
2109 
2110 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
2111 #define HWIO_WBM_R0_TQM_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT              0x0
2112 
2113 //// Register WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB ////
2114 
2115 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_ADDR(x)             (x+0x00000144)
2116 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_PHYS(x)             (x+0x00000144)
2117 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_RMSK                0xffffffff
2118 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_SHFT                         0
2119 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_IN(x)               \
2120 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_RMSK)
2121 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)        \
2122 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
2123 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)         \
2124 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
2125 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val)  \
2126 	do {\
2127 		HWIO_INTLOCK(); \
2128 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
2129 		HWIO_INTFREE();\
2130 	} while (0)
2131 
2132 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2133 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2134 
2135 //// Register WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB ////
2136 
2137 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_ADDR(x)             (x+0x00000148)
2138 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_PHYS(x)             (x+0x00000148)
2139 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_RMSK                0x000000ff
2140 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_SHFT                         0
2141 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_IN(x)               \
2142 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_RMSK)
2143 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)        \
2144 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
2145 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)         \
2146 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
2147 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val)  \
2148 	do {\
2149 		HWIO_INTLOCK(); \
2150 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
2151 		HWIO_INTFREE();\
2152 	} while (0)
2153 
2154 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2155 #define HWIO_WBM_R0_TQM_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2156 
2157 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
2158 
2159 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)  (x+0x00000158)
2160 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)  (x+0x00000158)
2161 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK     0xffffffff
2162 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT              0
2163 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)    \
2164 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
2165 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
2166 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
2167 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
2168 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
2169 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
2170 	do {\
2171 		HWIO_INTLOCK(); \
2172 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
2173 		HWIO_INTFREE();\
2174 	} while (0)
2175 
2176 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
2177 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
2178 
2179 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
2180 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
2181 
2182 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
2183 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
2184 
2185 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
2186 
2187 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)  (x+0x0000015c)
2188 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)  (x+0x0000015c)
2189 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK     0x0000ffff
2190 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT              0
2191 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)    \
2192 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
2193 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
2194 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
2195 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
2196 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
2197 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
2198 	do {\
2199 		HWIO_INTLOCK(); \
2200 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
2201 		HWIO_INTFREE();\
2202 	} while (0)
2203 
2204 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
2205 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
2206 
2207 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS ////
2208 
2209 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)     (x+0x00000160)
2210 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)     (x+0x00000160)
2211 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_RMSK        0xffffffff
2212 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_SHFT                 0
2213 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)       \
2214 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
2215 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
2216 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
2217 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val) \
2218 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
2219 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
2220 	do {\
2221 		HWIO_INTLOCK(); \
2222 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
2223 		HWIO_INTFREE();\
2224 	} while (0)
2225 
2226 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
2227 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
2228 
2229 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
2230 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
2231 
2232 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
2233 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
2234 
2235 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
2236 
2237 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)  (x+0x00000164)
2238 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)  (x+0x00000164)
2239 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK     0x000003ff
2240 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT              0
2241 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)    \
2242 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
2243 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
2244 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
2245 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
2246 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
2247 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
2248 	do {\
2249 		HWIO_INTLOCK(); \
2250 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
2251 		HWIO_INTFREE();\
2252 	} while (0)
2253 
2254 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
2255 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
2256 
2257 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
2258 
2259 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x00000168)
2260 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x00000168)
2261 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK    0x00000007
2262 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT             0
2263 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)   \
2264 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
2265 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
2266 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
2267 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
2268 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
2269 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
2270 	do {\
2271 		HWIO_INTLOCK(); \
2272 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
2273 		HWIO_INTFREE();\
2274 	} while (0)
2275 
2276 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
2277 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
2278 
2279 //// Register WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
2280 
2281 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x0000016c)
2282 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x0000016c)
2283 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK   0x00ffffff
2284 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT            0
2285 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)  \
2286 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
2287 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
2288 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
2289 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
2290 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
2291 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
2292 	do {\
2293 		HWIO_INTLOCK(); \
2294 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
2295 		HWIO_INTFREE();\
2296 	} while (0)
2297 
2298 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
2299 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
2300 
2301 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
2302 #define HWIO_WBM_R0_TQM_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
2303 
2304 //// Register WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET ////
2305 
2306 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x0000017c)
2307 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x0000017c)
2308 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
2309 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                     0
2310 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)           \
2311 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
2312 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
2313 	in_dword_masked ( HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
2314 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
2315 	out_dword( HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
2316 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
2317 	do {\
2318 		HWIO_INTLOCK(); \
2319 		out_dword_masked_ns(HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
2320 		HWIO_INTFREE();\
2321 	} while (0)
2322 
2323 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
2324 #define HWIO_WBM_R0_TQM_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
2325 
2326 //// Register WBM_R0_REO_RELEASE_RING_BASE_LSB ////
2327 
2328 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_ADDR(x)                (x+0x00000180)
2329 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_PHYS(x)                (x+0x00000180)
2330 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_RMSK                   0xffffffff
2331 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_SHFT                            0
2332 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_IN(x)                  \
2333 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_RMSK)
2334 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_INM(x, mask)           \
2335 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_ADDR(x), mask)
2336 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_OUT(x, val)            \
2337 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_ADDR(x), val)
2338 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)     \
2339 	do {\
2340 		HWIO_INTLOCK(); \
2341 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_IN(x)); \
2342 		HWIO_INTFREE();\
2343 	} while (0)
2344 
2345 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
2346 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
2347 
2348 //// Register WBM_R0_REO_RELEASE_RING_BASE_MSB ////
2349 
2350 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_ADDR(x)                (x+0x00000184)
2351 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_PHYS(x)                (x+0x00000184)
2352 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RMSK                   0x00ffffff
2353 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_SHFT                            0
2354 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_IN(x)                  \
2355 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RMSK)
2356 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_INM(x, mask)           \
2357 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_ADDR(x), mask)
2358 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_OUT(x, val)            \
2359 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_ADDR(x), val)
2360 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)     \
2361 	do {\
2362 		HWIO_INTLOCK(); \
2363 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_IN(x)); \
2364 		HWIO_INTFREE();\
2365 	} while (0)
2366 
2367 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
2368 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT                0x8
2369 
2370 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
2371 #define HWIO_WBM_R0_REO_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
2372 
2373 //// Register WBM_R0_REO_RELEASE_RING_ID ////
2374 
2375 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_ADDR(x)                      (x+0x00000188)
2376 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_PHYS(x)                      (x+0x00000188)
2377 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_RMSK                         0x000000ff
2378 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_SHFT                                  0
2379 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_IN(x)                        \
2380 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_ID_RMSK)
2381 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_INM(x, mask)                 \
2382 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_ID_ADDR(x), mask)
2383 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_OUT(x, val)                  \
2384 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_ID_ADDR(x), val)
2385 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_OUTM(x, mask, val)           \
2386 	do {\
2387 		HWIO_INTLOCK(); \
2388 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_ID_IN(x)); \
2389 		HWIO_INTFREE();\
2390 	} while (0)
2391 
2392 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
2393 #define HWIO_WBM_R0_REO_RELEASE_RING_ID_ENTRY_SIZE_SHFT                     0x0
2394 
2395 //// Register WBM_R0_REO_RELEASE_RING_STATUS ////
2396 
2397 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_ADDR(x)                  (x+0x0000018c)
2398 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_PHYS(x)                  (x+0x0000018c)
2399 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_RMSK                     0xffffffff
2400 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_SHFT                              0
2401 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_IN(x)                    \
2402 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_STATUS_RMSK)
2403 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_INM(x, mask)             \
2404 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_STATUS_ADDR(x), mask)
2405 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_OUT(x, val)              \
2406 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_STATUS_ADDR(x), val)
2407 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_OUTM(x, mask, val)       \
2408 	do {\
2409 		HWIO_INTLOCK(); \
2410 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_STATUS_IN(x)); \
2411 		HWIO_INTFREE();\
2412 	} while (0)
2413 
2414 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
2415 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
2416 
2417 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
2418 #define HWIO_WBM_R0_REO_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
2419 
2420 //// Register WBM_R0_REO_RELEASE_RING_MISC ////
2421 
2422 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_ADDR(x)                    (x+0x00000190)
2423 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_PHYS(x)                    (x+0x00000190)
2424 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_RMSK                       0x003fffff
2425 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SHFT                                0
2426 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_IN(x)                      \
2427 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_MISC_RMSK)
2428 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_INM(x, mask)               \
2429 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_MISC_ADDR(x), mask)
2430 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_OUT(x, val)                \
2431 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_MISC_ADDR(x), val)
2432 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_OUTM(x, mask, val)         \
2433 	do {\
2434 		HWIO_INTLOCK(); \
2435 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_MISC_IN(x)); \
2436 		HWIO_INTFREE();\
2437 	} while (0)
2438 
2439 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
2440 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SPARE_CONTROL_SHFT                0xe
2441 
2442 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
2443 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
2444 
2445 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
2446 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
2447 
2448 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
2449 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
2450 
2451 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
2452 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SRNG_ENABLE_SHFT                  0x6
2453 
2454 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
2455 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
2456 
2457 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
2458 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
2459 
2460 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
2461 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
2462 
2463 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SECURITY_BIT_BMSK          0x00000004
2464 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_SECURITY_BIT_SHFT                 0x2
2465 
2466 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
2467 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
2468 
2469 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
2470 #define HWIO_WBM_R0_REO_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT              0x0
2471 
2472 //// Register WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB ////
2473 
2474 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_ADDR(x)             (x+0x0000019c)
2475 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_PHYS(x)             (x+0x0000019c)
2476 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_RMSK                0xffffffff
2477 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_SHFT                         0
2478 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_IN(x)               \
2479 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_RMSK)
2480 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)        \
2481 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
2482 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)         \
2483 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
2484 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val)  \
2485 	do {\
2486 		HWIO_INTLOCK(); \
2487 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
2488 		HWIO_INTFREE();\
2489 	} while (0)
2490 
2491 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2492 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2493 
2494 //// Register WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB ////
2495 
2496 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_ADDR(x)             (x+0x000001a0)
2497 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_PHYS(x)             (x+0x000001a0)
2498 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_RMSK                0x000000ff
2499 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_SHFT                         0
2500 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_IN(x)               \
2501 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_RMSK)
2502 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)        \
2503 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
2504 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)         \
2505 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
2506 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val)  \
2507 	do {\
2508 		HWIO_INTLOCK(); \
2509 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
2510 		HWIO_INTFREE();\
2511 	} while (0)
2512 
2513 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2514 #define HWIO_WBM_R0_REO_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2515 
2516 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
2517 
2518 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)  (x+0x000001b0)
2519 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)  (x+0x000001b0)
2520 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK     0xffffffff
2521 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT              0
2522 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)    \
2523 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
2524 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
2525 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
2526 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
2527 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
2528 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
2529 	do {\
2530 		HWIO_INTLOCK(); \
2531 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
2532 		HWIO_INTFREE();\
2533 	} while (0)
2534 
2535 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
2536 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
2537 
2538 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
2539 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
2540 
2541 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
2542 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
2543 
2544 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
2545 
2546 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)  (x+0x000001b4)
2547 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)  (x+0x000001b4)
2548 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK     0x0000ffff
2549 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT              0
2550 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)    \
2551 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
2552 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
2553 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
2554 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
2555 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
2556 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
2557 	do {\
2558 		HWIO_INTLOCK(); \
2559 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
2560 		HWIO_INTFREE();\
2561 	} while (0)
2562 
2563 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
2564 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
2565 
2566 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS ////
2567 
2568 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)     (x+0x000001b8)
2569 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)     (x+0x000001b8)
2570 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_RMSK        0xffffffff
2571 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_SHFT                 0
2572 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)       \
2573 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
2574 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
2575 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
2576 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val) \
2577 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
2578 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
2579 	do {\
2580 		HWIO_INTLOCK(); \
2581 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
2582 		HWIO_INTFREE();\
2583 	} while (0)
2584 
2585 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
2586 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
2587 
2588 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
2589 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
2590 
2591 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
2592 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
2593 
2594 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
2595 
2596 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)  (x+0x000001bc)
2597 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)  (x+0x000001bc)
2598 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK     0x000003ff
2599 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT              0
2600 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)    \
2601 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
2602 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
2603 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
2604 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
2605 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
2606 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
2607 	do {\
2608 		HWIO_INTLOCK(); \
2609 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
2610 		HWIO_INTFREE();\
2611 	} while (0)
2612 
2613 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
2614 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
2615 
2616 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
2617 
2618 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x000001c0)
2619 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x000001c0)
2620 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK    0x00000007
2621 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT             0
2622 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)   \
2623 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
2624 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
2625 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
2626 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
2627 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
2628 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
2629 	do {\
2630 		HWIO_INTLOCK(); \
2631 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
2632 		HWIO_INTFREE();\
2633 	} while (0)
2634 
2635 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
2636 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
2637 
2638 //// Register WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
2639 
2640 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x000001c4)
2641 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x000001c4)
2642 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK   0x00ffffff
2643 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT            0
2644 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)  \
2645 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
2646 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
2647 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
2648 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
2649 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
2650 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
2651 	do {\
2652 		HWIO_INTLOCK(); \
2653 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
2654 		HWIO_INTFREE();\
2655 	} while (0)
2656 
2657 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
2658 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
2659 
2660 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
2661 #define HWIO_WBM_R0_REO_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
2662 
2663 //// Register WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET ////
2664 
2665 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x000001d4)
2666 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x000001d4)
2667 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
2668 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                     0
2669 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)           \
2670 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
2671 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
2672 	in_dword_masked ( HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
2673 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
2674 	out_dword( HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
2675 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
2676 	do {\
2677 		HWIO_INTLOCK(); \
2678 		out_dword_masked_ns(HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
2679 		HWIO_INTFREE();\
2680 	} while (0)
2681 
2682 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
2683 #define HWIO_WBM_R0_REO_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
2684 
2685 //// Register WBM_R0_SW_RELEASE_RING_BASE_LSB ////
2686 
2687 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_ADDR(x)                 (x+0x000001d8)
2688 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_PHYS(x)                 (x+0x000001d8)
2689 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_RMSK                    0xffffffff
2690 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_SHFT                             0
2691 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_IN(x)                   \
2692 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_RMSK)
2693 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_INM(x, mask)            \
2694 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_ADDR(x), mask)
2695 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_OUT(x, val)             \
2696 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_ADDR(x), val)
2697 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)      \
2698 	do {\
2699 		HWIO_INTLOCK(); \
2700 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_IN(x)); \
2701 		HWIO_INTFREE();\
2702 	} while (0)
2703 
2704 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
2705 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
2706 
2707 //// Register WBM_R0_SW_RELEASE_RING_BASE_MSB ////
2708 
2709 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_ADDR(x)                 (x+0x000001dc)
2710 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_PHYS(x)                 (x+0x000001dc)
2711 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RMSK                    0x00ffffff
2712 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_SHFT                             0
2713 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_IN(x)                   \
2714 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RMSK)
2715 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_INM(x, mask)            \
2716 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_ADDR(x), mask)
2717 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_OUT(x, val)             \
2718 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_ADDR(x), val)
2719 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)      \
2720 	do {\
2721 		HWIO_INTLOCK(); \
2722 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_IN(x)); \
2723 		HWIO_INTFREE();\
2724 	} while (0)
2725 
2726 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK          0x00ffff00
2727 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT                 0x8
2728 
2729 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
2730 #define HWIO_WBM_R0_SW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
2731 
2732 //// Register WBM_R0_SW_RELEASE_RING_ID ////
2733 
2734 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_ADDR(x)                       (x+0x000001e0)
2735 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_PHYS(x)                       (x+0x000001e0)
2736 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_RMSK                          0x000000ff
2737 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_SHFT                                   0
2738 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_IN(x)                         \
2739 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_ID_RMSK)
2740 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_INM(x, mask)                  \
2741 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_ID_ADDR(x), mask)
2742 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_OUT(x, val)                   \
2743 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_ID_ADDR(x), val)
2744 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_OUTM(x, mask, val)            \
2745 	do {\
2746 		HWIO_INTLOCK(); \
2747 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_ID_IN(x)); \
2748 		HWIO_INTFREE();\
2749 	} while (0)
2750 
2751 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_ENTRY_SIZE_BMSK               0x000000ff
2752 #define HWIO_WBM_R0_SW_RELEASE_RING_ID_ENTRY_SIZE_SHFT                      0x0
2753 
2754 //// Register WBM_R0_SW_RELEASE_RING_STATUS ////
2755 
2756 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_ADDR(x)                   (x+0x000001e4)
2757 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_PHYS(x)                   (x+0x000001e4)
2758 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_RMSK                      0xffffffff
2759 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_SHFT                               0
2760 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_IN(x)                     \
2761 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_STATUS_RMSK)
2762 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_INM(x, mask)              \
2763 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_STATUS_ADDR(x), mask)
2764 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_OUT(x, val)               \
2765 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_STATUS_ADDR(x), val)
2766 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_OUTM(x, mask, val)        \
2767 	do {\
2768 		HWIO_INTLOCK(); \
2769 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_STATUS_IN(x)); \
2770 		HWIO_INTFREE();\
2771 	} while (0)
2772 
2773 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK      0xffff0000
2774 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT            0x10
2775 
2776 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK      0x0000ffff
2777 #define HWIO_WBM_R0_SW_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT             0x0
2778 
2779 //// Register WBM_R0_SW_RELEASE_RING_MISC ////
2780 
2781 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_ADDR(x)                     (x+0x000001e8)
2782 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_PHYS(x)                     (x+0x000001e8)
2783 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_RMSK                        0x003fffff
2784 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SHFT                                 0
2785 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_IN(x)                       \
2786 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_MISC_RMSK)
2787 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_INM(x, mask)                \
2788 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MISC_ADDR(x), mask)
2789 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_OUT(x, val)                 \
2790 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_MISC_ADDR(x), val)
2791 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_OUTM(x, mask, val)          \
2792 	do {\
2793 		HWIO_INTLOCK(); \
2794 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_MISC_IN(x)); \
2795 		HWIO_INTFREE();\
2796 	} while (0)
2797 
2798 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SPARE_CONTROL_BMSK          0x003fc000
2799 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SPARE_CONTROL_SHFT                 0xe
2800 
2801 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK         0x00003000
2802 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT                0xc
2803 
2804 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK         0x00000f00
2805 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT                0x8
2806 
2807 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK           0x00000080
2808 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT                  0x7
2809 
2810 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_ENABLE_BMSK            0x00000040
2811 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SRNG_ENABLE_SHFT                   0x6
2812 
2813 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK      0x00000020
2814 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT             0x5
2815 
2816 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK       0x00000010
2817 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT              0x4
2818 
2819 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK           0x00000008
2820 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT                  0x3
2821 
2822 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SECURITY_BIT_BMSK           0x00000004
2823 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_SECURITY_BIT_SHFT                  0x2
2824 
2825 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK        0x00000002
2826 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT               0x1
2827 
2828 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK        0x00000001
2829 #define HWIO_WBM_R0_SW_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT               0x0
2830 
2831 //// Register WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB ////
2832 
2833 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_ADDR(x)              (x+0x000001f4)
2834 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_PHYS(x)              (x+0x000001f4)
2835 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_RMSK                 0xffffffff
2836 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_SHFT                          0
2837 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_IN(x)                \
2838 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_RMSK)
2839 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)         \
2840 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
2841 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)          \
2842 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
2843 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val)   \
2844 	do {\
2845 		HWIO_INTLOCK(); \
2846 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
2847 		HWIO_INTFREE();\
2848 	} while (0)
2849 
2850 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
2851 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
2852 
2853 //// Register WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB ////
2854 
2855 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_ADDR(x)              (x+0x000001f8)
2856 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_PHYS(x)              (x+0x000001f8)
2857 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_RMSK                 0x000000ff
2858 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_SHFT                          0
2859 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_IN(x)                \
2860 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_RMSK)
2861 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)         \
2862 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
2863 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)          \
2864 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
2865 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val)   \
2866 	do {\
2867 		HWIO_INTLOCK(); \
2868 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
2869 		HWIO_INTFREE();\
2870 	} while (0)
2871 
2872 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
2873 #define HWIO_WBM_R0_SW_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
2874 
2875 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
2876 
2877 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)   (x+0x00000208)
2878 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)   (x+0x00000208)
2879 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK      0xffffffff
2880 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT               0
2881 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)     \
2882 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
2883 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
2884 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
2885 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
2886 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
2887 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
2888 	do {\
2889 		HWIO_INTLOCK(); \
2890 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
2891 		HWIO_INTFREE();\
2892 	} while (0)
2893 
2894 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
2895 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
2896 
2897 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
2898 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
2899 
2900 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
2901 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
2902 
2903 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
2904 
2905 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)   (x+0x0000020c)
2906 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)   (x+0x0000020c)
2907 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK      0x0000ffff
2908 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT               0
2909 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)     \
2910 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
2911 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
2912 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
2913 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
2914 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
2915 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
2916 	do {\
2917 		HWIO_INTLOCK(); \
2918 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
2919 		HWIO_INTFREE();\
2920 	} while (0)
2921 
2922 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
2923 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
2924 
2925 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS ////
2926 
2927 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)      (x+0x00000210)
2928 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)      (x+0x00000210)
2929 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_RMSK         0xffffffff
2930 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_SHFT                  0
2931 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)        \
2932 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
2933 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
2934 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
2935 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val)  \
2936 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
2937 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
2938 	do {\
2939 		HWIO_INTLOCK(); \
2940 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
2941 		HWIO_INTFREE();\
2942 	} while (0)
2943 
2944 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
2945 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
2946 
2947 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
2948 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
2949 
2950 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
2951 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
2952 
2953 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
2954 
2955 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)   (x+0x00000214)
2956 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)   (x+0x00000214)
2957 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK      0x000003ff
2958 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT               0
2959 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)     \
2960 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
2961 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
2962 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
2963 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
2964 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
2965 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
2966 	do {\
2967 		HWIO_INTLOCK(); \
2968 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
2969 		HWIO_INTFREE();\
2970 	} while (0)
2971 
2972 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
2973 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
2974 
2975 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
2976 
2977 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)  (x+0x00000218)
2978 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)  (x+0x00000218)
2979 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK     0x00000007
2980 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT              0
2981 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)    \
2982 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
2983 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
2984 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
2985 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
2986 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
2987 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
2988 	do {\
2989 		HWIO_INTLOCK(); \
2990 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
2991 		HWIO_INTFREE();\
2992 	} while (0)
2993 
2994 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
2995 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
2996 
2997 //// Register WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
2998 
2999 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x0000021c)
3000 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x0000021c)
3001 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK    0x00ffffff
3002 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT             0
3003 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)   \
3004 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
3005 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
3006 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
3007 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
3008 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
3009 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
3010 	do {\
3011 		HWIO_INTLOCK(); \
3012 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
3013 		HWIO_INTFREE();\
3014 	} while (0)
3015 
3016 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
3017 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
3018 
3019 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
3020 #define HWIO_WBM_R0_SW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
3021 
3022 //// Register WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB ////
3023 
3024 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)            (x+0x00000220)
3025 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)            (x+0x00000220)
3026 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_RMSK               0xffffffff
3027 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_SHFT                        0
3028 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_IN(x)              \
3029 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_RMSK)
3030 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)       \
3031 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
3032 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)        \
3033 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
3034 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
3035 	do {\
3036 		HWIO_INTLOCK(); \
3037 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
3038 		HWIO_INTFREE();\
3039 	} while (0)
3040 
3041 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK          0xffffffff
3042 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT                 0x0
3043 
3044 //// Register WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB ////
3045 
3046 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)            (x+0x00000224)
3047 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)            (x+0x00000224)
3048 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_RMSK               0x000001ff
3049 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_SHFT                        0
3050 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_IN(x)              \
3051 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_RMSK)
3052 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)       \
3053 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
3054 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)        \
3055 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
3056 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
3057 	do {\
3058 		HWIO_INTLOCK(); \
3059 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
3060 		HWIO_INTFREE();\
3061 	} while (0)
3062 
3063 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK   0x00000100
3064 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT          0x8
3065 
3066 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK          0x000000ff
3067 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT                 0x0
3068 
3069 //// Register WBM_R0_SW_RELEASE_RING_MSI1_DATA ////
3070 
3071 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_ADDR(x)                (x+0x00000228)
3072 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_PHYS(x)                (x+0x00000228)
3073 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_RMSK                   0xffffffff
3074 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_SHFT                            0
3075 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_IN(x)                  \
3076 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_RMSK)
3077 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_INM(x, mask)           \
3078 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
3079 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_OUT(x, val)            \
3080 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_ADDR(x), val)
3081 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val)     \
3082 	do {\
3083 		HWIO_INTLOCK(); \
3084 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_IN(x)); \
3085 		HWIO_INTFREE();\
3086 	} while (0)
3087 
3088 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_VALUE_BMSK             0xffffffff
3089 #define HWIO_WBM_R0_SW_RELEASE_RING_MSI1_DATA_VALUE_SHFT                    0x0
3090 
3091 //// Register WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET ////
3092 
3093 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)          (x+0x0000022c)
3094 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)          (x+0x0000022c)
3095 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK             0x0000ffff
3096 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                      0
3097 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)            \
3098 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
3099 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask)     \
3100 	in_dword_masked ( HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3101 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)      \
3102 	out_dword( HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3103 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
3104 	do {\
3105 		HWIO_INTLOCK(); \
3106 		out_dword_masked_ns(HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
3107 		HWIO_INTFREE();\
3108 	} while (0)
3109 
3110 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3111 #define HWIO_WBM_R0_SW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3112 
3113 //// Register WBM_R0_FW_RELEASE_RING_BASE_LSB ////
3114 
3115 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_ADDR(x)                 (x+0x00000230)
3116 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_PHYS(x)                 (x+0x00000230)
3117 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_RMSK                    0xffffffff
3118 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_SHFT                             0
3119 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_IN(x)                   \
3120 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_RMSK)
3121 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_INM(x, mask)            \
3122 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_ADDR(x), mask)
3123 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_OUT(x, val)             \
3124 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_ADDR(x), val)
3125 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)      \
3126 	do {\
3127 		HWIO_INTLOCK(); \
3128 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_IN(x)); \
3129 		HWIO_INTFREE();\
3130 	} while (0)
3131 
3132 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
3133 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
3134 
3135 //// Register WBM_R0_FW_RELEASE_RING_BASE_MSB ////
3136 
3137 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_ADDR(x)                 (x+0x00000234)
3138 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_PHYS(x)                 (x+0x00000234)
3139 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RMSK                    0x00ffffff
3140 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_SHFT                             0
3141 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_IN(x)                   \
3142 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RMSK)
3143 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_INM(x, mask)            \
3144 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_ADDR(x), mask)
3145 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_OUT(x, val)             \
3146 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_ADDR(x), val)
3147 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)      \
3148 	do {\
3149 		HWIO_INTLOCK(); \
3150 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_IN(x)); \
3151 		HWIO_INTFREE();\
3152 	} while (0)
3153 
3154 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK          0x00ffff00
3155 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT                 0x8
3156 
3157 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
3158 #define HWIO_WBM_R0_FW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
3159 
3160 //// Register WBM_R0_FW_RELEASE_RING_ID ////
3161 
3162 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_ADDR(x)                       (x+0x00000238)
3163 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_PHYS(x)                       (x+0x00000238)
3164 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_RMSK                          0x000000ff
3165 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_SHFT                                   0
3166 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_IN(x)                         \
3167 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_ID_RMSK)
3168 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_INM(x, mask)                  \
3169 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_ID_ADDR(x), mask)
3170 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_OUT(x, val)                   \
3171 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_ID_ADDR(x), val)
3172 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_OUTM(x, mask, val)            \
3173 	do {\
3174 		HWIO_INTLOCK(); \
3175 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_ID_IN(x)); \
3176 		HWIO_INTFREE();\
3177 	} while (0)
3178 
3179 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_ENTRY_SIZE_BMSK               0x000000ff
3180 #define HWIO_WBM_R0_FW_RELEASE_RING_ID_ENTRY_SIZE_SHFT                      0x0
3181 
3182 //// Register WBM_R0_FW_RELEASE_RING_STATUS ////
3183 
3184 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_ADDR(x)                   (x+0x0000023c)
3185 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_PHYS(x)                   (x+0x0000023c)
3186 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_RMSK                      0xffffffff
3187 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_SHFT                               0
3188 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_IN(x)                     \
3189 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_STATUS_RMSK)
3190 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_INM(x, mask)              \
3191 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_STATUS_ADDR(x), mask)
3192 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_OUT(x, val)               \
3193 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_STATUS_ADDR(x), val)
3194 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_OUTM(x, mask, val)        \
3195 	do {\
3196 		HWIO_INTLOCK(); \
3197 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_STATUS_IN(x)); \
3198 		HWIO_INTFREE();\
3199 	} while (0)
3200 
3201 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK      0xffff0000
3202 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT            0x10
3203 
3204 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK      0x0000ffff
3205 #define HWIO_WBM_R0_FW_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT             0x0
3206 
3207 //// Register WBM_R0_FW_RELEASE_RING_MISC ////
3208 
3209 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_ADDR(x)                     (x+0x00000240)
3210 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_PHYS(x)                     (x+0x00000240)
3211 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_RMSK                        0x003fffff
3212 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SHFT                                 0
3213 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_IN(x)                       \
3214 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_MISC_RMSK)
3215 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_INM(x, mask)                \
3216 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MISC_ADDR(x), mask)
3217 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_OUT(x, val)                 \
3218 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_MISC_ADDR(x), val)
3219 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_OUTM(x, mask, val)          \
3220 	do {\
3221 		HWIO_INTLOCK(); \
3222 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_MISC_IN(x)); \
3223 		HWIO_INTFREE();\
3224 	} while (0)
3225 
3226 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SPARE_CONTROL_BMSK          0x003fc000
3227 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SPARE_CONTROL_SHFT                 0xe
3228 
3229 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK         0x00003000
3230 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT                0xc
3231 
3232 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK         0x00000f00
3233 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT                0x8
3234 
3235 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK           0x00000080
3236 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT                  0x7
3237 
3238 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_ENABLE_BMSK            0x00000040
3239 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SRNG_ENABLE_SHFT                   0x6
3240 
3241 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK      0x00000020
3242 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT             0x5
3243 
3244 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK       0x00000010
3245 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT              0x4
3246 
3247 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK           0x00000008
3248 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT                  0x3
3249 
3250 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SECURITY_BIT_BMSK           0x00000004
3251 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_SECURITY_BIT_SHFT                  0x2
3252 
3253 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK        0x00000002
3254 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT               0x1
3255 
3256 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK        0x00000001
3257 #define HWIO_WBM_R0_FW_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT               0x0
3258 
3259 //// Register WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB ////
3260 
3261 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_ADDR(x)              (x+0x0000024c)
3262 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_PHYS(x)              (x+0x0000024c)
3263 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_RMSK                 0xffffffff
3264 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_SHFT                          0
3265 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_IN(x)                \
3266 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_RMSK)
3267 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)         \
3268 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
3269 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)          \
3270 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
3271 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val)   \
3272 	do {\
3273 		HWIO_INTLOCK(); \
3274 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
3275 		HWIO_INTFREE();\
3276 	} while (0)
3277 
3278 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
3279 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
3280 
3281 //// Register WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB ////
3282 
3283 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_ADDR(x)              (x+0x00000250)
3284 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_PHYS(x)              (x+0x00000250)
3285 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_RMSK                 0x000000ff
3286 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_SHFT                          0
3287 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_IN(x)                \
3288 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_RMSK)
3289 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)         \
3290 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
3291 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)          \
3292 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
3293 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val)   \
3294 	do {\
3295 		HWIO_INTLOCK(); \
3296 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
3297 		HWIO_INTFREE();\
3298 	} while (0)
3299 
3300 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
3301 #define HWIO_WBM_R0_FW_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
3302 
3303 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
3304 
3305 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x)   (x+0x00000260)
3306 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x)   (x+0x00000260)
3307 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK      0xffffffff
3308 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT               0
3309 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)     \
3310 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
3311 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
3312 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
3313 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
3314 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
3315 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
3316 	do {\
3317 		HWIO_INTLOCK(); \
3318 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
3319 		HWIO_INTFREE();\
3320 	} while (0)
3321 
3322 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
3323 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
3324 
3325 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
3326 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
3327 
3328 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
3329 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
3330 
3331 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
3332 
3333 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x)   (x+0x00000264)
3334 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x)   (x+0x00000264)
3335 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK      0x0000ffff
3336 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT               0
3337 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)     \
3338 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
3339 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
3340 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
3341 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
3342 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
3343 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
3344 	do {\
3345 		HWIO_INTLOCK(); \
3346 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
3347 		HWIO_INTFREE();\
3348 	} while (0)
3349 
3350 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
3351 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
3352 
3353 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS ////
3354 
3355 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)      (x+0x00000268)
3356 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)      (x+0x00000268)
3357 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_RMSK         0xffffffff
3358 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_SHFT                  0
3359 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)        \
3360 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
3361 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
3362 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
3363 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val)  \
3364 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
3365 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
3366 	do {\
3367 		HWIO_INTLOCK(); \
3368 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
3369 		HWIO_INTFREE();\
3370 	} while (0)
3371 
3372 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
3373 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
3374 
3375 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
3376 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
3377 
3378 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
3379 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
3380 
3381 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
3382 
3383 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x)   (x+0x0000026c)
3384 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x)   (x+0x0000026c)
3385 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK      0x000003ff
3386 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT               0
3387 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)     \
3388 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
3389 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
3390 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
3391 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
3392 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
3393 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
3394 	do {\
3395 		HWIO_INTLOCK(); \
3396 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
3397 		HWIO_INTFREE();\
3398 	} while (0)
3399 
3400 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
3401 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
3402 
3403 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
3404 
3405 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x)  (x+0x00000270)
3406 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x)  (x+0x00000270)
3407 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK     0x00000007
3408 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT              0
3409 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)    \
3410 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
3411 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
3412 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
3413 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
3414 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
3415 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
3416 	do {\
3417 		HWIO_INTLOCK(); \
3418 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
3419 		HWIO_INTFREE();\
3420 	} while (0)
3421 
3422 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
3423 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
3424 
3425 //// Register WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
3426 
3427 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x00000274)
3428 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x00000274)
3429 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK    0x00ffffff
3430 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT             0
3431 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)   \
3432 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
3433 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
3434 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
3435 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
3436 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
3437 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
3438 	do {\
3439 		HWIO_INTLOCK(); \
3440 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
3441 		HWIO_INTFREE();\
3442 	} while (0)
3443 
3444 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
3445 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
3446 
3447 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
3448 #define HWIO_WBM_R0_FW_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
3449 
3450 //// Register WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB ////
3451 
3452 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)            (x+0x00000278)
3453 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)            (x+0x00000278)
3454 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_RMSK               0xffffffff
3455 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_SHFT                        0
3456 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_IN(x)              \
3457 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_RMSK)
3458 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)       \
3459 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
3460 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)        \
3461 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
3462 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
3463 	do {\
3464 		HWIO_INTLOCK(); \
3465 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
3466 		HWIO_INTFREE();\
3467 	} while (0)
3468 
3469 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK          0xffffffff
3470 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT                 0x0
3471 
3472 //// Register WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB ////
3473 
3474 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)            (x+0x0000027c)
3475 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)            (x+0x0000027c)
3476 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_RMSK               0x000001ff
3477 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_SHFT                        0
3478 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_IN(x)              \
3479 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_RMSK)
3480 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)       \
3481 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
3482 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)        \
3483 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
3484 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
3485 	do {\
3486 		HWIO_INTLOCK(); \
3487 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
3488 		HWIO_INTFREE();\
3489 	} while (0)
3490 
3491 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK   0x00000100
3492 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT          0x8
3493 
3494 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK          0x000000ff
3495 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT                 0x0
3496 
3497 //// Register WBM_R0_FW_RELEASE_RING_MSI1_DATA ////
3498 
3499 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_ADDR(x)                (x+0x00000280)
3500 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_PHYS(x)                (x+0x00000280)
3501 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_RMSK                   0xffffffff
3502 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_SHFT                            0
3503 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_IN(x)                  \
3504 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_RMSK)
3505 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_INM(x, mask)           \
3506 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
3507 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_OUT(x, val)            \
3508 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_ADDR(x), val)
3509 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val)     \
3510 	do {\
3511 		HWIO_INTLOCK(); \
3512 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_IN(x)); \
3513 		HWIO_INTFREE();\
3514 	} while (0)
3515 
3516 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_VALUE_BMSK             0xffffffff
3517 #define HWIO_WBM_R0_FW_RELEASE_RING_MSI1_DATA_VALUE_SHFT                    0x0
3518 
3519 //// Register WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET ////
3520 
3521 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)          (x+0x00000284)
3522 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)          (x+0x00000284)
3523 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK             0x0000ffff
3524 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                      0
3525 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)            \
3526 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
3527 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask)     \
3528 	in_dword_masked ( HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3529 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)      \
3530 	out_dword( HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3531 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
3532 	do {\
3533 		HWIO_INTLOCK(); \
3534 		out_dword_masked_ns(HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
3535 		HWIO_INTFREE();\
3536 	} while (0)
3537 
3538 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3539 #define HWIO_WBM_R0_FW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3540 
3541 //// Register WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB ////
3542 
3543 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_ADDR(x)             (x+0x00000288)
3544 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_PHYS(x)             (x+0x00000288)
3545 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_RMSK                0xffffffff
3546 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_SHFT                         0
3547 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_IN(x)               \
3548 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_RMSK)
3549 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_INM(x, mask)        \
3550 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_ADDR(x), mask)
3551 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_OUT(x, val)         \
3552 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_ADDR(x), val)
3553 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)  \
3554 	do {\
3555 		HWIO_INTLOCK(); \
3556 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_IN(x)); \
3557 		HWIO_INTFREE();\
3558 	} while (0)
3559 
3560 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
3561 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
3562 
3563 //// Register WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB ////
3564 
3565 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_ADDR(x)             (x+0x0000028c)
3566 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_PHYS(x)             (x+0x0000028c)
3567 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RMSK                0x00ffffff
3568 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_SHFT                         0
3569 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_IN(x)               \
3570 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RMSK)
3571 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_INM(x, mask)        \
3572 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_ADDR(x), mask)
3573 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_OUT(x, val)         \
3574 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_ADDR(x), val)
3575 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)  \
3576 	do {\
3577 		HWIO_INTLOCK(); \
3578 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_IN(x)); \
3579 		HWIO_INTFREE();\
3580 	} while (0)
3581 
3582 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK      0x00ffff00
3583 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT             0x8
3584 
3585 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
3586 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
3587 
3588 //// Register WBM_R0_RXDMA0_RELEASE_RING_ID ////
3589 
3590 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ADDR(x)                   (x+0x00000290)
3591 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_PHYS(x)                   (x+0x00000290)
3592 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_RMSK                      0x000000ff
3593 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_SHFT                               0
3594 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_IN(x)                     \
3595 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_RMSK)
3596 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_INM(x, mask)              \
3597 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ADDR(x), mask)
3598 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_OUT(x, val)               \
3599 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ADDR(x), val)
3600 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_OUTM(x, mask, val)        \
3601 	do {\
3602 		HWIO_INTLOCK(); \
3603 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_IN(x)); \
3604 		HWIO_INTFREE();\
3605 	} while (0)
3606 
3607 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ENTRY_SIZE_BMSK           0x000000ff
3608 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_ID_ENTRY_SIZE_SHFT                  0x0
3609 
3610 //// Register WBM_R0_RXDMA0_RELEASE_RING_STATUS ////
3611 
3612 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_ADDR(x)               (x+0x00000294)
3613 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_PHYS(x)               (x+0x00000294)
3614 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_RMSK                  0xffffffff
3615 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_SHFT                           0
3616 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_IN(x)                 \
3617 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_RMSK)
3618 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_INM(x, mask)          \
3619 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_ADDR(x), mask)
3620 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_OUT(x, val)           \
3621 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_ADDR(x), val)
3622 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_OUTM(x, mask, val)    \
3623 	do {\
3624 		HWIO_INTLOCK(); \
3625 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_IN(x)); \
3626 		HWIO_INTFREE();\
3627 	} while (0)
3628 
3629 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK  0xffff0000
3630 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT        0x10
3631 
3632 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK  0x0000ffff
3633 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT         0x0
3634 
3635 //// Register WBM_R0_RXDMA0_RELEASE_RING_MISC ////
3636 
3637 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_ADDR(x)                 (x+0x00000298)
3638 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_PHYS(x)                 (x+0x00000298)
3639 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_RMSK                    0x003fffff
3640 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SHFT                             0
3641 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_IN(x)                   \
3642 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_RMSK)
3643 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_INM(x, mask)            \
3644 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_ADDR(x), mask)
3645 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_OUT(x, val)             \
3646 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_ADDR(x), val)
3647 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_OUTM(x, mask, val)      \
3648 	do {\
3649 		HWIO_INTLOCK(); \
3650 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_IN(x)); \
3651 		HWIO_INTFREE();\
3652 	} while (0)
3653 
3654 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SPARE_CONTROL_BMSK      0x003fc000
3655 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SPARE_CONTROL_SHFT             0xe
3656 
3657 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK     0x00003000
3658 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT            0xc
3659 
3660 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK     0x00000f00
3661 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT            0x8
3662 
3663 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK       0x00000080
3664 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT              0x7
3665 
3666 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_ENABLE_BMSK        0x00000040
3667 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SRNG_ENABLE_SHFT               0x6
3668 
3669 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK  0x00000020
3670 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT         0x5
3671 
3672 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK   0x00000010
3673 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT          0x4
3674 
3675 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK       0x00000008
3676 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT              0x3
3677 
3678 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SECURITY_BIT_BMSK       0x00000004
3679 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_SECURITY_BIT_SHFT              0x2
3680 
3681 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK    0x00000002
3682 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT           0x1
3683 
3684 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK    0x00000001
3685 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT           0x0
3686 
3687 //// Register WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB ////
3688 
3689 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_ADDR(x)          (x+0x000002a4)
3690 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_PHYS(x)          (x+0x000002a4)
3691 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_RMSK             0xffffffff
3692 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_SHFT                      0
3693 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_IN(x)            \
3694 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_RMSK)
3695 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)     \
3696 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
3697 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)      \
3698 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
3699 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val) \
3700 	do {\
3701 		HWIO_INTLOCK(); \
3702 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
3703 		HWIO_INTFREE();\
3704 	} while (0)
3705 
3706 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
3707 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
3708 
3709 //// Register WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB ////
3710 
3711 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_ADDR(x)          (x+0x000002a8)
3712 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_PHYS(x)          (x+0x000002a8)
3713 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_RMSK             0x000000ff
3714 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_SHFT                      0
3715 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_IN(x)            \
3716 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_RMSK)
3717 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)     \
3718 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
3719 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)      \
3720 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
3721 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val) \
3722 	do {\
3723 		HWIO_INTLOCK(); \
3724 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
3725 		HWIO_INTFREE();\
3726 	} while (0)
3727 
3728 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
3729 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
3730 
3731 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
3732 
3733 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x) (x+0x000002b8)
3734 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x) (x+0x000002b8)
3735 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK  0xffffffff
3736 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT           0
3737 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x) \
3738 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
3739 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
3740 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
3741 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
3742 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
3743 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
3744 	do {\
3745 		HWIO_INTLOCK(); \
3746 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
3747 		HWIO_INTFREE();\
3748 	} while (0)
3749 
3750 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
3751 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
3752 
3753 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
3754 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
3755 
3756 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
3757 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
3758 
3759 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
3760 
3761 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x) (x+0x000002bc)
3762 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x) (x+0x000002bc)
3763 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK  0x0000ffff
3764 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT           0
3765 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x) \
3766 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
3767 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
3768 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
3769 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
3770 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
3771 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
3772 	do {\
3773 		HWIO_INTLOCK(); \
3774 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
3775 		HWIO_INTFREE();\
3776 	} while (0)
3777 
3778 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
3779 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
3780 
3781 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS ////
3782 
3783 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)  (x+0x000002c0)
3784 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)  (x+0x000002c0)
3785 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_RMSK     0xffffffff
3786 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_SHFT              0
3787 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)    \
3788 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
3789 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
3790 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
3791 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val) \
3792 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
3793 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
3794 	do {\
3795 		HWIO_INTLOCK(); \
3796 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
3797 		HWIO_INTFREE();\
3798 	} while (0)
3799 
3800 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
3801 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
3802 
3803 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
3804 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
3805 
3806 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
3807 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
3808 
3809 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
3810 
3811 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x) (x+0x000002c4)
3812 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x) (x+0x000002c4)
3813 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK  0x000003ff
3814 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT           0
3815 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x) \
3816 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
3817 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
3818 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
3819 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
3820 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
3821 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
3822 	do {\
3823 		HWIO_INTLOCK(); \
3824 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
3825 		HWIO_INTFREE();\
3826 	} while (0)
3827 
3828 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
3829 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
3830 
3831 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
3832 
3833 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x000002c8)
3834 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x000002c8)
3835 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK 0x00000007
3836 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT          0
3837 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x) \
3838 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
3839 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
3840 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
3841 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
3842 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
3843 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
3844 	do {\
3845 		HWIO_INTLOCK(); \
3846 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
3847 		HWIO_INTFREE();\
3848 	} while (0)
3849 
3850 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
3851 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
3852 
3853 //// Register WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
3854 
3855 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x000002cc)
3856 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x000002cc)
3857 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK 0x00ffffff
3858 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT          0
3859 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x) \
3860 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
3861 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
3862 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
3863 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
3864 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
3865 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
3866 	do {\
3867 		HWIO_INTLOCK(); \
3868 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
3869 		HWIO_INTFREE();\
3870 	} while (0)
3871 
3872 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
3873 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
3874 
3875 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
3876 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
3877 
3878 //// Register WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET ////
3879 
3880 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)      (x+0x000002dc)
3881 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)      (x+0x000002dc)
3882 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_RMSK         0x0000ffff
3883 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                  0
3884 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)        \
3885 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
3886 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
3887 	in_dword_masked ( HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
3888 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)  \
3889 	out_dword( HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
3890 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
3891 	do {\
3892 		HWIO_INTLOCK(); \
3893 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
3894 		HWIO_INTFREE();\
3895 	} while (0)
3896 
3897 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
3898 #define HWIO_WBM_R0_RXDMA0_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
3899 
3900 //// Register WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB ////
3901 
3902 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_ADDR(x)             (x+0x000002e0)
3903 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_PHYS(x)             (x+0x000002e0)
3904 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_RMSK                0xffffffff
3905 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_SHFT                         0
3906 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_IN(x)               \
3907 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_RMSK)
3908 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_INM(x, mask)        \
3909 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_ADDR(x), mask)
3910 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_OUT(x, val)         \
3911 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_ADDR(x), val)
3912 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)  \
3913 	do {\
3914 		HWIO_INTLOCK(); \
3915 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_IN(x)); \
3916 		HWIO_INTFREE();\
3917 	} while (0)
3918 
3919 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
3920 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
3921 
3922 //// Register WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB ////
3923 
3924 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_ADDR(x)             (x+0x000002e4)
3925 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_PHYS(x)             (x+0x000002e4)
3926 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RMSK                0x00ffffff
3927 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_SHFT                         0
3928 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_IN(x)               \
3929 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RMSK)
3930 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_INM(x, mask)        \
3931 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_ADDR(x), mask)
3932 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_OUT(x, val)         \
3933 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_ADDR(x), val)
3934 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)  \
3935 	do {\
3936 		HWIO_INTLOCK(); \
3937 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_IN(x)); \
3938 		HWIO_INTFREE();\
3939 	} while (0)
3940 
3941 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK      0x00ffff00
3942 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT             0x8
3943 
3944 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
3945 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
3946 
3947 //// Register WBM_R0_RXDMA1_RELEASE_RING_ID ////
3948 
3949 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ADDR(x)                   (x+0x000002e8)
3950 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_PHYS(x)                   (x+0x000002e8)
3951 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_RMSK                      0x000000ff
3952 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_SHFT                               0
3953 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_IN(x)                     \
3954 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_RMSK)
3955 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_INM(x, mask)              \
3956 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ADDR(x), mask)
3957 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_OUT(x, val)               \
3958 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ADDR(x), val)
3959 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_OUTM(x, mask, val)        \
3960 	do {\
3961 		HWIO_INTLOCK(); \
3962 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_IN(x)); \
3963 		HWIO_INTFREE();\
3964 	} while (0)
3965 
3966 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ENTRY_SIZE_BMSK           0x000000ff
3967 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_ID_ENTRY_SIZE_SHFT                  0x0
3968 
3969 //// Register WBM_R0_RXDMA1_RELEASE_RING_STATUS ////
3970 
3971 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_ADDR(x)               (x+0x000002ec)
3972 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_PHYS(x)               (x+0x000002ec)
3973 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_RMSK                  0xffffffff
3974 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_SHFT                           0
3975 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_IN(x)                 \
3976 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_RMSK)
3977 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_INM(x, mask)          \
3978 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_ADDR(x), mask)
3979 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_OUT(x, val)           \
3980 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_ADDR(x), val)
3981 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_OUTM(x, mask, val)    \
3982 	do {\
3983 		HWIO_INTLOCK(); \
3984 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_IN(x)); \
3985 		HWIO_INTFREE();\
3986 	} while (0)
3987 
3988 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK  0xffff0000
3989 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT        0x10
3990 
3991 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK  0x0000ffff
3992 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT         0x0
3993 
3994 //// Register WBM_R0_RXDMA1_RELEASE_RING_MISC ////
3995 
3996 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_ADDR(x)                 (x+0x000002f0)
3997 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_PHYS(x)                 (x+0x000002f0)
3998 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_RMSK                    0x003fffff
3999 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SHFT                             0
4000 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_IN(x)                   \
4001 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_RMSK)
4002 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_INM(x, mask)            \
4003 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_ADDR(x), mask)
4004 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_OUT(x, val)             \
4005 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_ADDR(x), val)
4006 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_OUTM(x, mask, val)      \
4007 	do {\
4008 		HWIO_INTLOCK(); \
4009 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_IN(x)); \
4010 		HWIO_INTFREE();\
4011 	} while (0)
4012 
4013 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SPARE_CONTROL_BMSK      0x003fc000
4014 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SPARE_CONTROL_SHFT             0xe
4015 
4016 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK     0x00003000
4017 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT            0xc
4018 
4019 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK     0x00000f00
4020 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT            0x8
4021 
4022 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK       0x00000080
4023 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT              0x7
4024 
4025 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_ENABLE_BMSK        0x00000040
4026 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SRNG_ENABLE_SHFT               0x6
4027 
4028 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK  0x00000020
4029 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT         0x5
4030 
4031 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK   0x00000010
4032 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT          0x4
4033 
4034 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK       0x00000008
4035 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT              0x3
4036 
4037 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SECURITY_BIT_BMSK       0x00000004
4038 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_SECURITY_BIT_SHFT              0x2
4039 
4040 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK    0x00000002
4041 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT           0x1
4042 
4043 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK    0x00000001
4044 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT           0x0
4045 
4046 //// Register WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB ////
4047 
4048 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_ADDR(x)          (x+0x000002fc)
4049 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_PHYS(x)          (x+0x000002fc)
4050 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_RMSK             0xffffffff
4051 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_SHFT                      0
4052 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_IN(x)            \
4053 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_RMSK)
4054 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_INM(x, mask)     \
4055 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask)
4056 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_OUT(x, val)      \
4057 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_ADDR(x), val)
4058 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_OUTM(x, mask, val) \
4059 	do {\
4060 		HWIO_INTLOCK(); \
4061 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_IN(x)); \
4062 		HWIO_INTFREE();\
4063 	} while (0)
4064 
4065 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
4066 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
4067 
4068 //// Register WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB ////
4069 
4070 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_ADDR(x)          (x+0x00000300)
4071 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_PHYS(x)          (x+0x00000300)
4072 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_RMSK             0x000000ff
4073 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_SHFT                      0
4074 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_IN(x)            \
4075 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_RMSK)
4076 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_INM(x, mask)     \
4077 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask)
4078 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_OUT(x, val)      \
4079 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_ADDR(x), val)
4080 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_OUTM(x, mask, val) \
4081 	do {\
4082 		HWIO_INTLOCK(); \
4083 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_IN(x)); \
4084 		HWIO_INTFREE();\
4085 	} while (0)
4086 
4087 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
4088 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
4089 
4090 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0 ////
4091 
4092 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x) (x+0x00000310)
4093 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_PHYS(x) (x+0x00000310)
4094 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK  0xffffffff
4095 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SHFT           0
4096 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x) \
4097 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_RMSK)
4098 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
4099 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
4100 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
4101 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
4102 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
4103 	do {\
4104 		HWIO_INTLOCK(); \
4105 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
4106 		HWIO_INTFREE();\
4107 	} while (0)
4108 
4109 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
4110 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
4111 
4112 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
4113 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
4114 
4115 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
4116 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
4117 
4118 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1 ////
4119 
4120 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x) (x+0x00000314)
4121 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_PHYS(x) (x+0x00000314)
4122 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK  0x0000ffff
4123 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_SHFT           0
4124 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x) \
4125 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_RMSK)
4126 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
4127 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
4128 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
4129 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
4130 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
4131 	do {\
4132 		HWIO_INTLOCK(); \
4133 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
4134 		HWIO_INTFREE();\
4135 	} while (0)
4136 
4137 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
4138 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
4139 
4140 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS ////
4141 
4142 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x)  (x+0x00000318)
4143 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_PHYS(x)  (x+0x00000318)
4144 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_RMSK     0xffffffff
4145 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_SHFT              0
4146 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)    \
4147 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_RMSK)
4148 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_INM(x, mask) \
4149 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
4150 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_OUT(x, val) \
4151 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), val)
4152 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
4153 	do {\
4154 		HWIO_INTLOCK(); \
4155 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_IN(x)); \
4156 		HWIO_INTFREE();\
4157 	} while (0)
4158 
4159 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
4160 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
4161 
4162 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
4163 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
4164 
4165 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
4166 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
4167 
4168 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER ////
4169 
4170 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x) (x+0x0000031c)
4171 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_PHYS(x) (x+0x0000031c)
4172 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK  0x000003ff
4173 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_SHFT           0
4174 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x) \
4175 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RMSK)
4176 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
4177 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
4178 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
4179 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
4180 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
4181 	do {\
4182 		HWIO_INTLOCK(); \
4183 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
4184 		HWIO_INTFREE();\
4185 	} while (0)
4186 
4187 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
4188 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
4189 
4190 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER ////
4191 
4192 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x00000320)
4193 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x00000320)
4194 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK 0x00000007
4195 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_SHFT          0
4196 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x) \
4197 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_RMSK)
4198 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
4199 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
4200 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
4201 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
4202 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
4203 	do {\
4204 		HWIO_INTLOCK(); \
4205 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
4206 		HWIO_INTFREE();\
4207 	} while (0)
4208 
4209 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
4210 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
4211 
4212 //// Register WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS ////
4213 
4214 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x00000324)
4215 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x00000324)
4216 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK 0x00ffffff
4217 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_SHFT          0
4218 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x) \
4219 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_RMSK)
4220 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
4221 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
4222 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
4223 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
4224 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
4225 	do {\
4226 		HWIO_INTLOCK(); \
4227 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
4228 		HWIO_INTFREE();\
4229 	} while (0)
4230 
4231 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
4232 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
4233 
4234 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
4235 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
4236 
4237 //// Register WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET ////
4238 
4239 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)      (x+0x00000334)
4240 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)      (x+0x00000334)
4241 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_RMSK         0x0000ffff
4242 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                  0
4243 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)        \
4244 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
4245 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
4246 	in_dword_masked ( HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
4247 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)  \
4248 	out_dword( HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
4249 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
4250 	do {\
4251 		HWIO_INTLOCK(); \
4252 		out_dword_masked_ns(HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
4253 		HWIO_INTFREE();\
4254 	} while (0)
4255 
4256 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
4257 #define HWIO_WBM_R0_RXDMA1_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
4258 
4259 //// Register WBM_R0_WBM2PPE_BUF_RING_BASE_LSB ////
4260 
4261 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_ADDR(x)                (x+0x00000390)
4262 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_PHYS(x)                (x+0x00000390)
4263 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_RMSK                   0xffffffff
4264 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_SHFT                            0
4265 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_IN(x)                  \
4266 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_RMSK)
4267 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_INM(x, mask)           \
4268 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_ADDR(x), mask)
4269 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_OUT(x, val)            \
4270 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_ADDR(x), val)
4271 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_OUTM(x, mask, val)     \
4272 	do {\
4273 		HWIO_INTLOCK(); \
4274 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_IN(x)); \
4275 		HWIO_INTFREE();\
4276 	} while (0)
4277 
4278 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
4279 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
4280 
4281 //// Register WBM_R0_WBM2PPE_BUF_RING_BASE_MSB ////
4282 
4283 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_ADDR(x)                (x+0x00000394)
4284 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_PHYS(x)                (x+0x00000394)
4285 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RMSK                   0x00ffffff
4286 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_SHFT                            0
4287 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_IN(x)                  \
4288 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RMSK)
4289 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_INM(x, mask)           \
4290 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_ADDR(x), mask)
4291 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_OUT(x, val)            \
4292 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_ADDR(x), val)
4293 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_OUTM(x, mask, val)     \
4294 	do {\
4295 		HWIO_INTLOCK(); \
4296 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_IN(x)); \
4297 		HWIO_INTFREE();\
4298 	} while (0)
4299 
4300 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
4301 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RING_SIZE_SHFT                0x8
4302 
4303 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
4304 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
4305 
4306 //// Register WBM_R0_WBM2PPE_BUF_RING_ID ////
4307 
4308 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ADDR(x)                      (x+0x00000398)
4309 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_PHYS(x)                      (x+0x00000398)
4310 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_RMSK                         0x0000ffff
4311 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_SHFT                                  0
4312 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_IN(x)                        \
4313 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_RMSK)
4314 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_INM(x, mask)                 \
4315 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ADDR(x), mask)
4316 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_OUT(x, val)                  \
4317 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ADDR(x), val)
4318 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_OUTM(x, mask, val)           \
4319 	do {\
4320 		HWIO_INTLOCK(); \
4321 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_IN(x)); \
4322 		HWIO_INTFREE();\
4323 	} while (0)
4324 
4325 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_RING_ID_BMSK                 0x0000ff00
4326 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_RING_ID_SHFT                        0x8
4327 
4328 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
4329 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_ID_ENTRY_SIZE_SHFT                     0x0
4330 
4331 //// Register WBM_R0_WBM2PPE_BUF_RING_STATUS ////
4332 
4333 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_ADDR(x)                  (x+0x0000039c)
4334 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_PHYS(x)                  (x+0x0000039c)
4335 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_RMSK                     0xffffffff
4336 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_SHFT                              0
4337 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_IN(x)                    \
4338 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_RMSK)
4339 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_INM(x, mask)             \
4340 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_ADDR(x), mask)
4341 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_OUT(x, val)              \
4342 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_ADDR(x), val)
4343 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_OUTM(x, mask, val)       \
4344 	do {\
4345 		HWIO_INTLOCK(); \
4346 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_IN(x)); \
4347 		HWIO_INTFREE();\
4348 	} while (0)
4349 
4350 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
4351 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
4352 
4353 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
4354 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
4355 
4356 //// Register WBM_R0_WBM2PPE_BUF_RING_MISC ////
4357 
4358 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_ADDR(x)                    (x+0x000003a0)
4359 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_PHYS(x)                    (x+0x000003a0)
4360 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_RMSK                       0x03ffffff
4361 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SHFT                                0
4362 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_IN(x)                      \
4363 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_RMSK)
4364 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_INM(x, mask)               \
4365 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_ADDR(x), mask)
4366 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_OUT(x, val)                \
4367 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_ADDR(x), val)
4368 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_OUTM(x, mask, val)         \
4369 	do {\
4370 		HWIO_INTLOCK(); \
4371 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_IN(x)); \
4372 		HWIO_INTFREE();\
4373 	} while (0)
4374 
4375 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_LOOP_CNT_BMSK              0x03c00000
4376 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_LOOP_CNT_SHFT                    0x16
4377 
4378 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
4379 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SPARE_CONTROL_SHFT                0xe
4380 
4381 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
4382 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
4383 
4384 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
4385 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
4386 
4387 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
4388 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
4389 
4390 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
4391 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SRNG_ENABLE_SHFT                  0x6
4392 
4393 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
4394 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
4395 
4396 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
4397 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
4398 
4399 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
4400 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
4401 
4402 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SECURITY_BIT_BMSK          0x00000004
4403 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_SECURITY_BIT_SHFT                 0x2
4404 
4405 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
4406 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
4407 
4408 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
4409 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_MISC_RING_ID_DISABLE_SHFT              0x0
4410 
4411 //// Register WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB ////
4412 
4413 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_ADDR(x)             (x+0x000003a4)
4414 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_PHYS(x)             (x+0x000003a4)
4415 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_RMSK                0xffffffff
4416 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_SHFT                         0
4417 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_IN(x)               \
4418 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_RMSK)
4419 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_INM(x, mask)        \
4420 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
4421 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_OUT(x, val)         \
4422 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
4423 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val)  \
4424 	do {\
4425 		HWIO_INTLOCK(); \
4426 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_IN(x)); \
4427 		HWIO_INTFREE();\
4428 	} while (0)
4429 
4430 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
4431 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
4432 
4433 //// Register WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB ////
4434 
4435 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_ADDR(x)             (x+0x000003a8)
4436 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_PHYS(x)             (x+0x000003a8)
4437 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_RMSK                0x000000ff
4438 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_SHFT                         0
4439 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_IN(x)               \
4440 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_RMSK)
4441 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_INM(x, mask)        \
4442 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
4443 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_OUT(x, val)         \
4444 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
4445 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val)  \
4446 	do {\
4447 		HWIO_INTLOCK(); \
4448 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_IN(x)); \
4449 		HWIO_INTFREE();\
4450 	} while (0)
4451 
4452 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
4453 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
4454 
4455 //// Register WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP ////
4456 
4457 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)      (x+0x000003b4)
4458 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)      (x+0x000003b4)
4459 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_RMSK         0xffffffff
4460 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_SHFT                  0
4461 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_IN(x)        \
4462 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_RMSK)
4463 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask) \
4464 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
4465 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val)  \
4466 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
4467 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
4468 	do {\
4469 		HWIO_INTLOCK(); \
4470 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
4471 		HWIO_INTFREE();\
4472 	} while (0)
4473 
4474 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
4475 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
4476 
4477 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
4478 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
4479 
4480 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
4481 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
4482 
4483 //// Register WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS ////
4484 
4485 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)     (x+0x000003b8)
4486 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)     (x+0x000003b8)
4487 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_RMSK        0xffffffff
4488 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_SHFT                 0
4489 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_IN(x)       \
4490 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_RMSK)
4491 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
4492 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
4493 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val) \
4494 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
4495 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
4496 	do {\
4497 		HWIO_INTLOCK(); \
4498 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
4499 		HWIO_INTFREE();\
4500 	} while (0)
4501 
4502 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
4503 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
4504 
4505 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
4506 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
4507 
4508 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
4509 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
4510 
4511 //// Register WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER ////
4512 
4513 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x)   (x+0x000003bc)
4514 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x)   (x+0x000003bc)
4515 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_RMSK      0x000003ff
4516 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_SHFT               0
4517 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)     \
4518 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
4519 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
4520 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
4521 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
4522 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
4523 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
4524 	do {\
4525 		HWIO_INTLOCK(); \
4526 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
4527 		HWIO_INTFREE();\
4528 	} while (0)
4529 
4530 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
4531 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
4532 
4533 //// Register WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET ////
4534 
4535 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x000003e4)
4536 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x000003e4)
4537 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
4538 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_SHFT                     0
4539 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_IN(x)           \
4540 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_RMSK)
4541 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
4542 	in_dword_masked ( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
4543 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
4544 	out_dword( HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
4545 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
4546 	do {\
4547 		HWIO_INTLOCK(); \
4548 		out_dword_masked_ns(HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
4549 		HWIO_INTFREE();\
4550 	} while (0)
4551 
4552 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
4553 #define HWIO_WBM_R0_WBM2PPE_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
4554 
4555 //// Register WBM_R0_WBM2SW_BUF_RING_BASE_LSB ////
4556 
4557 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_ADDR(x)                 (x+0x000003e8)
4558 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_PHYS(x)                 (x+0x000003e8)
4559 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_RMSK                    0xffffffff
4560 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_SHFT                             0
4561 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_IN(x)                   \
4562 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_RMSK)
4563 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_INM(x, mask)            \
4564 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_ADDR(x), mask)
4565 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_OUT(x, val)             \
4566 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_ADDR(x), val)
4567 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_OUTM(x, mask, val)      \
4568 	do {\
4569 		HWIO_INTLOCK(); \
4570 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_IN(x)); \
4571 		HWIO_INTFREE();\
4572 	} while (0)
4573 
4574 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
4575 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
4576 
4577 //// Register WBM_R0_WBM2SW_BUF_RING_BASE_MSB ////
4578 
4579 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_ADDR(x)                 (x+0x000003ec)
4580 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_PHYS(x)                 (x+0x000003ec)
4581 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RMSK                    0x00ffffff
4582 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_SHFT                             0
4583 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_IN(x)                   \
4584 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RMSK)
4585 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_INM(x, mask)            \
4586 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_ADDR(x), mask)
4587 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_OUT(x, val)             \
4588 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_ADDR(x), val)
4589 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_OUTM(x, mask, val)      \
4590 	do {\
4591 		HWIO_INTLOCK(); \
4592 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_IN(x)); \
4593 		HWIO_INTFREE();\
4594 	} while (0)
4595 
4596 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RING_SIZE_BMSK          0x00ffff00
4597 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RING_SIZE_SHFT                 0x8
4598 
4599 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
4600 #define HWIO_WBM_R0_WBM2SW_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
4601 
4602 //// Register WBM_R0_WBM2SW_BUF_RING_ID ////
4603 
4604 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ADDR(x)                       (x+0x000003f0)
4605 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_PHYS(x)                       (x+0x000003f0)
4606 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_RMSK                          0x0000ffff
4607 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_SHFT                                   0
4608 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_IN(x)                         \
4609 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_ID_RMSK)
4610 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_INM(x, mask)                  \
4611 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ADDR(x), mask)
4612 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_OUT(x, val)                   \
4613 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ADDR(x), val)
4614 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_OUTM(x, mask, val)            \
4615 	do {\
4616 		HWIO_INTLOCK(); \
4617 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_ID_IN(x)); \
4618 		HWIO_INTFREE();\
4619 	} while (0)
4620 
4621 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_RING_ID_BMSK                  0x0000ff00
4622 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_RING_ID_SHFT                         0x8
4623 
4624 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ENTRY_SIZE_BMSK               0x000000ff
4625 #define HWIO_WBM_R0_WBM2SW_BUF_RING_ID_ENTRY_SIZE_SHFT                      0x0
4626 
4627 //// Register WBM_R0_WBM2SW_BUF_RING_STATUS ////
4628 
4629 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_ADDR(x)                   (x+0x000003f4)
4630 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_PHYS(x)                   (x+0x000003f4)
4631 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_RMSK                      0xffffffff
4632 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_SHFT                               0
4633 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_IN(x)                     \
4634 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_RMSK)
4635 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_INM(x, mask)              \
4636 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_ADDR(x), mask)
4637 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_OUT(x, val)               \
4638 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_ADDR(x), val)
4639 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_OUTM(x, mask, val)        \
4640 	do {\
4641 		HWIO_INTLOCK(); \
4642 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_IN(x)); \
4643 		HWIO_INTFREE();\
4644 	} while (0)
4645 
4646 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK      0xffff0000
4647 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT            0x10
4648 
4649 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK      0x0000ffff
4650 #define HWIO_WBM_R0_WBM2SW_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT             0x0
4651 
4652 //// Register WBM_R0_WBM2SW_BUF_RING_MISC ////
4653 
4654 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_ADDR(x)                     (x+0x000003f8)
4655 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_PHYS(x)                     (x+0x000003f8)
4656 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_RMSK                        0x03ffffff
4657 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SHFT                                 0
4658 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_IN(x)                       \
4659 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_RMSK)
4660 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_INM(x, mask)                \
4661 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_ADDR(x), mask)
4662 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_OUT(x, val)                 \
4663 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_ADDR(x), val)
4664 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_OUTM(x, mask, val)          \
4665 	do {\
4666 		HWIO_INTLOCK(); \
4667 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_IN(x)); \
4668 		HWIO_INTFREE();\
4669 	} while (0)
4670 
4671 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_LOOP_CNT_BMSK               0x03c00000
4672 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_LOOP_CNT_SHFT                     0x16
4673 
4674 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SPARE_CONTROL_BMSK          0x003fc000
4675 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SPARE_CONTROL_SHFT                 0xe
4676 
4677 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_SM_STATE2_BMSK         0x00003000
4678 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_SM_STATE2_SHFT                0xc
4679 
4680 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_SM_STATE1_BMSK         0x00000f00
4681 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_SM_STATE1_SHFT                0x8
4682 
4683 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_IS_IDLE_BMSK           0x00000080
4684 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_IS_IDLE_SHFT                  0x7
4685 
4686 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_ENABLE_BMSK            0x00000040
4687 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SRNG_ENABLE_SHFT                   0x6
4688 
4689 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK      0x00000020
4690 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT             0x5
4691 
4692 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK       0x00000010
4693 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT              0x4
4694 
4695 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_MSI_SWAP_BIT_BMSK           0x00000008
4696 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_MSI_SWAP_BIT_SHFT                  0x3
4697 
4698 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SECURITY_BIT_BMSK           0x00000004
4699 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_SECURITY_BIT_SHFT                  0x2
4700 
4701 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK        0x00000002
4702 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT               0x1
4703 
4704 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_RING_ID_DISABLE_BMSK        0x00000001
4705 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MISC_RING_ID_DISABLE_SHFT               0x0
4706 
4707 //// Register WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB ////
4708 
4709 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_ADDR(x)              (x+0x000003fc)
4710 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_PHYS(x)              (x+0x000003fc)
4711 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_RMSK                 0xffffffff
4712 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_SHFT                          0
4713 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_IN(x)                \
4714 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_RMSK)
4715 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_INM(x, mask)         \
4716 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
4717 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_OUT(x, val)          \
4718 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
4719 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val)   \
4720 	do {\
4721 		HWIO_INTLOCK(); \
4722 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_IN(x)); \
4723 		HWIO_INTFREE();\
4724 	} while (0)
4725 
4726 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
4727 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
4728 
4729 //// Register WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB ////
4730 
4731 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_ADDR(x)              (x+0x00000400)
4732 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_PHYS(x)              (x+0x00000400)
4733 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_RMSK                 0x000000ff
4734 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_SHFT                          0
4735 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_IN(x)                \
4736 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_RMSK)
4737 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_INM(x, mask)         \
4738 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
4739 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_OUT(x, val)          \
4740 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
4741 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val)   \
4742 	do {\
4743 		HWIO_INTLOCK(); \
4744 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_IN(x)); \
4745 		HWIO_INTFREE();\
4746 	} while (0)
4747 
4748 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
4749 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
4750 
4751 //// Register WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP ////
4752 
4753 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)       (x+0x0000040c)
4754 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)       (x+0x0000040c)
4755 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_RMSK          0xffffffff
4756 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_SHFT                   0
4757 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_IN(x)         \
4758 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_RMSK)
4759 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask)  \
4760 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
4761 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val)   \
4762 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
4763 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
4764 	do {\
4765 		HWIO_INTLOCK(); \
4766 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
4767 		HWIO_INTFREE();\
4768 	} while (0)
4769 
4770 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
4771 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
4772 
4773 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
4774 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
4775 
4776 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
4777 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
4778 
4779 //// Register WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS ////
4780 
4781 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)      (x+0x00000410)
4782 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)      (x+0x00000410)
4783 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_RMSK         0xffffffff
4784 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_SHFT                  0
4785 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_IN(x)        \
4786 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_RMSK)
4787 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
4788 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
4789 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val)  \
4790 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
4791 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
4792 	do {\
4793 		HWIO_INTLOCK(); \
4794 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
4795 		HWIO_INTFREE();\
4796 	} while (0)
4797 
4798 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
4799 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
4800 
4801 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
4802 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
4803 
4804 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
4805 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
4806 
4807 //// Register WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER ////
4808 
4809 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x)    (x+0x00000414)
4810 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x)    (x+0x00000414)
4811 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_RMSK       0x000003ff
4812 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_SHFT                0
4813 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)      \
4814 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
4815 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
4816 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
4817 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
4818 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
4819 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
4820 	do {\
4821 		HWIO_INTLOCK(); \
4822 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
4823 		HWIO_INTFREE();\
4824 	} while (0)
4825 
4826 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
4827 #define HWIO_WBM_R0_WBM2SW_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
4828 
4829 //// Register WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB ////
4830 
4831 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR(x)            (x+0x00000430)
4832 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_PHYS(x)            (x+0x00000430)
4833 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_RMSK               0xffffffff
4834 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_SHFT                        0
4835 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_IN(x)              \
4836 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_RMSK)
4837 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_INM(x, mask)       \
4838 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR(x), mask)
4839 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_OUT(x, val)        \
4840 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR(x), val)
4841 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
4842 	do {\
4843 		HWIO_INTLOCK(); \
4844 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_IN(x)); \
4845 		HWIO_INTFREE();\
4846 	} while (0)
4847 
4848 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR_BMSK          0xffffffff
4849 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_LSB_ADDR_SHFT                 0x0
4850 
4851 //// Register WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB ////
4852 
4853 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR(x)            (x+0x00000434)
4854 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_PHYS(x)            (x+0x00000434)
4855 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_RMSK               0x000001ff
4856 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_SHFT                        0
4857 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_IN(x)              \
4858 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_RMSK)
4859 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_INM(x, mask)       \
4860 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR(x), mask)
4861 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_OUT(x, val)        \
4862 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR(x), val)
4863 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
4864 	do {\
4865 		HWIO_INTLOCK(); \
4866 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_IN(x)); \
4867 		HWIO_INTFREE();\
4868 	} while (0)
4869 
4870 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK   0x00000100
4871 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT          0x8
4872 
4873 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR_BMSK          0x000000ff
4874 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_BASE_MSB_ADDR_SHFT                 0x0
4875 
4876 //// Register WBM_R0_WBM2SW_BUF_RING_MSI1_DATA ////
4877 
4878 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_ADDR(x)                (x+0x00000438)
4879 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_PHYS(x)                (x+0x00000438)
4880 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_RMSK                   0xffffffff
4881 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_SHFT                            0
4882 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_IN(x)                  \
4883 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_RMSK)
4884 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_INM(x, mask)           \
4885 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_ADDR(x), mask)
4886 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_OUT(x, val)            \
4887 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_ADDR(x), val)
4888 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_OUTM(x, mask, val)     \
4889 	do {\
4890 		HWIO_INTLOCK(); \
4891 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_IN(x)); \
4892 		HWIO_INTFREE();\
4893 	} while (0)
4894 
4895 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_VALUE_BMSK             0xffffffff
4896 #define HWIO_WBM_R0_WBM2SW_BUF_RING_MSI1_DATA_VALUE_SHFT                    0x0
4897 
4898 //// Register WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET ////
4899 
4900 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)          (x+0x0000043c)
4901 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)          (x+0x0000043c)
4902 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_RMSK             0x0000ffff
4903 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_SHFT                      0
4904 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_IN(x)            \
4905 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_RMSK)
4906 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask)     \
4907 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
4908 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)      \
4909 	out_dword( HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
4910 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
4911 	do {\
4912 		HWIO_INTLOCK(); \
4913 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
4914 		HWIO_INTFREE();\
4915 	} while (0)
4916 
4917 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
4918 #define HWIO_WBM_R0_WBM2SW_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
4919 
4920 //// Register WBM_R0_WBM2FW_BUF_RING_BASE_LSB ////
4921 
4922 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_ADDR(x)                 (x+0x00000440)
4923 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_PHYS(x)                 (x+0x00000440)
4924 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_RMSK                    0xffffffff
4925 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_SHFT                             0
4926 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_IN(x)                   \
4927 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_RMSK)
4928 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_INM(x, mask)            \
4929 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_ADDR(x), mask)
4930 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_OUT(x, val)             \
4931 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_ADDR(x), val)
4932 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_OUTM(x, mask, val)      \
4933 	do {\
4934 		HWIO_INTLOCK(); \
4935 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_IN(x)); \
4936 		HWIO_INTFREE();\
4937 	} while (0)
4938 
4939 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
4940 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
4941 
4942 //// Register WBM_R0_WBM2FW_BUF_RING_BASE_MSB ////
4943 
4944 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_ADDR(x)                 (x+0x00000444)
4945 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_PHYS(x)                 (x+0x00000444)
4946 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RMSK                    0x00ffffff
4947 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_SHFT                             0
4948 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_IN(x)                   \
4949 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RMSK)
4950 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_INM(x, mask)            \
4951 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_ADDR(x), mask)
4952 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_OUT(x, val)             \
4953 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_ADDR(x), val)
4954 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_OUTM(x, mask, val)      \
4955 	do {\
4956 		HWIO_INTLOCK(); \
4957 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_IN(x)); \
4958 		HWIO_INTFREE();\
4959 	} while (0)
4960 
4961 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RING_SIZE_BMSK          0x00ffff00
4962 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RING_SIZE_SHFT                 0x8
4963 
4964 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
4965 #define HWIO_WBM_R0_WBM2FW_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
4966 
4967 //// Register WBM_R0_WBM2FW_BUF_RING_ID ////
4968 
4969 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ADDR(x)                       (x+0x00000448)
4970 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_PHYS(x)                       (x+0x00000448)
4971 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_RMSK                          0x0000ffff
4972 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_SHFT                                   0
4973 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_IN(x)                         \
4974 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_ID_RMSK)
4975 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_INM(x, mask)                  \
4976 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ADDR(x), mask)
4977 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_OUT(x, val)                   \
4978 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ADDR(x), val)
4979 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_OUTM(x, mask, val)            \
4980 	do {\
4981 		HWIO_INTLOCK(); \
4982 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_ID_IN(x)); \
4983 		HWIO_INTFREE();\
4984 	} while (0)
4985 
4986 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_RING_ID_BMSK                  0x0000ff00
4987 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_RING_ID_SHFT                         0x8
4988 
4989 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ENTRY_SIZE_BMSK               0x000000ff
4990 #define HWIO_WBM_R0_WBM2FW_BUF_RING_ID_ENTRY_SIZE_SHFT                      0x0
4991 
4992 //// Register WBM_R0_WBM2FW_BUF_RING_STATUS ////
4993 
4994 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_ADDR(x)                   (x+0x0000044c)
4995 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_PHYS(x)                   (x+0x0000044c)
4996 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_RMSK                      0xffffffff
4997 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_SHFT                               0
4998 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_IN(x)                     \
4999 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_RMSK)
5000 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_INM(x, mask)              \
5001 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_ADDR(x), mask)
5002 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_OUT(x, val)               \
5003 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_ADDR(x), val)
5004 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_OUTM(x, mask, val)        \
5005 	do {\
5006 		HWIO_INTLOCK(); \
5007 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_IN(x)); \
5008 		HWIO_INTFREE();\
5009 	} while (0)
5010 
5011 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK      0xffff0000
5012 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT            0x10
5013 
5014 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK      0x0000ffff
5015 #define HWIO_WBM_R0_WBM2FW_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT             0x0
5016 
5017 //// Register WBM_R0_WBM2FW_BUF_RING_MISC ////
5018 
5019 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_ADDR(x)                     (x+0x00000450)
5020 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_PHYS(x)                     (x+0x00000450)
5021 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_RMSK                        0x03ffffff
5022 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SHFT                                 0
5023 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_IN(x)                       \
5024 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_RMSK)
5025 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_INM(x, mask)                \
5026 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_ADDR(x), mask)
5027 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_OUT(x, val)                 \
5028 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_ADDR(x), val)
5029 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_OUTM(x, mask, val)          \
5030 	do {\
5031 		HWIO_INTLOCK(); \
5032 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_IN(x)); \
5033 		HWIO_INTFREE();\
5034 	} while (0)
5035 
5036 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_LOOP_CNT_BMSK               0x03c00000
5037 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_LOOP_CNT_SHFT                     0x16
5038 
5039 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SPARE_CONTROL_BMSK          0x003fc000
5040 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SPARE_CONTROL_SHFT                 0xe
5041 
5042 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_SM_STATE2_BMSK         0x00003000
5043 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_SM_STATE2_SHFT                0xc
5044 
5045 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_SM_STATE1_BMSK         0x00000f00
5046 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_SM_STATE1_SHFT                0x8
5047 
5048 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_IS_IDLE_BMSK           0x00000080
5049 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_IS_IDLE_SHFT                  0x7
5050 
5051 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_ENABLE_BMSK            0x00000040
5052 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SRNG_ENABLE_SHFT                   0x6
5053 
5054 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK      0x00000020
5055 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT             0x5
5056 
5057 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK       0x00000010
5058 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT              0x4
5059 
5060 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_MSI_SWAP_BIT_BMSK           0x00000008
5061 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_MSI_SWAP_BIT_SHFT                  0x3
5062 
5063 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SECURITY_BIT_BMSK           0x00000004
5064 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_SECURITY_BIT_SHFT                  0x2
5065 
5066 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK        0x00000002
5067 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT               0x1
5068 
5069 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_RING_ID_DISABLE_BMSK        0x00000001
5070 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MISC_RING_ID_DISABLE_SHFT               0x0
5071 
5072 //// Register WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB ////
5073 
5074 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_ADDR(x)              (x+0x00000454)
5075 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_PHYS(x)              (x+0x00000454)
5076 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_RMSK                 0xffffffff
5077 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_SHFT                          0
5078 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_IN(x)                \
5079 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_RMSK)
5080 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_INM(x, mask)         \
5081 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
5082 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_OUT(x, val)          \
5083 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
5084 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val)   \
5085 	do {\
5086 		HWIO_INTLOCK(); \
5087 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_IN(x)); \
5088 		HWIO_INTFREE();\
5089 	} while (0)
5090 
5091 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
5092 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
5093 
5094 //// Register WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB ////
5095 
5096 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_ADDR(x)              (x+0x00000458)
5097 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_PHYS(x)              (x+0x00000458)
5098 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_RMSK                 0x000000ff
5099 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_SHFT                          0
5100 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_IN(x)                \
5101 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_RMSK)
5102 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_INM(x, mask)         \
5103 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
5104 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_OUT(x, val)          \
5105 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
5106 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val)   \
5107 	do {\
5108 		HWIO_INTLOCK(); \
5109 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_IN(x)); \
5110 		HWIO_INTFREE();\
5111 	} while (0)
5112 
5113 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
5114 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
5115 
5116 //// Register WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP ////
5117 
5118 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)       (x+0x00000464)
5119 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)       (x+0x00000464)
5120 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_RMSK          0xffffffff
5121 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_SHFT                   0
5122 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_IN(x)         \
5123 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_RMSK)
5124 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask)  \
5125 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
5126 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val)   \
5127 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
5128 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
5129 	do {\
5130 		HWIO_INTLOCK(); \
5131 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
5132 		HWIO_INTFREE();\
5133 	} while (0)
5134 
5135 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
5136 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
5137 
5138 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
5139 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
5140 
5141 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
5142 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
5143 
5144 //// Register WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS ////
5145 
5146 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)      (x+0x00000468)
5147 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)      (x+0x00000468)
5148 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_RMSK         0xffffffff
5149 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_SHFT                  0
5150 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_IN(x)        \
5151 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_RMSK)
5152 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
5153 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
5154 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val)  \
5155 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
5156 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
5157 	do {\
5158 		HWIO_INTLOCK(); \
5159 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
5160 		HWIO_INTFREE();\
5161 	} while (0)
5162 
5163 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
5164 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
5165 
5166 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
5167 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
5168 
5169 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
5170 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
5171 
5172 //// Register WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER ////
5173 
5174 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x)    (x+0x0000046c)
5175 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x)    (x+0x0000046c)
5176 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_RMSK       0x000003ff
5177 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_SHFT                0
5178 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)      \
5179 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
5180 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
5181 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
5182 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
5183 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
5184 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
5185 	do {\
5186 		HWIO_INTLOCK(); \
5187 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
5188 		HWIO_INTFREE();\
5189 	} while (0)
5190 
5191 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
5192 #define HWIO_WBM_R0_WBM2FW_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
5193 
5194 //// Register WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB ////
5195 
5196 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR(x)            (x+0x00000488)
5197 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_PHYS(x)            (x+0x00000488)
5198 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_RMSK               0xffffffff
5199 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_SHFT                        0
5200 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_IN(x)              \
5201 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_RMSK)
5202 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_INM(x, mask)       \
5203 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR(x), mask)
5204 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_OUT(x, val)        \
5205 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR(x), val)
5206 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
5207 	do {\
5208 		HWIO_INTLOCK(); \
5209 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_IN(x)); \
5210 		HWIO_INTFREE();\
5211 	} while (0)
5212 
5213 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR_BMSK          0xffffffff
5214 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_LSB_ADDR_SHFT                 0x0
5215 
5216 //// Register WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB ////
5217 
5218 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR(x)            (x+0x0000048c)
5219 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_PHYS(x)            (x+0x0000048c)
5220 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_RMSK               0x000001ff
5221 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_SHFT                        0
5222 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_IN(x)              \
5223 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_RMSK)
5224 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_INM(x, mask)       \
5225 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR(x), mask)
5226 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_OUT(x, val)        \
5227 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR(x), val)
5228 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
5229 	do {\
5230 		HWIO_INTLOCK(); \
5231 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_IN(x)); \
5232 		HWIO_INTFREE();\
5233 	} while (0)
5234 
5235 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK   0x00000100
5236 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT          0x8
5237 
5238 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR_BMSK          0x000000ff
5239 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_BASE_MSB_ADDR_SHFT                 0x0
5240 
5241 //// Register WBM_R0_WBM2FW_BUF_RING_MSI1_DATA ////
5242 
5243 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_ADDR(x)                (x+0x00000490)
5244 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_PHYS(x)                (x+0x00000490)
5245 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_RMSK                   0xffffffff
5246 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_SHFT                            0
5247 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_IN(x)                  \
5248 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_RMSK)
5249 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_INM(x, mask)           \
5250 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_ADDR(x), mask)
5251 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_OUT(x, val)            \
5252 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_ADDR(x), val)
5253 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_OUTM(x, mask, val)     \
5254 	do {\
5255 		HWIO_INTLOCK(); \
5256 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_IN(x)); \
5257 		HWIO_INTFREE();\
5258 	} while (0)
5259 
5260 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_VALUE_BMSK             0xffffffff
5261 #define HWIO_WBM_R0_WBM2FW_BUF_RING_MSI1_DATA_VALUE_SHFT                    0x0
5262 
5263 //// Register WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET ////
5264 
5265 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)          (x+0x00000494)
5266 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)          (x+0x00000494)
5267 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_RMSK             0x0000ffff
5268 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_SHFT                      0
5269 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_IN(x)            \
5270 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_RMSK)
5271 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask)     \
5272 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
5273 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)      \
5274 	out_dword( HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
5275 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
5276 	do {\
5277 		HWIO_INTLOCK(); \
5278 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
5279 		HWIO_INTFREE();\
5280 	} while (0)
5281 
5282 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
5283 #define HWIO_WBM_R0_WBM2FW_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
5284 
5285 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB ////
5286 
5287 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_ADDR(x)             (x+0x00000498)
5288 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_PHYS(x)             (x+0x00000498)
5289 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_RMSK                0xffffffff
5290 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_SHFT                         0
5291 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_IN(x)               \
5292 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_RMSK)
5293 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_INM(x, mask)        \
5294 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_ADDR(x), mask)
5295 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_OUT(x, val)         \
5296 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_ADDR(x), val)
5297 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_OUTM(x, mask, val)  \
5298 	do {\
5299 		HWIO_INTLOCK(); \
5300 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_IN(x)); \
5301 		HWIO_INTFREE();\
5302 	} while (0)
5303 
5304 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
5305 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
5306 
5307 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB ////
5308 
5309 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_ADDR(x)             (x+0x0000049c)
5310 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_PHYS(x)             (x+0x0000049c)
5311 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RMSK                0x00ffffff
5312 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_SHFT                         0
5313 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_IN(x)               \
5314 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RMSK)
5315 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_INM(x, mask)        \
5316 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_ADDR(x), mask)
5317 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_OUT(x, val)         \
5318 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_ADDR(x), val)
5319 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_OUTM(x, mask, val)  \
5320 	do {\
5321 		HWIO_INTLOCK(); \
5322 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_IN(x)); \
5323 		HWIO_INTFREE();\
5324 	} while (0)
5325 
5326 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RING_SIZE_BMSK      0x00ffff00
5327 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RING_SIZE_SHFT             0x8
5328 
5329 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
5330 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
5331 
5332 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_ID ////
5333 
5334 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ADDR(x)                   (x+0x000004a0)
5335 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_PHYS(x)                   (x+0x000004a0)
5336 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_RMSK                      0x0000ffff
5337 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_SHFT                               0
5338 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_IN(x)                     \
5339 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_RMSK)
5340 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_INM(x, mask)              \
5341 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ADDR(x), mask)
5342 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_OUT(x, val)               \
5343 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ADDR(x), val)
5344 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_OUTM(x, mask, val)        \
5345 	do {\
5346 		HWIO_INTLOCK(); \
5347 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_IN(x)); \
5348 		HWIO_INTFREE();\
5349 	} while (0)
5350 
5351 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_RING_ID_BMSK              0x0000ff00
5352 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_RING_ID_SHFT                     0x8
5353 
5354 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ENTRY_SIZE_BMSK           0x000000ff
5355 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_ID_ENTRY_SIZE_SHFT                  0x0
5356 
5357 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_STATUS ////
5358 
5359 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_ADDR(x)               (x+0x000004a4)
5360 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_PHYS(x)               (x+0x000004a4)
5361 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_RMSK                  0xffffffff
5362 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_SHFT                           0
5363 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_IN(x)                 \
5364 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_RMSK)
5365 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_INM(x, mask)          \
5366 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_ADDR(x), mask)
5367 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_OUT(x, val)           \
5368 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_ADDR(x), val)
5369 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_OUTM(x, mask, val)    \
5370 	do {\
5371 		HWIO_INTLOCK(); \
5372 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_IN(x)); \
5373 		HWIO_INTFREE();\
5374 	} while (0)
5375 
5376 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK  0xffff0000
5377 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT        0x10
5378 
5379 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK  0x0000ffff
5380 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT         0x0
5381 
5382 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_MISC ////
5383 
5384 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_ADDR(x)                 (x+0x000004a8)
5385 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_PHYS(x)                 (x+0x000004a8)
5386 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_RMSK                    0x03ffffff
5387 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SHFT                             0
5388 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_IN(x)                   \
5389 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_RMSK)
5390 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_INM(x, mask)            \
5391 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_ADDR(x), mask)
5392 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_OUT(x, val)             \
5393 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_ADDR(x), val)
5394 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_OUTM(x, mask, val)      \
5395 	do {\
5396 		HWIO_INTLOCK(); \
5397 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_IN(x)); \
5398 		HWIO_INTFREE();\
5399 	} while (0)
5400 
5401 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_LOOP_CNT_BMSK           0x03c00000
5402 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_LOOP_CNT_SHFT                 0x16
5403 
5404 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SPARE_CONTROL_BMSK      0x003fc000
5405 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SPARE_CONTROL_SHFT             0xe
5406 
5407 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_SM_STATE2_BMSK     0x00003000
5408 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_SM_STATE2_SHFT            0xc
5409 
5410 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_SM_STATE1_BMSK     0x00000f00
5411 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_SM_STATE1_SHFT            0x8
5412 
5413 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_IS_IDLE_BMSK       0x00000080
5414 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_IS_IDLE_SHFT              0x7
5415 
5416 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_ENABLE_BMSK        0x00000040
5417 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SRNG_ENABLE_SHFT               0x6
5418 
5419 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK  0x00000020
5420 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT         0x5
5421 
5422 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK   0x00000010
5423 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT          0x4
5424 
5425 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_MSI_SWAP_BIT_BMSK       0x00000008
5426 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_MSI_SWAP_BIT_SHFT              0x3
5427 
5428 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SECURITY_BIT_BMSK       0x00000004
5429 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_SECURITY_BIT_SHFT              0x2
5430 
5431 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK    0x00000002
5432 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT           0x1
5433 
5434 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_RING_ID_DISABLE_BMSK    0x00000001
5435 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_MISC_RING_ID_DISABLE_SHFT           0x0
5436 
5437 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB ////
5438 
5439 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_ADDR(x)          (x+0x000004ac)
5440 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_PHYS(x)          (x+0x000004ac)
5441 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_RMSK             0xffffffff
5442 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_SHFT                      0
5443 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_IN(x)            \
5444 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_RMSK)
5445 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_INM(x, mask)     \
5446 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
5447 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_OUT(x, val)      \
5448 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
5449 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
5450 	do {\
5451 		HWIO_INTLOCK(); \
5452 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_IN(x)); \
5453 		HWIO_INTFREE();\
5454 	} while (0)
5455 
5456 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
5457 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
5458 
5459 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB ////
5460 
5461 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_ADDR(x)          (x+0x000004b0)
5462 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_PHYS(x)          (x+0x000004b0)
5463 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_RMSK             0x000000ff
5464 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_SHFT                      0
5465 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_IN(x)            \
5466 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_RMSK)
5467 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_INM(x, mask)     \
5468 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
5469 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_OUT(x, val)      \
5470 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
5471 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
5472 	do {\
5473 		HWIO_INTLOCK(); \
5474 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_IN(x)); \
5475 		HWIO_INTFREE();\
5476 	} while (0)
5477 
5478 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
5479 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
5480 
5481 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP ////
5482 
5483 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)   (x+0x000004bc)
5484 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)   (x+0x000004bc)
5485 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_RMSK      0xffffffff
5486 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_SHFT               0
5487 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_IN(x)     \
5488 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_RMSK)
5489 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask) \
5490 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
5491 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val) \
5492 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
5493 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
5494 	do {\
5495 		HWIO_INTLOCK(); \
5496 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
5497 		HWIO_INTFREE();\
5498 	} while (0)
5499 
5500 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
5501 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
5502 
5503 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
5504 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
5505 
5506 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
5507 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
5508 
5509 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS ////
5510 
5511 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)  (x+0x000004c0)
5512 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)  (x+0x000004c0)
5513 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_RMSK     0xffffffff
5514 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_SHFT              0
5515 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_IN(x)    \
5516 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_RMSK)
5517 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
5518 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
5519 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val) \
5520 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
5521 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
5522 	do {\
5523 		HWIO_INTLOCK(); \
5524 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
5525 		HWIO_INTFREE();\
5526 	} while (0)
5527 
5528 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
5529 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
5530 
5531 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
5532 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
5533 
5534 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
5535 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
5536 
5537 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER ////
5538 
5539 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x000004c4)
5540 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x000004c4)
5541 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_RMSK   0x000003ff
5542 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_SHFT            0
5543 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)  \
5544 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
5545 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
5546 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
5547 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
5548 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
5549 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
5550 	do {\
5551 		HWIO_INTLOCK(); \
5552 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
5553 		HWIO_INTFREE();\
5554 	} while (0)
5555 
5556 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
5557 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
5558 
5559 //// Register WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET ////
5560 
5561 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)      (x+0x000004ec)
5562 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)      (x+0x000004ec)
5563 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_RMSK         0x0000ffff
5564 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_SHFT                  0
5565 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_IN(x)        \
5566 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_RMSK)
5567 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask) \
5568 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
5569 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)  \
5570 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
5571 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
5572 	do {\
5573 		HWIO_INTLOCK(); \
5574 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
5575 		HWIO_INTFREE();\
5576 	} while (0)
5577 
5578 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
5579 #define HWIO_WBM_R0_WBM2RXDMA0_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
5580 
5581 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB ////
5582 
5583 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_ADDR(x)             (x+0x000004f0)
5584 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_PHYS(x)             (x+0x000004f0)
5585 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_RMSK                0xffffffff
5586 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_SHFT                         0
5587 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_IN(x)               \
5588 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_RMSK)
5589 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_INM(x, mask)        \
5590 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_ADDR(x), mask)
5591 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_OUT(x, val)         \
5592 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_ADDR(x), val)
5593 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_OUTM(x, mask, val)  \
5594 	do {\
5595 		HWIO_INTLOCK(); \
5596 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_IN(x)); \
5597 		HWIO_INTFREE();\
5598 	} while (0)
5599 
5600 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
5601 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
5602 
5603 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB ////
5604 
5605 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_ADDR(x)             (x+0x000004f4)
5606 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_PHYS(x)             (x+0x000004f4)
5607 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RMSK                0x00ffffff
5608 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_SHFT                         0
5609 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_IN(x)               \
5610 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RMSK)
5611 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_INM(x, mask)        \
5612 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_ADDR(x), mask)
5613 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_OUT(x, val)         \
5614 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_ADDR(x), val)
5615 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_OUTM(x, mask, val)  \
5616 	do {\
5617 		HWIO_INTLOCK(); \
5618 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_IN(x)); \
5619 		HWIO_INTFREE();\
5620 	} while (0)
5621 
5622 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RING_SIZE_BMSK      0x00ffff00
5623 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RING_SIZE_SHFT             0x8
5624 
5625 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
5626 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
5627 
5628 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_ID ////
5629 
5630 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ADDR(x)                   (x+0x000004f8)
5631 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_PHYS(x)                   (x+0x000004f8)
5632 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_RMSK                      0x0000ffff
5633 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_SHFT                               0
5634 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_IN(x)                     \
5635 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_RMSK)
5636 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_INM(x, mask)              \
5637 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ADDR(x), mask)
5638 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_OUT(x, val)               \
5639 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ADDR(x), val)
5640 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_OUTM(x, mask, val)        \
5641 	do {\
5642 		HWIO_INTLOCK(); \
5643 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_IN(x)); \
5644 		HWIO_INTFREE();\
5645 	} while (0)
5646 
5647 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_RING_ID_BMSK              0x0000ff00
5648 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_RING_ID_SHFT                     0x8
5649 
5650 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ENTRY_SIZE_BMSK           0x000000ff
5651 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_ID_ENTRY_SIZE_SHFT                  0x0
5652 
5653 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_STATUS ////
5654 
5655 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_ADDR(x)               (x+0x000004fc)
5656 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_PHYS(x)               (x+0x000004fc)
5657 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_RMSK                  0xffffffff
5658 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_SHFT                           0
5659 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_IN(x)                 \
5660 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_RMSK)
5661 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_INM(x, mask)          \
5662 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_ADDR(x), mask)
5663 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_OUT(x, val)           \
5664 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_ADDR(x), val)
5665 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_OUTM(x, mask, val)    \
5666 	do {\
5667 		HWIO_INTLOCK(); \
5668 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_IN(x)); \
5669 		HWIO_INTFREE();\
5670 	} while (0)
5671 
5672 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK  0xffff0000
5673 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT        0x10
5674 
5675 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK  0x0000ffff
5676 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT         0x0
5677 
5678 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_MISC ////
5679 
5680 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_ADDR(x)                 (x+0x00000500)
5681 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_PHYS(x)                 (x+0x00000500)
5682 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_RMSK                    0x03ffffff
5683 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SHFT                             0
5684 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_IN(x)                   \
5685 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_RMSK)
5686 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_INM(x, mask)            \
5687 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_ADDR(x), mask)
5688 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_OUT(x, val)             \
5689 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_ADDR(x), val)
5690 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_OUTM(x, mask, val)      \
5691 	do {\
5692 		HWIO_INTLOCK(); \
5693 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_IN(x)); \
5694 		HWIO_INTFREE();\
5695 	} while (0)
5696 
5697 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_LOOP_CNT_BMSK           0x03c00000
5698 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_LOOP_CNT_SHFT                 0x16
5699 
5700 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SPARE_CONTROL_BMSK      0x003fc000
5701 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SPARE_CONTROL_SHFT             0xe
5702 
5703 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_SM_STATE2_BMSK     0x00003000
5704 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_SM_STATE2_SHFT            0xc
5705 
5706 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_SM_STATE1_BMSK     0x00000f00
5707 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_SM_STATE1_SHFT            0x8
5708 
5709 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_IS_IDLE_BMSK       0x00000080
5710 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_IS_IDLE_SHFT              0x7
5711 
5712 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_ENABLE_BMSK        0x00000040
5713 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SRNG_ENABLE_SHFT               0x6
5714 
5715 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK  0x00000020
5716 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT         0x5
5717 
5718 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK   0x00000010
5719 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT          0x4
5720 
5721 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_MSI_SWAP_BIT_BMSK       0x00000008
5722 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_MSI_SWAP_BIT_SHFT              0x3
5723 
5724 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SECURITY_BIT_BMSK       0x00000004
5725 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_SECURITY_BIT_SHFT              0x2
5726 
5727 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK    0x00000002
5728 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT           0x1
5729 
5730 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_RING_ID_DISABLE_BMSK    0x00000001
5731 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_MISC_RING_ID_DISABLE_SHFT           0x0
5732 
5733 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB ////
5734 
5735 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_ADDR(x)          (x+0x00000504)
5736 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_PHYS(x)          (x+0x00000504)
5737 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_RMSK             0xffffffff
5738 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_SHFT                      0
5739 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_IN(x)            \
5740 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_RMSK)
5741 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_INM(x, mask)     \
5742 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
5743 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_OUT(x, val)      \
5744 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
5745 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
5746 	do {\
5747 		HWIO_INTLOCK(); \
5748 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_IN(x)); \
5749 		HWIO_INTFREE();\
5750 	} while (0)
5751 
5752 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
5753 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
5754 
5755 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB ////
5756 
5757 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_ADDR(x)          (x+0x00000508)
5758 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_PHYS(x)          (x+0x00000508)
5759 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_RMSK             0x000000ff
5760 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_SHFT                      0
5761 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_IN(x)            \
5762 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_RMSK)
5763 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_INM(x, mask)     \
5764 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
5765 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_OUT(x, val)      \
5766 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
5767 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
5768 	do {\
5769 		HWIO_INTLOCK(); \
5770 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_IN(x)); \
5771 		HWIO_INTFREE();\
5772 	} while (0)
5773 
5774 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
5775 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
5776 
5777 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP ////
5778 
5779 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)   (x+0x00000514)
5780 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)   (x+0x00000514)
5781 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_RMSK      0xffffffff
5782 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_SHFT               0
5783 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_IN(x)     \
5784 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_RMSK)
5785 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask) \
5786 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
5787 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val) \
5788 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
5789 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
5790 	do {\
5791 		HWIO_INTLOCK(); \
5792 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
5793 		HWIO_INTFREE();\
5794 	} while (0)
5795 
5796 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
5797 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
5798 
5799 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
5800 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
5801 
5802 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
5803 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
5804 
5805 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS ////
5806 
5807 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)  (x+0x00000518)
5808 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)  (x+0x00000518)
5809 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_RMSK     0xffffffff
5810 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_SHFT              0
5811 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_IN(x)    \
5812 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_RMSK)
5813 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
5814 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
5815 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val) \
5816 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
5817 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
5818 	do {\
5819 		HWIO_INTLOCK(); \
5820 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
5821 		HWIO_INTFREE();\
5822 	} while (0)
5823 
5824 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
5825 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
5826 
5827 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
5828 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
5829 
5830 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
5831 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
5832 
5833 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER ////
5834 
5835 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x0000051c)
5836 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x0000051c)
5837 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_RMSK   0x000003ff
5838 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_SHFT            0
5839 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)  \
5840 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
5841 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
5842 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
5843 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
5844 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
5845 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
5846 	do {\
5847 		HWIO_INTLOCK(); \
5848 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
5849 		HWIO_INTFREE();\
5850 	} while (0)
5851 
5852 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
5853 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
5854 
5855 //// Register WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET ////
5856 
5857 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)      (x+0x00000544)
5858 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)      (x+0x00000544)
5859 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_RMSK         0x0000ffff
5860 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_SHFT                  0
5861 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_IN(x)        \
5862 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_RMSK)
5863 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask) \
5864 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
5865 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)  \
5866 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
5867 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
5868 	do {\
5869 		HWIO_INTLOCK(); \
5870 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
5871 		HWIO_INTFREE();\
5872 	} while (0)
5873 
5874 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
5875 #define HWIO_WBM_R0_WBM2RXDMA1_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
5876 
5877 //// Register WBM_R0_WBM2TQM_LINK_RING_BASE_LSB ////
5878 
5879 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_ADDR(x)               (x+0x000005a0)
5880 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_PHYS(x)               (x+0x000005a0)
5881 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_RMSK                  0xffffffff
5882 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_SHFT                           0
5883 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_IN(x)                 \
5884 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_RMSK)
5885 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_INM(x, mask)          \
5886 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_ADDR(x), mask)
5887 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_OUT(x, val)           \
5888 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_ADDR(x), val)
5889 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_OUTM(x, mask, val)    \
5890 	do {\
5891 		HWIO_INTLOCK(); \
5892 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_IN(x)); \
5893 		HWIO_INTFREE();\
5894 	} while (0)
5895 
5896 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
5897 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
5898 
5899 //// Register WBM_R0_WBM2TQM_LINK_RING_BASE_MSB ////
5900 
5901 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_ADDR(x)               (x+0x000005a4)
5902 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_PHYS(x)               (x+0x000005a4)
5903 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RMSK                  0x00ffffff
5904 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_SHFT                           0
5905 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_IN(x)                 \
5906 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RMSK)
5907 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_INM(x, mask)          \
5908 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_ADDR(x), mask)
5909 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_OUT(x, val)           \
5910 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_ADDR(x), val)
5911 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_OUTM(x, mask, val)    \
5912 	do {\
5913 		HWIO_INTLOCK(); \
5914 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_IN(x)); \
5915 		HWIO_INTFREE();\
5916 	} while (0)
5917 
5918 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RING_SIZE_BMSK        0x00ffff00
5919 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RING_SIZE_SHFT               0x8
5920 
5921 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
5922 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
5923 
5924 //// Register WBM_R0_WBM2TQM_LINK_RING_ID ////
5925 
5926 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ADDR(x)                     (x+0x000005a8)
5927 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_PHYS(x)                     (x+0x000005a8)
5928 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_RMSK                        0x0000ffff
5929 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_SHFT                                 0
5930 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_IN(x)                       \
5931 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_RMSK)
5932 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_INM(x, mask)                \
5933 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ADDR(x), mask)
5934 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_OUT(x, val)                 \
5935 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ADDR(x), val)
5936 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_OUTM(x, mask, val)          \
5937 	do {\
5938 		HWIO_INTLOCK(); \
5939 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_IN(x)); \
5940 		HWIO_INTFREE();\
5941 	} while (0)
5942 
5943 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_RING_ID_BMSK                0x0000ff00
5944 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_RING_ID_SHFT                       0x8
5945 
5946 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ENTRY_SIZE_BMSK             0x000000ff
5947 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_ID_ENTRY_SIZE_SHFT                    0x0
5948 
5949 //// Register WBM_R0_WBM2TQM_LINK_RING_STATUS ////
5950 
5951 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_ADDR(x)                 (x+0x000005ac)
5952 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_PHYS(x)                 (x+0x000005ac)
5953 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_RMSK                    0xffffffff
5954 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_SHFT                             0
5955 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_IN(x)                   \
5956 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_RMSK)
5957 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_INM(x, mask)            \
5958 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_ADDR(x), mask)
5959 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_OUT(x, val)             \
5960 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_ADDR(x), val)
5961 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_OUTM(x, mask, val)      \
5962 	do {\
5963 		HWIO_INTLOCK(); \
5964 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_IN(x)); \
5965 		HWIO_INTFREE();\
5966 	} while (0)
5967 
5968 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK    0xffff0000
5969 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT          0x10
5970 
5971 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK    0x0000ffff
5972 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT           0x0
5973 
5974 //// Register WBM_R0_WBM2TQM_LINK_RING_MISC ////
5975 
5976 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_ADDR(x)                   (x+0x000005b0)
5977 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_PHYS(x)                   (x+0x000005b0)
5978 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_RMSK                      0x03ffffff
5979 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SHFT                               0
5980 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_IN(x)                     \
5981 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_RMSK)
5982 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_INM(x, mask)              \
5983 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_ADDR(x), mask)
5984 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_OUT(x, val)               \
5985 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_ADDR(x), val)
5986 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_OUTM(x, mask, val)        \
5987 	do {\
5988 		HWIO_INTLOCK(); \
5989 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_IN(x)); \
5990 		HWIO_INTFREE();\
5991 	} while (0)
5992 
5993 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_LOOP_CNT_BMSK             0x03c00000
5994 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_LOOP_CNT_SHFT                   0x16
5995 
5996 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SPARE_CONTROL_BMSK        0x003fc000
5997 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SPARE_CONTROL_SHFT               0xe
5998 
5999 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_SM_STATE2_BMSK       0x00003000
6000 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_SM_STATE2_SHFT              0xc
6001 
6002 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_SM_STATE1_BMSK       0x00000f00
6003 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_SM_STATE1_SHFT              0x8
6004 
6005 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_IS_IDLE_BMSK         0x00000080
6006 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_IS_IDLE_SHFT                0x7
6007 
6008 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_ENABLE_BMSK          0x00000040
6009 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SRNG_ENABLE_SHFT                 0x6
6010 
6011 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK    0x00000020
6012 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT           0x5
6013 
6014 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK     0x00000010
6015 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT            0x4
6016 
6017 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_MSI_SWAP_BIT_BMSK         0x00000008
6018 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_MSI_SWAP_BIT_SHFT                0x3
6019 
6020 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SECURITY_BIT_BMSK         0x00000004
6021 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_SECURITY_BIT_SHFT                0x2
6022 
6023 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK      0x00000002
6024 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT             0x1
6025 
6026 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_RING_ID_DISABLE_BMSK      0x00000001
6027 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_MISC_RING_ID_DISABLE_SHFT             0x0
6028 
6029 //// Register WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB ////
6030 
6031 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_ADDR(x)            (x+0x000005b4)
6032 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_PHYS(x)            (x+0x000005b4)
6033 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_RMSK               0xffffffff
6034 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_SHFT                        0
6035 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_IN(x)              \
6036 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_RMSK)
6037 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_INM(x, mask)       \
6038 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
6039 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_OUT(x, val)        \
6040 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
6041 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
6042 	do {\
6043 		HWIO_INTLOCK(); \
6044 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_IN(x)); \
6045 		HWIO_INTFREE();\
6046 	} while (0)
6047 
6048 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
6049 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
6050 
6051 //// Register WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB ////
6052 
6053 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_ADDR(x)            (x+0x000005b8)
6054 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_PHYS(x)            (x+0x000005b8)
6055 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_RMSK               0x000000ff
6056 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_SHFT                        0
6057 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_IN(x)              \
6058 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_RMSK)
6059 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_INM(x, mask)       \
6060 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
6061 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_OUT(x, val)        \
6062 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
6063 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
6064 	do {\
6065 		HWIO_INTLOCK(); \
6066 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_IN(x)); \
6067 		HWIO_INTFREE();\
6068 	} while (0)
6069 
6070 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
6071 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
6072 
6073 //// Register WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP ////
6074 
6075 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)     (x+0x000005c4)
6076 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)     (x+0x000005c4)
6077 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_RMSK        0xffffffff
6078 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_SHFT                 0
6079 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_IN(x)       \
6080 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_RMSK)
6081 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
6082 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
6083 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val) \
6084 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
6085 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
6086 	do {\
6087 		HWIO_INTLOCK(); \
6088 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
6089 		HWIO_INTFREE();\
6090 	} while (0)
6091 
6092 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
6093 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
6094 
6095 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
6096 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
6097 
6098 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
6099 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
6100 
6101 //// Register WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS ////
6102 
6103 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_ADDR(x)    (x+0x000005c8)
6104 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_PHYS(x)    (x+0x000005c8)
6105 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_RMSK       0xffffffff
6106 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_SHFT                0
6107 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_IN(x)      \
6108 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_RMSK)
6109 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
6110 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
6111 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
6112 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
6113 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
6114 	do {\
6115 		HWIO_INTLOCK(); \
6116 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
6117 		HWIO_INTFREE();\
6118 	} while (0)
6119 
6120 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
6121 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
6122 
6123 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
6124 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
6125 
6126 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
6127 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
6128 
6129 //// Register WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER ////
6130 
6131 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x)  (x+0x000005cc)
6132 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x)  (x+0x000005cc)
6133 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_RMSK     0x000003ff
6134 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_SHFT              0
6135 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)    \
6136 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
6137 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
6138 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
6139 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
6140 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
6141 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
6142 	do {\
6143 		HWIO_INTLOCK(); \
6144 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
6145 		HWIO_INTFREE();\
6146 	} while (0)
6147 
6148 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
6149 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
6150 
6151 //// Register WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET ////
6152 
6153 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)        (x+0x000005f4)
6154 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)        (x+0x000005f4)
6155 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_RMSK           0x0000ffff
6156 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_SHFT                    0
6157 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_IN(x)          \
6158 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_RMSK)
6159 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask)   \
6160 	in_dword_masked ( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
6161 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val)    \
6162 	out_dword( HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
6163 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
6164 	do {\
6165 		HWIO_INTLOCK(); \
6166 		out_dword_masked_ns(HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
6167 		HWIO_INTFREE();\
6168 	} while (0)
6169 
6170 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
6171 #define HWIO_WBM_R0_WBM2TQM_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
6172 
6173 //// Register WBM_R0_WBM2REO_LINK_RING_BASE_LSB ////
6174 
6175 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_ADDR(x)               (x+0x000005f8)
6176 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_PHYS(x)               (x+0x000005f8)
6177 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_RMSK                  0xffffffff
6178 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_SHFT                           0
6179 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_IN(x)                 \
6180 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_RMSK)
6181 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_INM(x, mask)          \
6182 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_ADDR(x), mask)
6183 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_OUT(x, val)           \
6184 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_ADDR(x), val)
6185 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_OUTM(x, mask, val)    \
6186 	do {\
6187 		HWIO_INTLOCK(); \
6188 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_IN(x)); \
6189 		HWIO_INTFREE();\
6190 	} while (0)
6191 
6192 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
6193 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
6194 
6195 //// Register WBM_R0_WBM2REO_LINK_RING_BASE_MSB ////
6196 
6197 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_ADDR(x)               (x+0x000005fc)
6198 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_PHYS(x)               (x+0x000005fc)
6199 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RMSK                  0x00ffffff
6200 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_SHFT                           0
6201 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_IN(x)                 \
6202 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RMSK)
6203 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_INM(x, mask)          \
6204 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_ADDR(x), mask)
6205 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_OUT(x, val)           \
6206 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_ADDR(x), val)
6207 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_OUTM(x, mask, val)    \
6208 	do {\
6209 		HWIO_INTLOCK(); \
6210 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_IN(x)); \
6211 		HWIO_INTFREE();\
6212 	} while (0)
6213 
6214 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RING_SIZE_BMSK        0x00ffff00
6215 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RING_SIZE_SHFT               0x8
6216 
6217 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
6218 #define HWIO_WBM_R0_WBM2REO_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
6219 
6220 //// Register WBM_R0_WBM2REO_LINK_RING_ID ////
6221 
6222 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ADDR(x)                     (x+0x00000600)
6223 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_PHYS(x)                     (x+0x00000600)
6224 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_RMSK                        0x0000ffff
6225 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_SHFT                                 0
6226 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_IN(x)                       \
6227 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_ID_RMSK)
6228 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_INM(x, mask)                \
6229 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ADDR(x), mask)
6230 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_OUT(x, val)                 \
6231 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ADDR(x), val)
6232 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_OUTM(x, mask, val)          \
6233 	do {\
6234 		HWIO_INTLOCK(); \
6235 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_ID_IN(x)); \
6236 		HWIO_INTFREE();\
6237 	} while (0)
6238 
6239 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_RING_ID_BMSK                0x0000ff00
6240 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_RING_ID_SHFT                       0x8
6241 
6242 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ENTRY_SIZE_BMSK             0x000000ff
6243 #define HWIO_WBM_R0_WBM2REO_LINK_RING_ID_ENTRY_SIZE_SHFT                    0x0
6244 
6245 //// Register WBM_R0_WBM2REO_LINK_RING_STATUS ////
6246 
6247 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_ADDR(x)                 (x+0x00000604)
6248 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_PHYS(x)                 (x+0x00000604)
6249 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_RMSK                    0xffffffff
6250 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_SHFT                             0
6251 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_IN(x)                   \
6252 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_RMSK)
6253 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_INM(x, mask)            \
6254 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_ADDR(x), mask)
6255 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_OUT(x, val)             \
6256 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_ADDR(x), val)
6257 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_OUTM(x, mask, val)      \
6258 	do {\
6259 		HWIO_INTLOCK(); \
6260 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_IN(x)); \
6261 		HWIO_INTFREE();\
6262 	} while (0)
6263 
6264 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK    0xffff0000
6265 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT          0x10
6266 
6267 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK    0x0000ffff
6268 #define HWIO_WBM_R0_WBM2REO_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT           0x0
6269 
6270 //// Register WBM_R0_WBM2REO_LINK_RING_MISC ////
6271 
6272 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_ADDR(x)                   (x+0x00000608)
6273 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_PHYS(x)                   (x+0x00000608)
6274 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_RMSK                      0x03ffffff
6275 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SHFT                               0
6276 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_IN(x)                     \
6277 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_RMSK)
6278 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_INM(x, mask)              \
6279 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_ADDR(x), mask)
6280 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_OUT(x, val)               \
6281 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_ADDR(x), val)
6282 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_OUTM(x, mask, val)        \
6283 	do {\
6284 		HWIO_INTLOCK(); \
6285 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_IN(x)); \
6286 		HWIO_INTFREE();\
6287 	} while (0)
6288 
6289 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_LOOP_CNT_BMSK             0x03c00000
6290 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_LOOP_CNT_SHFT                   0x16
6291 
6292 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SPARE_CONTROL_BMSK        0x003fc000
6293 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SPARE_CONTROL_SHFT               0xe
6294 
6295 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_SM_STATE2_BMSK       0x00003000
6296 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_SM_STATE2_SHFT              0xc
6297 
6298 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_SM_STATE1_BMSK       0x00000f00
6299 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_SM_STATE1_SHFT              0x8
6300 
6301 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_IS_IDLE_BMSK         0x00000080
6302 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_IS_IDLE_SHFT                0x7
6303 
6304 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_ENABLE_BMSK          0x00000040
6305 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SRNG_ENABLE_SHFT                 0x6
6306 
6307 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK    0x00000020
6308 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT           0x5
6309 
6310 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK     0x00000010
6311 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT            0x4
6312 
6313 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_MSI_SWAP_BIT_BMSK         0x00000008
6314 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_MSI_SWAP_BIT_SHFT                0x3
6315 
6316 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SECURITY_BIT_BMSK         0x00000004
6317 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_SECURITY_BIT_SHFT                0x2
6318 
6319 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK      0x00000002
6320 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT             0x1
6321 
6322 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_RING_ID_DISABLE_BMSK      0x00000001
6323 #define HWIO_WBM_R0_WBM2REO_LINK_RING_MISC_RING_ID_DISABLE_SHFT             0x0
6324 
6325 //// Register WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB ////
6326 
6327 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_ADDR(x)            (x+0x0000060c)
6328 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_PHYS(x)            (x+0x0000060c)
6329 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_RMSK               0xffffffff
6330 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_SHFT                        0
6331 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_IN(x)              \
6332 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_RMSK)
6333 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_INM(x, mask)       \
6334 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
6335 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_OUT(x, val)        \
6336 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
6337 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
6338 	do {\
6339 		HWIO_INTLOCK(); \
6340 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_IN(x)); \
6341 		HWIO_INTFREE();\
6342 	} while (0)
6343 
6344 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
6345 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
6346 
6347 //// Register WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB ////
6348 
6349 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_ADDR(x)            (x+0x00000610)
6350 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_PHYS(x)            (x+0x00000610)
6351 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_RMSK               0x000000ff
6352 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_SHFT                        0
6353 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_IN(x)              \
6354 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_RMSK)
6355 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_INM(x, mask)       \
6356 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
6357 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_OUT(x, val)        \
6358 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
6359 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
6360 	do {\
6361 		HWIO_INTLOCK(); \
6362 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_IN(x)); \
6363 		HWIO_INTFREE();\
6364 	} while (0)
6365 
6366 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
6367 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
6368 
6369 //// Register WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP ////
6370 
6371 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)     (x+0x0000061c)
6372 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)     (x+0x0000061c)
6373 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_RMSK        0xffffffff
6374 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_SHFT                 0
6375 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_IN(x)       \
6376 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_RMSK)
6377 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
6378 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
6379 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val) \
6380 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
6381 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
6382 	do {\
6383 		HWIO_INTLOCK(); \
6384 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
6385 		HWIO_INTFREE();\
6386 	} while (0)
6387 
6388 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
6389 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
6390 
6391 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
6392 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
6393 
6394 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
6395 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
6396 
6397 //// Register WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS ////
6398 
6399 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_ADDR(x)    (x+0x00000620)
6400 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_PHYS(x)    (x+0x00000620)
6401 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_RMSK       0xffffffff
6402 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_SHFT                0
6403 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_IN(x)      \
6404 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_RMSK)
6405 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
6406 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
6407 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
6408 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
6409 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
6410 	do {\
6411 		HWIO_INTLOCK(); \
6412 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
6413 		HWIO_INTFREE();\
6414 	} while (0)
6415 
6416 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
6417 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
6418 
6419 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
6420 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
6421 
6422 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
6423 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
6424 
6425 //// Register WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER ////
6426 
6427 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x)  (x+0x00000624)
6428 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x)  (x+0x00000624)
6429 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_RMSK     0x000003ff
6430 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_SHFT              0
6431 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)    \
6432 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
6433 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
6434 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
6435 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
6436 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
6437 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
6438 	do {\
6439 		HWIO_INTLOCK(); \
6440 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
6441 		HWIO_INTFREE();\
6442 	} while (0)
6443 
6444 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
6445 #define HWIO_WBM_R0_WBM2REO_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
6446 
6447 //// Register WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET ////
6448 
6449 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)        (x+0x0000064c)
6450 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)        (x+0x0000064c)
6451 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_RMSK           0x0000ffff
6452 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_SHFT                    0
6453 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_IN(x)          \
6454 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_RMSK)
6455 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask)   \
6456 	in_dword_masked ( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
6457 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val)    \
6458 	out_dword( HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
6459 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
6460 	do {\
6461 		HWIO_INTLOCK(); \
6462 		out_dword_masked_ns(HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
6463 		HWIO_INTFREE();\
6464 	} while (0)
6465 
6466 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
6467 #define HWIO_WBM_R0_WBM2REO_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
6468 
6469 //// Register WBM_R0_WBM2SW_LINK_RING_BASE_LSB ////
6470 
6471 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_ADDR(x)                (x+0x00000650)
6472 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_PHYS(x)                (x+0x00000650)
6473 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_RMSK                   0xffffffff
6474 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_SHFT                            0
6475 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_IN(x)                  \
6476 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_RMSK)
6477 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_INM(x, mask)           \
6478 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_ADDR(x), mask)
6479 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_OUT(x, val)            \
6480 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_ADDR(x), val)
6481 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_OUTM(x, mask, val)     \
6482 	do {\
6483 		HWIO_INTLOCK(); \
6484 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_IN(x)); \
6485 		HWIO_INTFREE();\
6486 	} while (0)
6487 
6488 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
6489 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
6490 
6491 //// Register WBM_R0_WBM2SW_LINK_RING_BASE_MSB ////
6492 
6493 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_ADDR(x)                (x+0x00000654)
6494 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_PHYS(x)                (x+0x00000654)
6495 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RMSK                   0x00ffffff
6496 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_SHFT                            0
6497 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_IN(x)                  \
6498 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RMSK)
6499 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_INM(x, mask)           \
6500 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_ADDR(x), mask)
6501 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_OUT(x, val)            \
6502 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_ADDR(x), val)
6503 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_OUTM(x, mask, val)     \
6504 	do {\
6505 		HWIO_INTLOCK(); \
6506 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_IN(x)); \
6507 		HWIO_INTFREE();\
6508 	} while (0)
6509 
6510 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
6511 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RING_SIZE_SHFT                0x8
6512 
6513 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
6514 #define HWIO_WBM_R0_WBM2SW_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
6515 
6516 //// Register WBM_R0_WBM2SW_LINK_RING_ID ////
6517 
6518 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ADDR(x)                      (x+0x00000658)
6519 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_PHYS(x)                      (x+0x00000658)
6520 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_RMSK                         0x0000ffff
6521 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_SHFT                                  0
6522 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_IN(x)                        \
6523 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_ID_RMSK)
6524 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_INM(x, mask)                 \
6525 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ADDR(x), mask)
6526 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_OUT(x, val)                  \
6527 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ADDR(x), val)
6528 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_OUTM(x, mask, val)           \
6529 	do {\
6530 		HWIO_INTLOCK(); \
6531 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_ID_IN(x)); \
6532 		HWIO_INTFREE();\
6533 	} while (0)
6534 
6535 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_RING_ID_BMSK                 0x0000ff00
6536 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_RING_ID_SHFT                        0x8
6537 
6538 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
6539 #define HWIO_WBM_R0_WBM2SW_LINK_RING_ID_ENTRY_SIZE_SHFT                     0x0
6540 
6541 //// Register WBM_R0_WBM2SW_LINK_RING_STATUS ////
6542 
6543 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_ADDR(x)                  (x+0x0000065c)
6544 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_PHYS(x)                  (x+0x0000065c)
6545 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_RMSK                     0xffffffff
6546 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_SHFT                              0
6547 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_IN(x)                    \
6548 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_RMSK)
6549 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_INM(x, mask)             \
6550 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_ADDR(x), mask)
6551 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_OUT(x, val)              \
6552 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_ADDR(x), val)
6553 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_OUTM(x, mask, val)       \
6554 	do {\
6555 		HWIO_INTLOCK(); \
6556 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_IN(x)); \
6557 		HWIO_INTFREE();\
6558 	} while (0)
6559 
6560 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
6561 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
6562 
6563 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
6564 #define HWIO_WBM_R0_WBM2SW_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
6565 
6566 //// Register WBM_R0_WBM2SW_LINK_RING_MISC ////
6567 
6568 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_ADDR(x)                    (x+0x00000660)
6569 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_PHYS(x)                    (x+0x00000660)
6570 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_RMSK                       0x03ffffff
6571 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SHFT                                0
6572 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_IN(x)                      \
6573 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_RMSK)
6574 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_INM(x, mask)               \
6575 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_ADDR(x), mask)
6576 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_OUT(x, val)                \
6577 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_ADDR(x), val)
6578 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_OUTM(x, mask, val)         \
6579 	do {\
6580 		HWIO_INTLOCK(); \
6581 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_IN(x)); \
6582 		HWIO_INTFREE();\
6583 	} while (0)
6584 
6585 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_LOOP_CNT_BMSK              0x03c00000
6586 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_LOOP_CNT_SHFT                    0x16
6587 
6588 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
6589 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SPARE_CONTROL_SHFT                0xe
6590 
6591 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
6592 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
6593 
6594 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
6595 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
6596 
6597 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
6598 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
6599 
6600 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
6601 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SRNG_ENABLE_SHFT                  0x6
6602 
6603 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
6604 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
6605 
6606 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
6607 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
6608 
6609 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
6610 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
6611 
6612 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SECURITY_BIT_BMSK          0x00000004
6613 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_SECURITY_BIT_SHFT                 0x2
6614 
6615 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
6616 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
6617 
6618 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
6619 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MISC_RING_ID_DISABLE_SHFT              0x0
6620 
6621 //// Register WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB ////
6622 
6623 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_ADDR(x)             (x+0x00000664)
6624 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_PHYS(x)             (x+0x00000664)
6625 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_RMSK                0xffffffff
6626 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_SHFT                         0
6627 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_IN(x)               \
6628 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_RMSK)
6629 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_INM(x, mask)        \
6630 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
6631 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_OUT(x, val)         \
6632 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
6633 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val)  \
6634 	do {\
6635 		HWIO_INTLOCK(); \
6636 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_IN(x)); \
6637 		HWIO_INTFREE();\
6638 	} while (0)
6639 
6640 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
6641 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
6642 
6643 //// Register WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB ////
6644 
6645 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_ADDR(x)             (x+0x00000668)
6646 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_PHYS(x)             (x+0x00000668)
6647 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_RMSK                0x000000ff
6648 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_SHFT                         0
6649 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_IN(x)               \
6650 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_RMSK)
6651 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_INM(x, mask)        \
6652 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
6653 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_OUT(x, val)         \
6654 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
6655 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val)  \
6656 	do {\
6657 		HWIO_INTLOCK(); \
6658 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_IN(x)); \
6659 		HWIO_INTFREE();\
6660 	} while (0)
6661 
6662 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
6663 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
6664 
6665 //// Register WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP ////
6666 
6667 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)      (x+0x00000674)
6668 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)      (x+0x00000674)
6669 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_RMSK         0xffffffff
6670 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_SHFT                  0
6671 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_IN(x)        \
6672 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_RMSK)
6673 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
6674 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
6675 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val)  \
6676 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
6677 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
6678 	do {\
6679 		HWIO_INTLOCK(); \
6680 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
6681 		HWIO_INTFREE();\
6682 	} while (0)
6683 
6684 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
6685 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
6686 
6687 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
6688 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
6689 
6690 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
6691 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
6692 
6693 //// Register WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS ////
6694 
6695 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x)     (x+0x00000678)
6696 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_PHYS(x)     (x+0x00000678)
6697 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_RMSK        0xffffffff
6698 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_SHFT                 0
6699 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_IN(x)       \
6700 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_RMSK)
6701 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
6702 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
6703 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
6704 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
6705 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
6706 	do {\
6707 		HWIO_INTLOCK(); \
6708 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
6709 		HWIO_INTFREE();\
6710 	} while (0)
6711 
6712 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
6713 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
6714 
6715 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
6716 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
6717 
6718 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
6719 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
6720 
6721 //// Register WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER ////
6722 
6723 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x)   (x+0x0000067c)
6724 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x)   (x+0x0000067c)
6725 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_RMSK      0x000003ff
6726 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_SHFT               0
6727 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)     \
6728 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
6729 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
6730 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
6731 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
6732 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
6733 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
6734 	do {\
6735 		HWIO_INTLOCK(); \
6736 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
6737 		HWIO_INTFREE();\
6738 	} while (0)
6739 
6740 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
6741 #define HWIO_WBM_R0_WBM2SW_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
6742 
6743 //// Register WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB ////
6744 
6745 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR(x)           (x+0x00000698)
6746 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_PHYS(x)           (x+0x00000698)
6747 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_RMSK              0xffffffff
6748 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_SHFT                       0
6749 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_IN(x)             \
6750 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_RMSK)
6751 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_INM(x, mask)      \
6752 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR(x), mask)
6753 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_OUT(x, val)       \
6754 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR(x), val)
6755 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
6756 	do {\
6757 		HWIO_INTLOCK(); \
6758 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_IN(x)); \
6759 		HWIO_INTFREE();\
6760 	} while (0)
6761 
6762 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR_BMSK         0xffffffff
6763 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_LSB_ADDR_SHFT                0x0
6764 
6765 //// Register WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB ////
6766 
6767 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR(x)           (x+0x0000069c)
6768 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_PHYS(x)           (x+0x0000069c)
6769 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_RMSK              0x000001ff
6770 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_SHFT                       0
6771 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_IN(x)             \
6772 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_RMSK)
6773 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_INM(x, mask)      \
6774 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR(x), mask)
6775 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_OUT(x, val)       \
6776 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR(x), val)
6777 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
6778 	do {\
6779 		HWIO_INTLOCK(); \
6780 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_IN(x)); \
6781 		HWIO_INTFREE();\
6782 	} while (0)
6783 
6784 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK  0x00000100
6785 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT         0x8
6786 
6787 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR_BMSK         0x000000ff
6788 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_BASE_MSB_ADDR_SHFT                0x0
6789 
6790 //// Register WBM_R0_WBM2SW_LINK_RING_MSI1_DATA ////
6791 
6792 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_ADDR(x)               (x+0x000006a0)
6793 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_PHYS(x)               (x+0x000006a0)
6794 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_RMSK                  0xffffffff
6795 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_SHFT                           0
6796 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_IN(x)                 \
6797 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_RMSK)
6798 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_INM(x, mask)          \
6799 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_ADDR(x), mask)
6800 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_OUT(x, val)           \
6801 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_ADDR(x), val)
6802 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_OUTM(x, mask, val)    \
6803 	do {\
6804 		HWIO_INTLOCK(); \
6805 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_IN(x)); \
6806 		HWIO_INTFREE();\
6807 	} while (0)
6808 
6809 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_VALUE_BMSK            0xffffffff
6810 #define HWIO_WBM_R0_WBM2SW_LINK_RING_MSI1_DATA_VALUE_SHFT                   0x0
6811 
6812 //// Register WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET ////
6813 
6814 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x000006a4)
6815 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x000006a4)
6816 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
6817 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_SHFT                     0
6818 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_IN(x)           \
6819 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_RMSK)
6820 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
6821 	in_dword_masked ( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
6822 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
6823 	out_dword( HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
6824 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
6825 	do {\
6826 		HWIO_INTLOCK(); \
6827 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
6828 		HWIO_INTFREE();\
6829 	} while (0)
6830 
6831 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
6832 #define HWIO_WBM_R0_WBM2SW_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
6833 
6834 //// Register WBM_R0_WBM2FW_LINK_RING_BASE_LSB ////
6835 
6836 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_ADDR(x)                (x+0x000006a8)
6837 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_PHYS(x)                (x+0x000006a8)
6838 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_RMSK                   0xffffffff
6839 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_SHFT                            0
6840 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_IN(x)                  \
6841 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_RMSK)
6842 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_INM(x, mask)           \
6843 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_ADDR(x), mask)
6844 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_OUT(x, val)            \
6845 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_ADDR(x), val)
6846 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_OUTM(x, mask, val)     \
6847 	do {\
6848 		HWIO_INTLOCK(); \
6849 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_IN(x)); \
6850 		HWIO_INTFREE();\
6851 	} while (0)
6852 
6853 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
6854 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
6855 
6856 //// Register WBM_R0_WBM2FW_LINK_RING_BASE_MSB ////
6857 
6858 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_ADDR(x)                (x+0x000006ac)
6859 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_PHYS(x)                (x+0x000006ac)
6860 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RMSK                   0x00ffffff
6861 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_SHFT                            0
6862 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_IN(x)                  \
6863 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RMSK)
6864 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_INM(x, mask)           \
6865 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_ADDR(x), mask)
6866 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_OUT(x, val)            \
6867 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_ADDR(x), val)
6868 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_OUTM(x, mask, val)     \
6869 	do {\
6870 		HWIO_INTLOCK(); \
6871 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_IN(x)); \
6872 		HWIO_INTFREE();\
6873 	} while (0)
6874 
6875 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RING_SIZE_BMSK         0x00ffff00
6876 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RING_SIZE_SHFT                0x8
6877 
6878 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
6879 #define HWIO_WBM_R0_WBM2FW_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
6880 
6881 //// Register WBM_R0_WBM2FW_LINK_RING_ID ////
6882 
6883 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ADDR(x)                      (x+0x000006b0)
6884 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_PHYS(x)                      (x+0x000006b0)
6885 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_RMSK                         0x0000ffff
6886 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_SHFT                                  0
6887 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_IN(x)                        \
6888 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_ID_RMSK)
6889 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_INM(x, mask)                 \
6890 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ADDR(x), mask)
6891 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_OUT(x, val)                  \
6892 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ADDR(x), val)
6893 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_OUTM(x, mask, val)           \
6894 	do {\
6895 		HWIO_INTLOCK(); \
6896 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_ID_IN(x)); \
6897 		HWIO_INTFREE();\
6898 	} while (0)
6899 
6900 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_RING_ID_BMSK                 0x0000ff00
6901 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_RING_ID_SHFT                        0x8
6902 
6903 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ENTRY_SIZE_BMSK              0x000000ff
6904 #define HWIO_WBM_R0_WBM2FW_LINK_RING_ID_ENTRY_SIZE_SHFT                     0x0
6905 
6906 //// Register WBM_R0_WBM2FW_LINK_RING_STATUS ////
6907 
6908 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_ADDR(x)                  (x+0x000006b4)
6909 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_PHYS(x)                  (x+0x000006b4)
6910 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_RMSK                     0xffffffff
6911 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_SHFT                              0
6912 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_IN(x)                    \
6913 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_RMSK)
6914 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_INM(x, mask)             \
6915 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_ADDR(x), mask)
6916 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_OUT(x, val)              \
6917 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_ADDR(x), val)
6918 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_OUTM(x, mask, val)       \
6919 	do {\
6920 		HWIO_INTLOCK(); \
6921 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_IN(x)); \
6922 		HWIO_INTFREE();\
6923 	} while (0)
6924 
6925 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK     0xffff0000
6926 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT           0x10
6927 
6928 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK     0x0000ffff
6929 #define HWIO_WBM_R0_WBM2FW_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT            0x0
6930 
6931 //// Register WBM_R0_WBM2FW_LINK_RING_MISC ////
6932 
6933 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_ADDR(x)                    (x+0x000006b8)
6934 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_PHYS(x)                    (x+0x000006b8)
6935 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_RMSK                       0x03ffffff
6936 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SHFT                                0
6937 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_IN(x)                      \
6938 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_RMSK)
6939 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_INM(x, mask)               \
6940 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_ADDR(x), mask)
6941 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_OUT(x, val)                \
6942 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_ADDR(x), val)
6943 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_OUTM(x, mask, val)         \
6944 	do {\
6945 		HWIO_INTLOCK(); \
6946 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_IN(x)); \
6947 		HWIO_INTFREE();\
6948 	} while (0)
6949 
6950 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_LOOP_CNT_BMSK              0x03c00000
6951 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_LOOP_CNT_SHFT                    0x16
6952 
6953 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SPARE_CONTROL_BMSK         0x003fc000
6954 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SPARE_CONTROL_SHFT                0xe
6955 
6956 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_SM_STATE2_BMSK        0x00003000
6957 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_SM_STATE2_SHFT               0xc
6958 
6959 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_SM_STATE1_BMSK        0x00000f00
6960 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_SM_STATE1_SHFT               0x8
6961 
6962 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_IS_IDLE_BMSK          0x00000080
6963 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_IS_IDLE_SHFT                 0x7
6964 
6965 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_ENABLE_BMSK           0x00000040
6966 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SRNG_ENABLE_SHFT                  0x6
6967 
6968 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK     0x00000020
6969 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT            0x5
6970 
6971 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK      0x00000010
6972 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT             0x4
6973 
6974 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_MSI_SWAP_BIT_BMSK          0x00000008
6975 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_MSI_SWAP_BIT_SHFT                 0x3
6976 
6977 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SECURITY_BIT_BMSK          0x00000004
6978 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_SECURITY_BIT_SHFT                 0x2
6979 
6980 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK       0x00000002
6981 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT              0x1
6982 
6983 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_RING_ID_DISABLE_BMSK       0x00000001
6984 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MISC_RING_ID_DISABLE_SHFT              0x0
6985 
6986 //// Register WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB ////
6987 
6988 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_ADDR(x)             (x+0x000006bc)
6989 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_PHYS(x)             (x+0x000006bc)
6990 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_RMSK                0xffffffff
6991 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_SHFT                         0
6992 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_IN(x)               \
6993 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_RMSK)
6994 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_INM(x, mask)        \
6995 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
6996 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_OUT(x, val)         \
6997 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
6998 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val)  \
6999 	do {\
7000 		HWIO_INTLOCK(); \
7001 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_IN(x)); \
7002 		HWIO_INTFREE();\
7003 	} while (0)
7004 
7005 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
7006 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
7007 
7008 //// Register WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB ////
7009 
7010 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_ADDR(x)             (x+0x000006c0)
7011 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_PHYS(x)             (x+0x000006c0)
7012 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_RMSK                0x000000ff
7013 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_SHFT                         0
7014 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_IN(x)               \
7015 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_RMSK)
7016 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_INM(x, mask)        \
7017 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
7018 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_OUT(x, val)         \
7019 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
7020 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val)  \
7021 	do {\
7022 		HWIO_INTLOCK(); \
7023 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_IN(x)); \
7024 		HWIO_INTFREE();\
7025 	} while (0)
7026 
7027 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
7028 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
7029 
7030 //// Register WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP ////
7031 
7032 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)      (x+0x000006cc)
7033 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)      (x+0x000006cc)
7034 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_RMSK         0xffffffff
7035 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_SHFT                  0
7036 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_IN(x)        \
7037 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_RMSK)
7038 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
7039 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
7040 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val)  \
7041 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
7042 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
7043 	do {\
7044 		HWIO_INTLOCK(); \
7045 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
7046 		HWIO_INTFREE();\
7047 	} while (0)
7048 
7049 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
7050 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
7051 
7052 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
7053 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
7054 
7055 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
7056 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
7057 
7058 //// Register WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS ////
7059 
7060 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x)     (x+0x000006d0)
7061 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_PHYS(x)     (x+0x000006d0)
7062 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_RMSK        0xffffffff
7063 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_SHFT                 0
7064 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_IN(x)       \
7065 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_RMSK)
7066 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
7067 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
7068 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
7069 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
7070 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
7071 	do {\
7072 		HWIO_INTLOCK(); \
7073 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
7074 		HWIO_INTFREE();\
7075 	} while (0)
7076 
7077 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
7078 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
7079 
7080 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
7081 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
7082 
7083 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
7084 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
7085 
7086 //// Register WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER ////
7087 
7088 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x)   (x+0x000006d4)
7089 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x)   (x+0x000006d4)
7090 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_RMSK      0x000003ff
7091 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_SHFT               0
7092 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)     \
7093 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
7094 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
7095 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
7096 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
7097 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
7098 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
7099 	do {\
7100 		HWIO_INTLOCK(); \
7101 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
7102 		HWIO_INTFREE();\
7103 	} while (0)
7104 
7105 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
7106 #define HWIO_WBM_R0_WBM2FW_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
7107 
7108 //// Register WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB ////
7109 
7110 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR(x)           (x+0x000006f0)
7111 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_PHYS(x)           (x+0x000006f0)
7112 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_RMSK              0xffffffff
7113 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_SHFT                       0
7114 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_IN(x)             \
7115 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_RMSK)
7116 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_INM(x, mask)      \
7117 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR(x), mask)
7118 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_OUT(x, val)       \
7119 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR(x), val)
7120 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
7121 	do {\
7122 		HWIO_INTLOCK(); \
7123 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_IN(x)); \
7124 		HWIO_INTFREE();\
7125 	} while (0)
7126 
7127 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR_BMSK         0xffffffff
7128 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_LSB_ADDR_SHFT                0x0
7129 
7130 //// Register WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB ////
7131 
7132 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR(x)           (x+0x000006f4)
7133 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_PHYS(x)           (x+0x000006f4)
7134 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_RMSK              0x000001ff
7135 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_SHFT                       0
7136 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_IN(x)             \
7137 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_RMSK)
7138 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_INM(x, mask)      \
7139 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR(x), mask)
7140 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_OUT(x, val)       \
7141 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR(x), val)
7142 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
7143 	do {\
7144 		HWIO_INTLOCK(); \
7145 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_IN(x)); \
7146 		HWIO_INTFREE();\
7147 	} while (0)
7148 
7149 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK  0x00000100
7150 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT         0x8
7151 
7152 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR_BMSK         0x000000ff
7153 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_BASE_MSB_ADDR_SHFT                0x0
7154 
7155 //// Register WBM_R0_WBM2FW_LINK_RING_MSI1_DATA ////
7156 
7157 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_ADDR(x)               (x+0x000006f8)
7158 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_PHYS(x)               (x+0x000006f8)
7159 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_RMSK                  0xffffffff
7160 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_SHFT                           0
7161 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_IN(x)                 \
7162 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_RMSK)
7163 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_INM(x, mask)          \
7164 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_ADDR(x), mask)
7165 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_OUT(x, val)           \
7166 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_ADDR(x), val)
7167 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_OUTM(x, mask, val)    \
7168 	do {\
7169 		HWIO_INTLOCK(); \
7170 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_IN(x)); \
7171 		HWIO_INTFREE();\
7172 	} while (0)
7173 
7174 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_VALUE_BMSK            0xffffffff
7175 #define HWIO_WBM_R0_WBM2FW_LINK_RING_MSI1_DATA_VALUE_SHFT                   0x0
7176 
7177 //// Register WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET ////
7178 
7179 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)         (x+0x000006fc)
7180 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)         (x+0x000006fc)
7181 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_RMSK            0x0000ffff
7182 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_SHFT                     0
7183 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_IN(x)           \
7184 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_RMSK)
7185 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask)    \
7186 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
7187 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val)     \
7188 	out_dword( HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
7189 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
7190 	do {\
7191 		HWIO_INTLOCK(); \
7192 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
7193 		HWIO_INTFREE();\
7194 	} while (0)
7195 
7196 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
7197 #define HWIO_WBM_R0_WBM2FW_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
7198 
7199 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB ////
7200 
7201 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_ADDR(x)            (x+0x00000700)
7202 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_PHYS(x)            (x+0x00000700)
7203 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_RMSK               0xffffffff
7204 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_SHFT                        0
7205 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_IN(x)              \
7206 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_RMSK)
7207 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_INM(x, mask)       \
7208 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_ADDR(x), mask)
7209 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_OUT(x, val)        \
7210 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_ADDR(x), val)
7211 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_OUTM(x, mask, val) \
7212 	do {\
7213 		HWIO_INTLOCK(); \
7214 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_IN(x)); \
7215 		HWIO_INTFREE();\
7216 	} while (0)
7217 
7218 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
7219 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
7220 
7221 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB ////
7222 
7223 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_ADDR(x)            (x+0x00000704)
7224 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_PHYS(x)            (x+0x00000704)
7225 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RMSK               0x00ffffff
7226 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_SHFT                        0
7227 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_IN(x)              \
7228 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RMSK)
7229 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_INM(x, mask)       \
7230 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_ADDR(x), mask)
7231 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_OUT(x, val)        \
7232 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_ADDR(x), val)
7233 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_OUTM(x, mask, val) \
7234 	do {\
7235 		HWIO_INTLOCK(); \
7236 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_IN(x)); \
7237 		HWIO_INTFREE();\
7238 	} while (0)
7239 
7240 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RING_SIZE_BMSK     0x00ffff00
7241 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RING_SIZE_SHFT            0x8
7242 
7243 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
7244 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
7245 
7246 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_ID ////
7247 
7248 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ADDR(x)                  (x+0x00000708)
7249 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_PHYS(x)                  (x+0x00000708)
7250 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_RMSK                     0x0000ffff
7251 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_SHFT                              0
7252 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_IN(x)                    \
7253 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_RMSK)
7254 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_INM(x, mask)             \
7255 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ADDR(x), mask)
7256 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_OUT(x, val)              \
7257 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ADDR(x), val)
7258 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_OUTM(x, mask, val)       \
7259 	do {\
7260 		HWIO_INTLOCK(); \
7261 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_IN(x)); \
7262 		HWIO_INTFREE();\
7263 	} while (0)
7264 
7265 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_RING_ID_BMSK             0x0000ff00
7266 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_RING_ID_SHFT                    0x8
7267 
7268 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
7269 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_ID_ENTRY_SIZE_SHFT                 0x0
7270 
7271 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_STATUS ////
7272 
7273 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_ADDR(x)              (x+0x0000070c)
7274 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_PHYS(x)              (x+0x0000070c)
7275 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_RMSK                 0xffffffff
7276 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_SHFT                          0
7277 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_IN(x)                \
7278 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_RMSK)
7279 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_INM(x, mask)         \
7280 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_ADDR(x), mask)
7281 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_OUT(x, val)          \
7282 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_ADDR(x), val)
7283 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_OUTM(x, mask, val)   \
7284 	do {\
7285 		HWIO_INTLOCK(); \
7286 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_IN(x)); \
7287 		HWIO_INTFREE();\
7288 	} while (0)
7289 
7290 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
7291 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
7292 
7293 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
7294 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
7295 
7296 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_MISC ////
7297 
7298 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_ADDR(x)                (x+0x00000710)
7299 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_PHYS(x)                (x+0x00000710)
7300 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_RMSK                   0x03ffffff
7301 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SHFT                            0
7302 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_IN(x)                  \
7303 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_RMSK)
7304 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_INM(x, mask)           \
7305 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_ADDR(x), mask)
7306 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_OUT(x, val)            \
7307 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_ADDR(x), val)
7308 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_OUTM(x, mask, val)     \
7309 	do {\
7310 		HWIO_INTLOCK(); \
7311 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_IN(x)); \
7312 		HWIO_INTFREE();\
7313 	} while (0)
7314 
7315 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_LOOP_CNT_BMSK          0x03c00000
7316 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_LOOP_CNT_SHFT                0x16
7317 
7318 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
7319 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SPARE_CONTROL_SHFT            0xe
7320 
7321 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
7322 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
7323 
7324 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
7325 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
7326 
7327 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
7328 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
7329 
7330 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
7331 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SRNG_ENABLE_SHFT              0x6
7332 
7333 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
7334 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
7335 
7336 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
7337 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
7338 
7339 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
7340 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
7341 
7342 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SECURITY_BIT_BMSK      0x00000004
7343 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_SECURITY_BIT_SHFT             0x2
7344 
7345 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
7346 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
7347 
7348 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
7349 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_MISC_RING_ID_DISABLE_SHFT          0x0
7350 
7351 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB ////
7352 
7353 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_ADDR(x)         (x+0x00000714)
7354 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_PHYS(x)         (x+0x00000714)
7355 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_RMSK            0xffffffff
7356 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_SHFT                     0
7357 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_IN(x)           \
7358 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_RMSK)
7359 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_INM(x, mask)    \
7360 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
7361 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_OUT(x, val)     \
7362 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
7363 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
7364 	do {\
7365 		HWIO_INTLOCK(); \
7366 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_IN(x)); \
7367 		HWIO_INTFREE();\
7368 	} while (0)
7369 
7370 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
7371 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
7372 
7373 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB ////
7374 
7375 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000718)
7376 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000718)
7377 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_RMSK            0x000000ff
7378 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_SHFT                     0
7379 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_IN(x)           \
7380 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_RMSK)
7381 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_INM(x, mask)    \
7382 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
7383 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_OUT(x, val)     \
7384 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
7385 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
7386 	do {\
7387 		HWIO_INTLOCK(); \
7388 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_IN(x)); \
7389 		HWIO_INTFREE();\
7390 	} while (0)
7391 
7392 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
7393 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
7394 
7395 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP ////
7396 
7397 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x00000724)
7398 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x00000724)
7399 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
7400 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_SHFT              0
7401 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_IN(x)    \
7402 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_RMSK)
7403 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
7404 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
7405 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val) \
7406 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
7407 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
7408 	do {\
7409 		HWIO_INTLOCK(); \
7410 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
7411 		HWIO_INTFREE();\
7412 	} while (0)
7413 
7414 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
7415 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
7416 
7417 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
7418 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
7419 
7420 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
7421 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
7422 
7423 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS ////
7424 
7425 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000728)
7426 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000728)
7427 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
7428 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_SHFT             0
7429 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_IN(x)   \
7430 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_RMSK)
7431 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
7432 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
7433 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
7434 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
7435 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
7436 	do {\
7437 		HWIO_INTLOCK(); \
7438 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
7439 		HWIO_INTFREE();\
7440 	} while (0)
7441 
7442 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
7443 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
7444 
7445 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
7446 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
7447 
7448 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
7449 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
7450 
7451 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER ////
7452 
7453 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x0000072c)
7454 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x0000072c)
7455 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
7456 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_SHFT           0
7457 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_IN(x) \
7458 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
7459 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
7460 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
7461 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
7462 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
7463 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
7464 	do {\
7465 		HWIO_INTLOCK(); \
7466 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
7467 		HWIO_INTFREE();\
7468 	} while (0)
7469 
7470 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
7471 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
7472 
7473 //// Register WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET ////
7474 
7475 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x00000754)
7476 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x00000754)
7477 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
7478 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_SHFT                 0
7479 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_IN(x)       \
7480 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_RMSK)
7481 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask) \
7482 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
7483 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val) \
7484 	out_dword( HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
7485 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
7486 	do {\
7487 		HWIO_INTLOCK(); \
7488 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
7489 		HWIO_INTFREE();\
7490 	} while (0)
7491 
7492 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
7493 #define HWIO_WBM_R0_WBM2RXDMA0_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
7494 
7495 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB ////
7496 
7497 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_ADDR(x)            (x+0x00000758)
7498 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_PHYS(x)            (x+0x00000758)
7499 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_RMSK               0xffffffff
7500 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_SHFT                        0
7501 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_IN(x)              \
7502 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_RMSK)
7503 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_INM(x, mask)       \
7504 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_ADDR(x), mask)
7505 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_OUT(x, val)        \
7506 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_ADDR(x), val)
7507 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_OUTM(x, mask, val) \
7508 	do {\
7509 		HWIO_INTLOCK(); \
7510 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_IN(x)); \
7511 		HWIO_INTFREE();\
7512 	} while (0)
7513 
7514 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
7515 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
7516 
7517 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB ////
7518 
7519 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_ADDR(x)            (x+0x0000075c)
7520 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_PHYS(x)            (x+0x0000075c)
7521 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RMSK               0x00ffffff
7522 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_SHFT                        0
7523 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_IN(x)              \
7524 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RMSK)
7525 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_INM(x, mask)       \
7526 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_ADDR(x), mask)
7527 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_OUT(x, val)        \
7528 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_ADDR(x), val)
7529 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_OUTM(x, mask, val) \
7530 	do {\
7531 		HWIO_INTLOCK(); \
7532 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_IN(x)); \
7533 		HWIO_INTFREE();\
7534 	} while (0)
7535 
7536 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RING_SIZE_BMSK     0x00ffff00
7537 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RING_SIZE_SHFT            0x8
7538 
7539 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
7540 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
7541 
7542 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_ID ////
7543 
7544 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ADDR(x)                  (x+0x00000760)
7545 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_PHYS(x)                  (x+0x00000760)
7546 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_RMSK                     0x0000ffff
7547 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_SHFT                              0
7548 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_IN(x)                    \
7549 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_RMSK)
7550 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_INM(x, mask)             \
7551 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ADDR(x), mask)
7552 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_OUT(x, val)              \
7553 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ADDR(x), val)
7554 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_OUTM(x, mask, val)       \
7555 	do {\
7556 		HWIO_INTLOCK(); \
7557 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_IN(x)); \
7558 		HWIO_INTFREE();\
7559 	} while (0)
7560 
7561 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_RING_ID_BMSK             0x0000ff00
7562 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_RING_ID_SHFT                    0x8
7563 
7564 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
7565 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_ID_ENTRY_SIZE_SHFT                 0x0
7566 
7567 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_STATUS ////
7568 
7569 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_ADDR(x)              (x+0x00000764)
7570 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_PHYS(x)              (x+0x00000764)
7571 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_RMSK                 0xffffffff
7572 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_SHFT                          0
7573 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_IN(x)                \
7574 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_RMSK)
7575 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_INM(x, mask)         \
7576 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_ADDR(x), mask)
7577 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_OUT(x, val)          \
7578 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_ADDR(x), val)
7579 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_OUTM(x, mask, val)   \
7580 	do {\
7581 		HWIO_INTLOCK(); \
7582 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_IN(x)); \
7583 		HWIO_INTFREE();\
7584 	} while (0)
7585 
7586 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
7587 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
7588 
7589 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
7590 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
7591 
7592 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_MISC ////
7593 
7594 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_ADDR(x)                (x+0x00000768)
7595 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_PHYS(x)                (x+0x00000768)
7596 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_RMSK                   0x03ffffff
7597 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SHFT                            0
7598 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_IN(x)                  \
7599 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_RMSK)
7600 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_INM(x, mask)           \
7601 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_ADDR(x), mask)
7602 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_OUT(x, val)            \
7603 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_ADDR(x), val)
7604 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_OUTM(x, mask, val)     \
7605 	do {\
7606 		HWIO_INTLOCK(); \
7607 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_IN(x)); \
7608 		HWIO_INTFREE();\
7609 	} while (0)
7610 
7611 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_LOOP_CNT_BMSK          0x03c00000
7612 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_LOOP_CNT_SHFT                0x16
7613 
7614 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
7615 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SPARE_CONTROL_SHFT            0xe
7616 
7617 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
7618 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
7619 
7620 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
7621 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
7622 
7623 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
7624 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
7625 
7626 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
7627 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SRNG_ENABLE_SHFT              0x6
7628 
7629 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
7630 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
7631 
7632 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
7633 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
7634 
7635 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
7636 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
7637 
7638 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SECURITY_BIT_BMSK      0x00000004
7639 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_SECURITY_BIT_SHFT             0x2
7640 
7641 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
7642 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
7643 
7644 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
7645 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_MISC_RING_ID_DISABLE_SHFT          0x0
7646 
7647 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB ////
7648 
7649 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_ADDR(x)         (x+0x0000076c)
7650 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_PHYS(x)         (x+0x0000076c)
7651 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_RMSK            0xffffffff
7652 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_SHFT                     0
7653 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_IN(x)           \
7654 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_RMSK)
7655 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_INM(x, mask)    \
7656 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
7657 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_OUT(x, val)     \
7658 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
7659 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
7660 	do {\
7661 		HWIO_INTLOCK(); \
7662 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_IN(x)); \
7663 		HWIO_INTFREE();\
7664 	} while (0)
7665 
7666 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
7667 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
7668 
7669 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB ////
7670 
7671 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000770)
7672 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000770)
7673 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_RMSK            0x000000ff
7674 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_SHFT                     0
7675 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_IN(x)           \
7676 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_RMSK)
7677 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_INM(x, mask)    \
7678 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
7679 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_OUT(x, val)     \
7680 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
7681 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
7682 	do {\
7683 		HWIO_INTLOCK(); \
7684 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_IN(x)); \
7685 		HWIO_INTFREE();\
7686 	} while (0)
7687 
7688 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
7689 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
7690 
7691 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP ////
7692 
7693 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x0000077c)
7694 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x0000077c)
7695 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
7696 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_SHFT              0
7697 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_IN(x)    \
7698 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_RMSK)
7699 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
7700 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
7701 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val) \
7702 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
7703 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
7704 	do {\
7705 		HWIO_INTLOCK(); \
7706 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
7707 		HWIO_INTFREE();\
7708 	} while (0)
7709 
7710 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
7711 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
7712 
7713 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
7714 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
7715 
7716 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
7717 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
7718 
7719 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS ////
7720 
7721 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000780)
7722 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000780)
7723 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
7724 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_SHFT             0
7725 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_IN(x)   \
7726 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_RMSK)
7727 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
7728 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
7729 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
7730 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
7731 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
7732 	do {\
7733 		HWIO_INTLOCK(); \
7734 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
7735 		HWIO_INTFREE();\
7736 	} while (0)
7737 
7738 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
7739 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
7740 
7741 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
7742 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
7743 
7744 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
7745 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
7746 
7747 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER ////
7748 
7749 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x00000784)
7750 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x00000784)
7751 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
7752 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_SHFT           0
7753 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_IN(x) \
7754 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
7755 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
7756 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
7757 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
7758 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
7759 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
7760 	do {\
7761 		HWIO_INTLOCK(); \
7762 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
7763 		HWIO_INTFREE();\
7764 	} while (0)
7765 
7766 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
7767 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
7768 
7769 //// Register WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET ////
7770 
7771 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x000007ac)
7772 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x000007ac)
7773 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
7774 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_SHFT                 0
7775 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_IN(x)       \
7776 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_RMSK)
7777 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask) \
7778 	in_dword_masked ( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
7779 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val) \
7780 	out_dword( HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
7781 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
7782 	do {\
7783 		HWIO_INTLOCK(); \
7784 		out_dword_masked_ns(HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
7785 		HWIO_INTFREE();\
7786 	} while (0)
7787 
7788 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
7789 #define HWIO_WBM_R0_WBM2RXDMA1_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
7790 
7791 //// Register WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB ////
7792 
7793 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_ADDR(x)               (x+0x00000808)
7794 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_PHYS(x)               (x+0x00000808)
7795 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_RMSK                  0xffffffff
7796 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_SHFT                           0
7797 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_IN(x)                 \
7798 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_RMSK)
7799 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_INM(x, mask)          \
7800 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_ADDR(x), mask)
7801 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_OUT(x, val)           \
7802 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_ADDR(x), val)
7803 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_OUTM(x, mask, val)    \
7804 	do {\
7805 		HWIO_INTLOCK(); \
7806 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_IN(x)); \
7807 		HWIO_INTFREE();\
7808 	} while (0)
7809 
7810 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
7811 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
7812 
7813 //// Register WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB ////
7814 
7815 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_ADDR(x)               (x+0x0000080c)
7816 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_PHYS(x)               (x+0x0000080c)
7817 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RMSK                  0x00ffffff
7818 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_SHFT                           0
7819 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_IN(x)                 \
7820 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RMSK)
7821 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_INM(x, mask)          \
7822 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_ADDR(x), mask)
7823 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_OUT(x, val)           \
7824 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_ADDR(x), val)
7825 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_OUTM(x, mask, val)    \
7826 	do {\
7827 		HWIO_INTLOCK(); \
7828 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_IN(x)); \
7829 		HWIO_INTFREE();\
7830 	} while (0)
7831 
7832 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RING_SIZE_BMSK        0x00ffff00
7833 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RING_SIZE_SHFT               0x8
7834 
7835 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
7836 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
7837 
7838 //// Register WBM_R0_WBM_IDLE_BUF_RING_ID ////
7839 
7840 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ADDR(x)                     (x+0x00000810)
7841 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_PHYS(x)                     (x+0x00000810)
7842 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_RMSK                        0x0000ffff
7843 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_SHFT                                 0
7844 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_IN(x)                       \
7845 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_RMSK)
7846 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_INM(x, mask)                \
7847 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ADDR(x), mask)
7848 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_OUT(x, val)                 \
7849 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ADDR(x), val)
7850 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_OUTM(x, mask, val)          \
7851 	do {\
7852 		HWIO_INTLOCK(); \
7853 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_IN(x)); \
7854 		HWIO_INTFREE();\
7855 	} while (0)
7856 
7857 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_RING_ID_BMSK                0x0000ff00
7858 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_RING_ID_SHFT                       0x8
7859 
7860 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ENTRY_SIZE_BMSK             0x000000ff
7861 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_ID_ENTRY_SIZE_SHFT                    0x0
7862 
7863 //// Register WBM_R0_WBM_IDLE_BUF_RING_STATUS ////
7864 
7865 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_ADDR(x)                 (x+0x00000814)
7866 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_PHYS(x)                 (x+0x00000814)
7867 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_RMSK                    0xffffffff
7868 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_SHFT                             0
7869 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_IN(x)                   \
7870 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_RMSK)
7871 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_INM(x, mask)            \
7872 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_ADDR(x), mask)
7873 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_OUT(x, val)             \
7874 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_ADDR(x), val)
7875 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_OUTM(x, mask, val)      \
7876 	do {\
7877 		HWIO_INTLOCK(); \
7878 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_IN(x)); \
7879 		HWIO_INTFREE();\
7880 	} while (0)
7881 
7882 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_NUM_AVAIL_WORDS_BMSK    0xffff0000
7883 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_NUM_AVAIL_WORDS_SHFT          0x10
7884 
7885 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_NUM_VALID_WORDS_BMSK    0x0000ffff
7886 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_STATUS_NUM_VALID_WORDS_SHFT           0x0
7887 
7888 //// Register WBM_R0_WBM_IDLE_BUF_RING_MISC ////
7889 
7890 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_ADDR(x)                   (x+0x00000818)
7891 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_PHYS(x)                   (x+0x00000818)
7892 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_RMSK                      0x03ffffff
7893 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SHFT                               0
7894 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_IN(x)                     \
7895 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_RMSK)
7896 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_INM(x, mask)              \
7897 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_ADDR(x), mask)
7898 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_OUT(x, val)               \
7899 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_ADDR(x), val)
7900 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_OUTM(x, mask, val)        \
7901 	do {\
7902 		HWIO_INTLOCK(); \
7903 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_IN(x)); \
7904 		HWIO_INTFREE();\
7905 	} while (0)
7906 
7907 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_LOOP_CNT_BMSK             0x03c00000
7908 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_LOOP_CNT_SHFT                   0x16
7909 
7910 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SPARE_CONTROL_BMSK        0x003fc000
7911 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SPARE_CONTROL_SHFT               0xe
7912 
7913 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_SM_STATE2_BMSK       0x00003000
7914 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_SM_STATE2_SHFT              0xc
7915 
7916 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_SM_STATE1_BMSK       0x00000f00
7917 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_SM_STATE1_SHFT              0x8
7918 
7919 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_IS_IDLE_BMSK         0x00000080
7920 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_IS_IDLE_SHFT                0x7
7921 
7922 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_ENABLE_BMSK          0x00000040
7923 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SRNG_ENABLE_SHFT                 0x6
7924 
7925 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_DATA_TLV_SWAP_BIT_BMSK    0x00000020
7926 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_DATA_TLV_SWAP_BIT_SHFT           0x5
7927 
7928 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_HOST_FW_SWAP_BIT_BMSK     0x00000010
7929 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_HOST_FW_SWAP_BIT_SHFT            0x4
7930 
7931 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_MSI_SWAP_BIT_BMSK         0x00000008
7932 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_MSI_SWAP_BIT_SHFT                0x3
7933 
7934 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SECURITY_BIT_BMSK         0x00000004
7935 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_SECURITY_BIT_SHFT                0x2
7936 
7937 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_LOOPCNT_DISABLE_BMSK      0x00000002
7938 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_LOOPCNT_DISABLE_SHFT             0x1
7939 
7940 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_RING_ID_DISABLE_BMSK      0x00000001
7941 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_MISC_RING_ID_DISABLE_SHFT             0x0
7942 
7943 //// Register WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB ////
7944 
7945 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_ADDR(x)            (x+0x0000081c)
7946 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_PHYS(x)            (x+0x0000081c)
7947 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_RMSK               0xffffffff
7948 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_SHFT                        0
7949 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_IN(x)              \
7950 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_RMSK)
7951 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_INM(x, mask)       \
7952 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_ADDR(x), mask)
7953 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_OUT(x, val)        \
7954 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_ADDR(x), val)
7955 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
7956 	do {\
7957 		HWIO_INTLOCK(); \
7958 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_IN(x)); \
7959 		HWIO_INTFREE();\
7960 	} while (0)
7961 
7962 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
7963 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
7964 
7965 //// Register WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB ////
7966 
7967 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_ADDR(x)            (x+0x00000820)
7968 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_PHYS(x)            (x+0x00000820)
7969 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_RMSK               0x000000ff
7970 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_SHFT                        0
7971 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_IN(x)              \
7972 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_RMSK)
7973 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_INM(x, mask)       \
7974 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_ADDR(x), mask)
7975 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_OUT(x, val)        \
7976 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_ADDR(x), val)
7977 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
7978 	do {\
7979 		HWIO_INTLOCK(); \
7980 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_IN(x)); \
7981 		HWIO_INTFREE();\
7982 	} while (0)
7983 
7984 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
7985 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
7986 
7987 //// Register WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB ////
7988 
7989 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_ADDR(x)            (x+0x00000824)
7990 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_PHYS(x)            (x+0x00000824)
7991 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_RMSK               0xffffffff
7992 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_SHFT                        0
7993 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_IN(x)              \
7994 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_RMSK)
7995 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_INM(x, mask)       \
7996 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_ADDR(x), mask)
7997 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_OUT(x, val)        \
7998 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_ADDR(x), val)
7999 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_OUTM(x, mask, val) \
8000 	do {\
8001 		HWIO_INTLOCK(); \
8002 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_IN(x)); \
8003 		HWIO_INTFREE();\
8004 	} while (0)
8005 
8006 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
8007 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
8008 
8009 //// Register WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB ////
8010 
8011 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_ADDR(x)            (x+0x00000828)
8012 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_PHYS(x)            (x+0x00000828)
8013 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_RMSK               0x000000ff
8014 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_SHFT                        0
8015 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_IN(x)              \
8016 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_RMSK)
8017 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_INM(x, mask)       \
8018 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_ADDR(x), mask)
8019 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_OUT(x, val)        \
8020 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_ADDR(x), val)
8021 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_OUTM(x, mask, val) \
8022 	do {\
8023 		HWIO_INTLOCK(); \
8024 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_IN(x)); \
8025 		HWIO_INTFREE();\
8026 	} while (0)
8027 
8028 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
8029 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
8030 
8031 //// Register WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP ////
8032 
8033 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x)     (x+0x0000082c)
8034 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_PHYS(x)     (x+0x0000082c)
8035 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_RMSK        0xffffffff
8036 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_SHFT                 0
8037 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_IN(x)       \
8038 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_RMSK)
8039 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_INM(x, mask) \
8040 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
8041 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_OUT(x, val) \
8042 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), val)
8043 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
8044 	do {\
8045 		HWIO_INTLOCK(); \
8046 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_IN(x)); \
8047 		HWIO_INTFREE();\
8048 	} while (0)
8049 
8050 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
8051 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
8052 
8053 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
8054 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
8055 
8056 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
8057 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
8058 
8059 //// Register WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS ////
8060 
8061 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x)    (x+0x00000830)
8062 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_PHYS(x)    (x+0x00000830)
8063 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_RMSK       0xffffffff
8064 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_SHFT                0
8065 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_IN(x)      \
8066 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_RMSK)
8067 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_INM(x, mask) \
8068 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
8069 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_OUT(x, val) \
8070 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), val)
8071 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
8072 	do {\
8073 		HWIO_INTLOCK(); \
8074 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_IN(x)); \
8075 		HWIO_INTFREE();\
8076 	} while (0)
8077 
8078 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
8079 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
8080 
8081 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
8082 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
8083 
8084 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
8085 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
8086 
8087 //// Register WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER ////
8088 
8089 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x)  (x+0x00000834)
8090 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_PHYS(x)  (x+0x00000834)
8091 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_RMSK     0x000003ff
8092 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_SHFT              0
8093 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)    \
8094 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_RMSK)
8095 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
8096 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
8097 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
8098 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
8099 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
8100 	do {\
8101 		HWIO_INTLOCK(); \
8102 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_IN(x)); \
8103 		HWIO_INTFREE();\
8104 	} while (0)
8105 
8106 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
8107 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
8108 
8109 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0 ////
8110 
8111 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_ADDR(x) (x+0x00000838)
8112 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_PHYS(x) (x+0x00000838)
8113 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_RMSK    0xffffffff
8114 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_SHFT             0
8115 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_IN(x)   \
8116 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_RMSK)
8117 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
8118 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
8119 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
8120 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
8121 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
8122 	do {\
8123 		HWIO_INTLOCK(); \
8124 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
8125 		HWIO_INTFREE();\
8126 	} while (0)
8127 
8128 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
8129 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
8130 
8131 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
8132 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
8133 
8134 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
8135 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
8136 
8137 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1 ////
8138 
8139 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_ADDR(x) (x+0x0000083c)
8140 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_PHYS(x) (x+0x0000083c)
8141 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_RMSK    0x0000ffff
8142 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_SHFT             0
8143 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_IN(x)   \
8144 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_RMSK)
8145 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
8146 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
8147 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
8148 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
8149 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
8150 	do {\
8151 		HWIO_INTLOCK(); \
8152 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
8153 		HWIO_INTFREE();\
8154 	} while (0)
8155 
8156 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
8157 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
8158 
8159 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS ////
8160 
8161 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_ADDR(x)    (x+0x00000840)
8162 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_PHYS(x)    (x+0x00000840)
8163 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_RMSK       0xffffffff
8164 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_SHFT                0
8165 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_IN(x)      \
8166 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_RMSK)
8167 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_INM(x, mask) \
8168 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
8169 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_OUT(x, val) \
8170 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_ADDR(x), val)
8171 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
8172 	do {\
8173 		HWIO_INTLOCK(); \
8174 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_IN(x)); \
8175 		HWIO_INTFREE();\
8176 	} while (0)
8177 
8178 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
8179 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
8180 
8181 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
8182 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
8183 
8184 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
8185 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
8186 
8187 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER ////
8188 
8189 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_ADDR(x) (x+0x00000844)
8190 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_PHYS(x) (x+0x00000844)
8191 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_RMSK    0x000003ff
8192 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_SHFT             0
8193 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_IN(x)   \
8194 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_RMSK)
8195 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
8196 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
8197 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
8198 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
8199 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
8200 	do {\
8201 		HWIO_INTLOCK(); \
8202 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
8203 		HWIO_INTFREE();\
8204 	} while (0)
8205 
8206 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
8207 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
8208 
8209 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER ////
8210 
8211 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x00000848)
8212 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x00000848)
8213 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_RMSK   0x00000007
8214 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_SHFT            0
8215 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_IN(x)  \
8216 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_RMSK)
8217 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
8218 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
8219 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
8220 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
8221 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
8222 	do {\
8223 		HWIO_INTLOCK(); \
8224 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
8225 		HWIO_INTFREE();\
8226 	} while (0)
8227 
8228 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
8229 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
8230 
8231 //// Register WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS ////
8232 
8233 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x0000084c)
8234 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x0000084c)
8235 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_RMSK  0x00ffffff
8236 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_SHFT           0
8237 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_IN(x) \
8238 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_RMSK)
8239 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
8240 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
8241 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
8242 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
8243 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
8244 	do {\
8245 		HWIO_INTLOCK(); \
8246 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
8247 		HWIO_INTFREE();\
8248 	} while (0)
8249 
8250 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
8251 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
8252 
8253 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
8254 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
8255 
8256 //// Register WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET ////
8257 
8258 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x)        (x+0x0000085c)
8259 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_PHYS(x)        (x+0x0000085c)
8260 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_RMSK           0x0000ffff
8261 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_SHFT                    0
8262 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_IN(x)          \
8263 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_RMSK)
8264 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_INM(x, mask)   \
8265 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
8266 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_OUT(x, val)    \
8267 	out_dword( HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), val)
8268 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
8269 	do {\
8270 		HWIO_INTLOCK(); \
8271 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_IN(x)); \
8272 		HWIO_INTFREE();\
8273 	} while (0)
8274 
8275 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
8276 #define HWIO_WBM_R0_WBM_IDLE_BUF_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
8277 
8278 //// Register WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB ////
8279 
8280 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_ADDR(x)              (x+0x00000860)
8281 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_PHYS(x)              (x+0x00000860)
8282 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_RMSK                 0xffffffff
8283 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_SHFT                          0
8284 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_IN(x)                \
8285 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_RMSK)
8286 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_INM(x, mask)         \
8287 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_ADDR(x), mask)
8288 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_OUT(x, val)          \
8289 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_ADDR(x), val)
8290 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_OUTM(x, mask, val)   \
8291 	do {\
8292 		HWIO_INTLOCK(); \
8293 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_IN(x)); \
8294 		HWIO_INTFREE();\
8295 	} while (0)
8296 
8297 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
8298 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
8299 
8300 //// Register WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB ////
8301 
8302 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_ADDR(x)              (x+0x00000864)
8303 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_PHYS(x)              (x+0x00000864)
8304 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RMSK                 0x00ffffff
8305 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_SHFT                          0
8306 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_IN(x)                \
8307 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RMSK)
8308 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_INM(x, mask)         \
8309 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_ADDR(x), mask)
8310 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_OUT(x, val)          \
8311 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_ADDR(x), val)
8312 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_OUTM(x, mask, val)   \
8313 	do {\
8314 		HWIO_INTLOCK(); \
8315 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_IN(x)); \
8316 		HWIO_INTFREE();\
8317 	} while (0)
8318 
8319 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RING_SIZE_BMSK       0x00ffff00
8320 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RING_SIZE_SHFT              0x8
8321 
8322 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
8323 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
8324 
8325 //// Register WBM_R0_WBM_IDLE_LINK_RING_ID ////
8326 
8327 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ADDR(x)                    (x+0x00000868)
8328 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_PHYS(x)                    (x+0x00000868)
8329 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_RMSK                       0x0000ffff
8330 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_SHFT                                0
8331 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_IN(x)                      \
8332 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_RMSK)
8333 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_INM(x, mask)               \
8334 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ADDR(x), mask)
8335 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_OUT(x, val)                \
8336 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ADDR(x), val)
8337 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_OUTM(x, mask, val)         \
8338 	do {\
8339 		HWIO_INTLOCK(); \
8340 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_IN(x)); \
8341 		HWIO_INTFREE();\
8342 	} while (0)
8343 
8344 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_RING_ID_BMSK               0x0000ff00
8345 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_RING_ID_SHFT                      0x8
8346 
8347 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ENTRY_SIZE_BMSK            0x000000ff
8348 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_ID_ENTRY_SIZE_SHFT                   0x0
8349 
8350 //// Register WBM_R0_WBM_IDLE_LINK_RING_STATUS ////
8351 
8352 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_ADDR(x)                (x+0x0000086c)
8353 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_PHYS(x)                (x+0x0000086c)
8354 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_RMSK                   0xffffffff
8355 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_SHFT                            0
8356 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_IN(x)                  \
8357 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_RMSK)
8358 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_INM(x, mask)           \
8359 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_ADDR(x), mask)
8360 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_OUT(x, val)            \
8361 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_ADDR(x), val)
8362 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_OUTM(x, mask, val)     \
8363 	do {\
8364 		HWIO_INTLOCK(); \
8365 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_IN(x)); \
8366 		HWIO_INTFREE();\
8367 	} while (0)
8368 
8369 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_NUM_AVAIL_WORDS_BMSK   0xffff0000
8370 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_NUM_AVAIL_WORDS_SHFT         0x10
8371 
8372 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_NUM_VALID_WORDS_BMSK   0x0000ffff
8373 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_STATUS_NUM_VALID_WORDS_SHFT          0x0
8374 
8375 //// Register WBM_R0_WBM_IDLE_LINK_RING_MISC ////
8376 
8377 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_ADDR(x)                  (x+0x00000870)
8378 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_PHYS(x)                  (x+0x00000870)
8379 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_RMSK                     0x03ffffff
8380 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SHFT                              0
8381 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_IN(x)                    \
8382 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_RMSK)
8383 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_INM(x, mask)             \
8384 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_ADDR(x), mask)
8385 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_OUT(x, val)              \
8386 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_ADDR(x), val)
8387 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_OUTM(x, mask, val)       \
8388 	do {\
8389 		HWIO_INTLOCK(); \
8390 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_IN(x)); \
8391 		HWIO_INTFREE();\
8392 	} while (0)
8393 
8394 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_LOOP_CNT_BMSK            0x03c00000
8395 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_LOOP_CNT_SHFT                  0x16
8396 
8397 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SPARE_CONTROL_BMSK       0x003fc000
8398 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SPARE_CONTROL_SHFT              0xe
8399 
8400 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_SM_STATE2_BMSK      0x00003000
8401 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_SM_STATE2_SHFT             0xc
8402 
8403 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_SM_STATE1_BMSK      0x00000f00
8404 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_SM_STATE1_SHFT             0x8
8405 
8406 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_IS_IDLE_BMSK        0x00000080
8407 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_IS_IDLE_SHFT               0x7
8408 
8409 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_ENABLE_BMSK         0x00000040
8410 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SRNG_ENABLE_SHFT                0x6
8411 
8412 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_DATA_TLV_SWAP_BIT_BMSK   0x00000020
8413 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_DATA_TLV_SWAP_BIT_SHFT          0x5
8414 
8415 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_HOST_FW_SWAP_BIT_BMSK    0x00000010
8416 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_HOST_FW_SWAP_BIT_SHFT           0x4
8417 
8418 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_MSI_SWAP_BIT_BMSK        0x00000008
8419 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_MSI_SWAP_BIT_SHFT               0x3
8420 
8421 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SECURITY_BIT_BMSK        0x00000004
8422 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_SECURITY_BIT_SHFT               0x2
8423 
8424 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_LOOPCNT_DISABLE_BMSK     0x00000002
8425 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_LOOPCNT_DISABLE_SHFT            0x1
8426 
8427 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_RING_ID_DISABLE_BMSK     0x00000001
8428 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_MISC_RING_ID_DISABLE_SHFT            0x0
8429 
8430 //// Register WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB ////
8431 
8432 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_ADDR(x)           (x+0x00000874)
8433 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_PHYS(x)           (x+0x00000874)
8434 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_RMSK              0xffffffff
8435 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_SHFT                       0
8436 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_IN(x)             \
8437 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_RMSK)
8438 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_INM(x, mask)      \
8439 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_ADDR(x), mask)
8440 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_OUT(x, val)       \
8441 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_ADDR(x), val)
8442 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
8443 	do {\
8444 		HWIO_INTLOCK(); \
8445 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_IN(x)); \
8446 		HWIO_INTFREE();\
8447 	} while (0)
8448 
8449 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
8450 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
8451 
8452 //// Register WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB ////
8453 
8454 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_ADDR(x)           (x+0x00000878)
8455 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_PHYS(x)           (x+0x00000878)
8456 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_RMSK              0x000000ff
8457 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_SHFT                       0
8458 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_IN(x)             \
8459 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_RMSK)
8460 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_INM(x, mask)      \
8461 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_ADDR(x), mask)
8462 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_OUT(x, val)       \
8463 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_ADDR(x), val)
8464 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
8465 	do {\
8466 		HWIO_INTLOCK(); \
8467 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_IN(x)); \
8468 		HWIO_INTFREE();\
8469 	} while (0)
8470 
8471 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
8472 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
8473 
8474 //// Register WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB ////
8475 
8476 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_ADDR(x)           (x+0x0000087c)
8477 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_PHYS(x)           (x+0x0000087c)
8478 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_RMSK              0xffffffff
8479 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_SHFT                       0
8480 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_IN(x)             \
8481 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_RMSK)
8482 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_INM(x, mask)      \
8483 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_ADDR(x), mask)
8484 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_OUT(x, val)       \
8485 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_ADDR(x), val)
8486 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_OUTM(x, mask, val) \
8487 	do {\
8488 		HWIO_INTLOCK(); \
8489 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_IN(x)); \
8490 		HWIO_INTFREE();\
8491 	} while (0)
8492 
8493 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_BMSK 0xffffffff
8494 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_LSB_TAIL_PTR_MEMADDR_LSB_SHFT        0x0
8495 
8496 //// Register WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB ////
8497 
8498 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_ADDR(x)           (x+0x00000880)
8499 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_PHYS(x)           (x+0x00000880)
8500 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_RMSK              0x000000ff
8501 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_SHFT                       0
8502 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_IN(x)             \
8503 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_RMSK)
8504 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_INM(x, mask)      \
8505 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_ADDR(x), mask)
8506 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_OUT(x, val)       \
8507 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_ADDR(x), val)
8508 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_OUTM(x, mask, val) \
8509 	do {\
8510 		HWIO_INTLOCK(); \
8511 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_IN(x)); \
8512 		HWIO_INTFREE();\
8513 	} while (0)
8514 
8515 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_BMSK 0x000000ff
8516 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_TP_ADDR_MSB_TAIL_PTR_MEMADDR_MSB_SHFT        0x0
8517 
8518 //// Register WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP ////
8519 
8520 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_ADDR(x)    (x+0x00000884)
8521 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_PHYS(x)    (x+0x00000884)
8522 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_RMSK       0xffffffff
8523 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_SHFT                0
8524 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_IN(x)      \
8525 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_RMSK)
8526 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_INM(x, mask) \
8527 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
8528 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_OUT(x, val) \
8529 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), val)
8530 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
8531 	do {\
8532 		HWIO_INTLOCK(); \
8533 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_IN(x)); \
8534 		HWIO_INTFREE();\
8535 	} while (0)
8536 
8537 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
8538 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
8539 
8540 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
8541 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
8542 
8543 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
8544 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
8545 
8546 //// Register WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS ////
8547 
8548 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_ADDR(x)   (x+0x00000888)
8549 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_PHYS(x)   (x+0x00000888)
8550 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_RMSK      0xffffffff
8551 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_SHFT               0
8552 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_IN(x)     \
8553 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_RMSK)
8554 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_INM(x, mask) \
8555 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
8556 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_OUT(x, val) \
8557 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), val)
8558 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
8559 	do {\
8560 		HWIO_INTLOCK(); \
8561 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_IN(x)); \
8562 		HWIO_INTFREE();\
8563 	} while (0)
8564 
8565 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
8566 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
8567 
8568 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
8569 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
8570 
8571 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
8572 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
8573 
8574 //// Register WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER ////
8575 
8576 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x0000088c)
8577 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x0000088c)
8578 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_RMSK    0x000003ff
8579 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_SHFT             0
8580 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)   \
8581 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_RMSK)
8582 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
8583 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
8584 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
8585 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
8586 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
8587 	do {\
8588 		HWIO_INTLOCK(); \
8589 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_IN(x)); \
8590 		HWIO_INTFREE();\
8591 	} while (0)
8592 
8593 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
8594 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
8595 
8596 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0 ////
8597 
8598 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_ADDR(x) (x+0x00000890)
8599 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_PHYS(x) (x+0x00000890)
8600 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_RMSK   0xffffffff
8601 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_SHFT            0
8602 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_IN(x)  \
8603 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_RMSK)
8604 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_INM(x, mask) \
8605 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask)
8606 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_OUT(x, val) \
8607 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), val)
8608 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_OUTM(x, mask, val) \
8609 	do {\
8610 		HWIO_INTLOCK(); \
8611 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_IN(x)); \
8612 		HWIO_INTFREE();\
8613 	} while (0)
8614 
8615 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
8616 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
8617 
8618 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_BMSK 0x00008000
8619 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_SW_INTERRUPT_MODE_SHFT        0xf
8620 
8621 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
8622 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX0_BATCH_COUNTER_THRESHOLD_SHFT        0x0
8623 
8624 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1 ////
8625 
8626 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_ADDR(x) (x+0x00000894)
8627 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_PHYS(x) (x+0x00000894)
8628 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_RMSK   0x0000ffff
8629 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_SHFT            0
8630 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_IN(x)  \
8631 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_RMSK)
8632 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_INM(x, mask) \
8633 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask)
8634 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_OUT(x, val) \
8635 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), val)
8636 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_OUTM(x, mask, val) \
8637 	do {\
8638 		HWIO_INTLOCK(); \
8639 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_IN(x)); \
8640 		HWIO_INTFREE();\
8641 	} while (0)
8642 
8643 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_BMSK 0x0000ffff
8644 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_SETUP_IX1_LOW_THRESHOLD_SHFT        0x0
8645 
8646 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS ////
8647 
8648 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_ADDR(x)   (x+0x00000898)
8649 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_PHYS(x)   (x+0x00000898)
8650 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_RMSK      0xffffffff
8651 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_SHFT               0
8652 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_IN(x)     \
8653 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_RMSK)
8654 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_INM(x, mask) \
8655 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_ADDR(x), mask)
8656 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_OUT(x, val) \
8657 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_ADDR(x), val)
8658 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_OUTM(x, mask, val) \
8659 	do {\
8660 		HWIO_INTLOCK(); \
8661 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_IN(x)); \
8662 		HWIO_INTFREE();\
8663 	} while (0)
8664 
8665 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
8666 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
8667 
8668 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_BMSK 0x00008000
8669 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_CURRENT_INT_WIRE_VALUE_SHFT        0xf
8670 
8671 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
8672 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
8673 
8674 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER ////
8675 
8676 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_ADDR(x) (x+0x0000089c)
8677 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_PHYS(x) (x+0x0000089c)
8678 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_RMSK   0x000003ff
8679 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_SHFT            0
8680 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_IN(x)  \
8681 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_RMSK)
8682 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_INM(x, mask) \
8683 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask)
8684 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_OUT(x, val) \
8685 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), val)
8686 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_OUTM(x, mask, val) \
8687 	do {\
8688 		HWIO_INTLOCK(); \
8689 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_IN(x)); \
8690 		HWIO_INTFREE();\
8691 	} while (0)
8692 
8693 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_BMSK 0x000003ff
8694 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_EMPTY_COUNTER_RING_EMPTY_COUNTER_SHFT        0x0
8695 
8696 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER ////
8697 
8698 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x000008a0)
8699 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_PHYS(x) (x+0x000008a0)
8700 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_RMSK  0x00000007
8701 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_SHFT           0
8702 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_IN(x) \
8703 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_RMSK)
8704 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_INM(x, mask) \
8705 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask)
8706 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_OUT(x, val) \
8707 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), val)
8708 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_OUTM(x, mask, val) \
8709 	do {\
8710 		HWIO_INTLOCK(); \
8711 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_IN(x)); \
8712 		HWIO_INTFREE();\
8713 	} while (0)
8714 
8715 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_MODE_BMSK 0x00000007
8716 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_TIMER_MODE_SHFT        0x0
8717 
8718 //// Register WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS ////
8719 
8720 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_ADDR(x) (x+0x000008a4)
8721 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_PHYS(x) (x+0x000008a4)
8722 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_RMSK 0x00ffffff
8723 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_SHFT          0
8724 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_IN(x) \
8725 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_RMSK)
8726 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_INM(x, mask) \
8727 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask)
8728 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_OUT(x, val) \
8729 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), val)
8730 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_OUTM(x, mask, val) \
8731 	do {\
8732 		HWIO_INTLOCK(); \
8733 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_IN(x)); \
8734 		HWIO_INTFREE();\
8735 	} while (0)
8736 
8737 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_BMSK 0x00ff0000
8738 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_PREFETCH_COUNT_SHFT       0x10
8739 
8740 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_BMSK 0x0000ffff
8741 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_CONSUMER_PREFETCH_STATUS_INTERNAL_TAIL_PTR_SHFT        0x0
8742 
8743 //// Register WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET ////
8744 
8745 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_ADDR(x)       (x+0x000008b4)
8746 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_PHYS(x)       (x+0x000008b4)
8747 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_RMSK          0x0000ffff
8748 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_SHFT                   0
8749 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_IN(x)         \
8750 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_RMSK)
8751 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_INM(x, mask)  \
8752 	in_dword_masked ( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
8753 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_OUT(x, val)   \
8754 	out_dword( HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), val)
8755 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
8756 	do {\
8757 		HWIO_INTLOCK(); \
8758 		out_dword_masked_ns(HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_IN(x)); \
8759 		HWIO_INTFREE();\
8760 	} while (0)
8761 
8762 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
8763 #define HWIO_WBM_R0_WBM_IDLE_LINK_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
8764 
8765 //// Register WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB ////
8766 
8767 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_ADDR(x)             (x+0x000008b8)
8768 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_PHYS(x)             (x+0x000008b8)
8769 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_RMSK                0xffffffff
8770 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_SHFT                         0
8771 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_IN(x)               \
8772 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_RMSK)
8773 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_INM(x, mask)        \
8774 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_ADDR(x), mask)
8775 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_OUT(x, val)         \
8776 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_ADDR(x), val)
8777 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_OUTM(x, mask, val)  \
8778 	do {\
8779 		HWIO_INTLOCK(); \
8780 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_IN(x)); \
8781 		HWIO_INTFREE();\
8782 	} while (0)
8783 
8784 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
8785 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
8786 
8787 //// Register WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB ////
8788 
8789 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_ADDR(x)             (x+0x000008bc)
8790 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_PHYS(x)             (x+0x000008bc)
8791 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RMSK                0x00ffffff
8792 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_SHFT                         0
8793 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_IN(x)               \
8794 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RMSK)
8795 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_INM(x, mask)        \
8796 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_ADDR(x), mask)
8797 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_OUT(x, val)         \
8798 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_ADDR(x), val)
8799 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_OUTM(x, mask, val)  \
8800 	do {\
8801 		HWIO_INTLOCK(); \
8802 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_IN(x)); \
8803 		HWIO_INTFREE();\
8804 	} while (0)
8805 
8806 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK      0x00ffff00
8807 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT             0x8
8808 
8809 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
8810 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
8811 
8812 //// Register WBM_R0_WBM2FW_RELEASE_RING_ID ////
8813 
8814 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ADDR(x)                   (x+0x000008c0)
8815 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_PHYS(x)                   (x+0x000008c0)
8816 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_RMSK                      0x0000ffff
8817 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_SHFT                               0
8818 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_IN(x)                     \
8819 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_RMSK)
8820 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_INM(x, mask)              \
8821 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ADDR(x), mask)
8822 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_OUT(x, val)               \
8823 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ADDR(x), val)
8824 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_OUTM(x, mask, val)        \
8825 	do {\
8826 		HWIO_INTLOCK(); \
8827 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_IN(x)); \
8828 		HWIO_INTFREE();\
8829 	} while (0)
8830 
8831 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_RING_ID_BMSK              0x0000ff00
8832 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_RING_ID_SHFT                     0x8
8833 
8834 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ENTRY_SIZE_BMSK           0x000000ff
8835 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_ID_ENTRY_SIZE_SHFT                  0x0
8836 
8837 //// Register WBM_R0_WBM2FW_RELEASE_RING_STATUS ////
8838 
8839 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_ADDR(x)               (x+0x000008c4)
8840 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_PHYS(x)               (x+0x000008c4)
8841 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_RMSK                  0xffffffff
8842 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_SHFT                           0
8843 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_IN(x)                 \
8844 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_RMSK)
8845 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_INM(x, mask)          \
8846 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_ADDR(x), mask)
8847 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_OUT(x, val)           \
8848 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_ADDR(x), val)
8849 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_OUTM(x, mask, val)    \
8850 	do {\
8851 		HWIO_INTLOCK(); \
8852 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_IN(x)); \
8853 		HWIO_INTFREE();\
8854 	} while (0)
8855 
8856 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK  0xffff0000
8857 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT        0x10
8858 
8859 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK  0x0000ffff
8860 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT         0x0
8861 
8862 //// Register WBM_R0_WBM2FW_RELEASE_RING_MISC ////
8863 
8864 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_ADDR(x)                 (x+0x000008c8)
8865 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_PHYS(x)                 (x+0x000008c8)
8866 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_RMSK                    0x03ffffff
8867 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SHFT                             0
8868 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_IN(x)                   \
8869 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_RMSK)
8870 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_INM(x, mask)            \
8871 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_ADDR(x), mask)
8872 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_OUT(x, val)             \
8873 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_ADDR(x), val)
8874 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_OUTM(x, mask, val)      \
8875 	do {\
8876 		HWIO_INTLOCK(); \
8877 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_IN(x)); \
8878 		HWIO_INTFREE();\
8879 	} while (0)
8880 
8881 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_LOOP_CNT_BMSK           0x03c00000
8882 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_LOOP_CNT_SHFT                 0x16
8883 
8884 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SPARE_CONTROL_BMSK      0x003fc000
8885 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SPARE_CONTROL_SHFT             0xe
8886 
8887 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK     0x00003000
8888 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT            0xc
8889 
8890 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK     0x00000f00
8891 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT            0x8
8892 
8893 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK       0x00000080
8894 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT              0x7
8895 
8896 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_ENABLE_BMSK        0x00000040
8897 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SRNG_ENABLE_SHFT               0x6
8898 
8899 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK  0x00000020
8900 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT         0x5
8901 
8902 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK   0x00000010
8903 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT          0x4
8904 
8905 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK       0x00000008
8906 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT              0x3
8907 
8908 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SECURITY_BIT_BMSK       0x00000004
8909 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_SECURITY_BIT_SHFT              0x2
8910 
8911 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK    0x00000002
8912 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT           0x1
8913 
8914 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK    0x00000001
8915 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT           0x0
8916 
8917 //// Register WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB ////
8918 
8919 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_ADDR(x)          (x+0x000008cc)
8920 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_PHYS(x)          (x+0x000008cc)
8921 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_RMSK             0xffffffff
8922 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_SHFT                      0
8923 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_IN(x)            \
8924 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_RMSK)
8925 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)     \
8926 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
8927 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)      \
8928 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
8929 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
8930 	do {\
8931 		HWIO_INTLOCK(); \
8932 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
8933 		HWIO_INTFREE();\
8934 	} while (0)
8935 
8936 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
8937 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
8938 
8939 //// Register WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB ////
8940 
8941 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_ADDR(x)          (x+0x000008d0)
8942 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_PHYS(x)          (x+0x000008d0)
8943 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_RMSK             0x000000ff
8944 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_SHFT                      0
8945 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_IN(x)            \
8946 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_RMSK)
8947 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)     \
8948 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
8949 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)      \
8950 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
8951 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
8952 	do {\
8953 		HWIO_INTLOCK(); \
8954 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
8955 		HWIO_INTFREE();\
8956 	} while (0)
8957 
8958 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
8959 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
8960 
8961 //// Register WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP ////
8962 
8963 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)   (x+0x000008dc)
8964 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)   (x+0x000008dc)
8965 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_RMSK      0xffffffff
8966 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_SHFT               0
8967 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)     \
8968 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
8969 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
8970 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
8971 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
8972 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
8973 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
8974 	do {\
8975 		HWIO_INTLOCK(); \
8976 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
8977 		HWIO_INTFREE();\
8978 	} while (0)
8979 
8980 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
8981 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
8982 
8983 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
8984 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
8985 
8986 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
8987 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
8988 
8989 //// Register WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS ////
8990 
8991 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x)  (x+0x000008e0)
8992 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x)  (x+0x000008e0)
8993 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_RMSK     0xffffffff
8994 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_SHFT              0
8995 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)    \
8996 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
8997 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
8998 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
8999 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
9000 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
9001 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
9002 	do {\
9003 		HWIO_INTLOCK(); \
9004 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
9005 		HWIO_INTFREE();\
9006 	} while (0)
9007 
9008 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
9009 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
9010 
9011 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
9012 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
9013 
9014 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
9015 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
9016 
9017 //// Register WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER ////
9018 
9019 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x000008e4)
9020 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x000008e4)
9021 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK   0x000003ff
9022 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT            0
9023 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)  \
9024 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
9025 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
9026 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
9027 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
9028 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
9029 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
9030 	do {\
9031 		HWIO_INTLOCK(); \
9032 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
9033 		HWIO_INTFREE();\
9034 	} while (0)
9035 
9036 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
9037 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
9038 
9039 //// Register WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB ////
9040 
9041 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)        (x+0x00000900)
9042 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)        (x+0x00000900)
9043 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_RMSK           0xffffffff
9044 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_SHFT                    0
9045 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_IN(x)          \
9046 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_RMSK)
9047 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)   \
9048 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
9049 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)    \
9050 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
9051 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
9052 	do {\
9053 		HWIO_INTLOCK(); \
9054 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
9055 		HWIO_INTFREE();\
9056 	} while (0)
9057 
9058 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK      0xffffffff
9059 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT             0x0
9060 
9061 //// Register WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB ////
9062 
9063 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)        (x+0x00000904)
9064 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)        (x+0x00000904)
9065 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_RMSK           0x000001ff
9066 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_SHFT                    0
9067 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_IN(x)          \
9068 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_RMSK)
9069 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)   \
9070 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
9071 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)    \
9072 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
9073 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
9074 	do {\
9075 		HWIO_INTLOCK(); \
9076 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
9077 		HWIO_INTFREE();\
9078 	} while (0)
9079 
9080 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
9081 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
9082 
9083 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK      0x000000ff
9084 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT             0x0
9085 
9086 //// Register WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA ////
9087 
9088 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_ADDR(x)            (x+0x00000908)
9089 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_PHYS(x)            (x+0x00000908)
9090 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_RMSK               0xffffffff
9091 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_SHFT                        0
9092 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_IN(x)              \
9093 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_RMSK)
9094 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_INM(x, mask)       \
9095 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
9096 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_OUT(x, val)        \
9097 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_ADDR(x), val)
9098 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
9099 	do {\
9100 		HWIO_INTLOCK(); \
9101 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_IN(x)); \
9102 		HWIO_INTFREE();\
9103 	} while (0)
9104 
9105 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_VALUE_BMSK         0xffffffff
9106 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_MSI1_DATA_VALUE_SHFT                0x0
9107 
9108 //// Register WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET ////
9109 
9110 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)      (x+0x0000090c)
9111 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)      (x+0x0000090c)
9112 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK         0x0000ffff
9113 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                  0
9114 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)        \
9115 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
9116 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
9117 	in_dword_masked ( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
9118 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val)  \
9119 	out_dword( HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
9120 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
9121 	do {\
9122 		HWIO_INTLOCK(); \
9123 		out_dword_masked_ns(HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
9124 		HWIO_INTFREE();\
9125 	} while (0)
9126 
9127 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
9128 #define HWIO_WBM_R0_WBM2FW_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
9129 
9130 //// Register WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB ////
9131 
9132 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_ADDR(x)            (x+0x00000910)
9133 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_PHYS(x)            (x+0x00000910)
9134 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_RMSK               0xffffffff
9135 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_SHFT                        0
9136 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_IN(x)              \
9137 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_RMSK)
9138 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_INM(x, mask)       \
9139 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_ADDR(x), mask)
9140 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_OUT(x, val)        \
9141 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_ADDR(x), val)
9142 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_OUTM(x, mask, val) \
9143 	do {\
9144 		HWIO_INTLOCK(); \
9145 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_IN(x)); \
9146 		HWIO_INTFREE();\
9147 	} while (0)
9148 
9149 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
9150 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
9151 
9152 //// Register WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB ////
9153 
9154 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_ADDR(x)            (x+0x00000914)
9155 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_PHYS(x)            (x+0x00000914)
9156 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RMSK               0x0fffffff
9157 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_SHFT                        0
9158 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_IN(x)              \
9159 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RMSK)
9160 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_INM(x, mask)       \
9161 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_ADDR(x), mask)
9162 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_OUT(x, val)        \
9163 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_ADDR(x), val)
9164 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_OUTM(x, mask, val) \
9165 	do {\
9166 		HWIO_INTLOCK(); \
9167 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_IN(x)); \
9168 		HWIO_INTFREE();\
9169 	} while (0)
9170 
9171 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK     0x0fffff00
9172 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT            0x8
9173 
9174 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
9175 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
9176 
9177 //// Register WBM_R0_WBM2SW0_RELEASE_RING_ID ////
9178 
9179 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ADDR(x)                  (x+0x00000918)
9180 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_PHYS(x)                  (x+0x00000918)
9181 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_RMSK                     0x0000ffff
9182 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_SHFT                              0
9183 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_IN(x)                    \
9184 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_RMSK)
9185 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_INM(x, mask)             \
9186 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ADDR(x), mask)
9187 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_OUT(x, val)              \
9188 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ADDR(x), val)
9189 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_OUTM(x, mask, val)       \
9190 	do {\
9191 		HWIO_INTLOCK(); \
9192 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_IN(x)); \
9193 		HWIO_INTFREE();\
9194 	} while (0)
9195 
9196 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_RING_ID_BMSK             0x0000ff00
9197 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_RING_ID_SHFT                    0x8
9198 
9199 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
9200 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_ID_ENTRY_SIZE_SHFT                 0x0
9201 
9202 //// Register WBM_R0_WBM2SW0_RELEASE_RING_STATUS ////
9203 
9204 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_ADDR(x)              (x+0x0000091c)
9205 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_PHYS(x)              (x+0x0000091c)
9206 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_RMSK                 0xffffffff
9207 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_SHFT                          0
9208 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_IN(x)                \
9209 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_RMSK)
9210 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_INM(x, mask)         \
9211 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_ADDR(x), mask)
9212 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_OUT(x, val)          \
9213 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_ADDR(x), val)
9214 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_OUTM(x, mask, val)   \
9215 	do {\
9216 		HWIO_INTLOCK(); \
9217 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_IN(x)); \
9218 		HWIO_INTFREE();\
9219 	} while (0)
9220 
9221 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
9222 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
9223 
9224 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
9225 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
9226 
9227 //// Register WBM_R0_WBM2SW0_RELEASE_RING_MISC ////
9228 
9229 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_ADDR(x)                (x+0x00000920)
9230 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_PHYS(x)                (x+0x00000920)
9231 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_RMSK                   0x03ffffff
9232 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SHFT                            0
9233 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_IN(x)                  \
9234 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_RMSK)
9235 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_INM(x, mask)           \
9236 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_ADDR(x), mask)
9237 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_OUT(x, val)            \
9238 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_ADDR(x), val)
9239 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_OUTM(x, mask, val)     \
9240 	do {\
9241 		HWIO_INTLOCK(); \
9242 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_IN(x)); \
9243 		HWIO_INTFREE();\
9244 	} while (0)
9245 
9246 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_LOOP_CNT_BMSK          0x03c00000
9247 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_LOOP_CNT_SHFT                0x16
9248 
9249 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
9250 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SPARE_CONTROL_SHFT            0xe
9251 
9252 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
9253 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
9254 
9255 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
9256 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
9257 
9258 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
9259 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
9260 
9261 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
9262 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SRNG_ENABLE_SHFT              0x6
9263 
9264 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
9265 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
9266 
9267 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
9268 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
9269 
9270 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
9271 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
9272 
9273 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SECURITY_BIT_BMSK      0x00000004
9274 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_SECURITY_BIT_SHFT             0x2
9275 
9276 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
9277 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
9278 
9279 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
9280 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT          0x0
9281 
9282 //// Register WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB ////
9283 
9284 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_ADDR(x)         (x+0x00000924)
9285 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_PHYS(x)         (x+0x00000924)
9286 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_RMSK            0xffffffff
9287 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_SHFT                     0
9288 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_IN(x)           \
9289 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_RMSK)
9290 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)    \
9291 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
9292 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)     \
9293 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
9294 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
9295 	do {\
9296 		HWIO_INTLOCK(); \
9297 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
9298 		HWIO_INTFREE();\
9299 	} while (0)
9300 
9301 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
9302 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
9303 
9304 //// Register WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB ////
9305 
9306 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000928)
9307 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000928)
9308 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_RMSK            0x000000ff
9309 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_SHFT                     0
9310 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_IN(x)           \
9311 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_RMSK)
9312 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)    \
9313 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
9314 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)     \
9315 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
9316 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
9317 	do {\
9318 		HWIO_INTLOCK(); \
9319 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
9320 		HWIO_INTFREE();\
9321 	} while (0)
9322 
9323 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
9324 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
9325 
9326 //// Register WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP ////
9327 
9328 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x00000934)
9329 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x00000934)
9330 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
9331 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_SHFT              0
9332 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)    \
9333 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
9334 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
9335 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
9336 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
9337 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
9338 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
9339 	do {\
9340 		HWIO_INTLOCK(); \
9341 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
9342 		HWIO_INTFREE();\
9343 	} while (0)
9344 
9345 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
9346 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
9347 
9348 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
9349 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
9350 
9351 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
9352 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
9353 
9354 //// Register WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS ////
9355 
9356 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000938)
9357 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000938)
9358 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
9359 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_SHFT             0
9360 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)   \
9361 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
9362 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
9363 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
9364 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
9365 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
9366 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
9367 	do {\
9368 		HWIO_INTLOCK(); \
9369 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
9370 		HWIO_INTFREE();\
9371 	} while (0)
9372 
9373 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
9374 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
9375 
9376 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
9377 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
9378 
9379 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
9380 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
9381 
9382 //// Register WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER ////
9383 
9384 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x0000093c)
9385 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x0000093c)
9386 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
9387 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT           0
9388 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x) \
9389 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
9390 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
9391 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
9392 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
9393 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
9394 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
9395 	do {\
9396 		HWIO_INTLOCK(); \
9397 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
9398 		HWIO_INTFREE();\
9399 	} while (0)
9400 
9401 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
9402 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
9403 
9404 //// Register WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB ////
9405 
9406 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)       (x+0x00000958)
9407 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)       (x+0x00000958)
9408 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_RMSK          0xffffffff
9409 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_SHFT                   0
9410 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_IN(x)         \
9411 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_RMSK)
9412 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)  \
9413 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
9414 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)   \
9415 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
9416 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
9417 	do {\
9418 		HWIO_INTLOCK(); \
9419 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
9420 		HWIO_INTFREE();\
9421 	} while (0)
9422 
9423 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK     0xffffffff
9424 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT            0x0
9425 
9426 //// Register WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB ////
9427 
9428 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)       (x+0x0000095c)
9429 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)       (x+0x0000095c)
9430 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_RMSK          0x000001ff
9431 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_SHFT                   0
9432 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_IN(x)         \
9433 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_RMSK)
9434 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)  \
9435 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
9436 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)   \
9437 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
9438 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
9439 	do {\
9440 		HWIO_INTLOCK(); \
9441 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
9442 		HWIO_INTFREE();\
9443 	} while (0)
9444 
9445 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
9446 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
9447 
9448 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK     0x000000ff
9449 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT            0x0
9450 
9451 //// Register WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA ////
9452 
9453 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_ADDR(x)           (x+0x00000960)
9454 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_PHYS(x)           (x+0x00000960)
9455 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_RMSK              0xffffffff
9456 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_SHFT                       0
9457 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_IN(x)             \
9458 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_RMSK)
9459 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_INM(x, mask)      \
9460 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
9461 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_OUT(x, val)       \
9462 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_ADDR(x), val)
9463 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
9464 	do {\
9465 		HWIO_INTLOCK(); \
9466 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_IN(x)); \
9467 		HWIO_INTFREE();\
9468 	} while (0)
9469 
9470 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_VALUE_BMSK        0xffffffff
9471 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_MSI1_DATA_VALUE_SHFT               0x0
9472 
9473 //// Register WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET ////
9474 
9475 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x00000964)
9476 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x00000964)
9477 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
9478 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                 0
9479 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)       \
9480 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
9481 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
9482 	in_dword_masked ( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
9483 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val) \
9484 	out_dword( HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
9485 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
9486 	do {\
9487 		HWIO_INTLOCK(); \
9488 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
9489 		HWIO_INTFREE();\
9490 	} while (0)
9491 
9492 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
9493 #define HWIO_WBM_R0_WBM2SW0_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
9494 
9495 //// Register WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB ////
9496 
9497 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_ADDR(x)            (x+0x00000968)
9498 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_PHYS(x)            (x+0x00000968)
9499 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_RMSK               0xffffffff
9500 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_SHFT                        0
9501 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_IN(x)              \
9502 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_RMSK)
9503 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_INM(x, mask)       \
9504 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_ADDR(x), mask)
9505 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_OUT(x, val)        \
9506 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_ADDR(x), val)
9507 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_OUTM(x, mask, val) \
9508 	do {\
9509 		HWIO_INTLOCK(); \
9510 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_IN(x)); \
9511 		HWIO_INTFREE();\
9512 	} while (0)
9513 
9514 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
9515 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
9516 
9517 //// Register WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB ////
9518 
9519 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_ADDR(x)            (x+0x0000096c)
9520 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_PHYS(x)            (x+0x0000096c)
9521 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RMSK               0x0fffffff
9522 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_SHFT                        0
9523 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_IN(x)              \
9524 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RMSK)
9525 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_INM(x, mask)       \
9526 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_ADDR(x), mask)
9527 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_OUT(x, val)        \
9528 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_ADDR(x), val)
9529 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_OUTM(x, mask, val) \
9530 	do {\
9531 		HWIO_INTLOCK(); \
9532 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_IN(x)); \
9533 		HWIO_INTFREE();\
9534 	} while (0)
9535 
9536 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK     0x0fffff00
9537 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT            0x8
9538 
9539 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
9540 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
9541 
9542 //// Register WBM_R0_WBM2SW1_RELEASE_RING_ID ////
9543 
9544 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ADDR(x)                  (x+0x00000970)
9545 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_PHYS(x)                  (x+0x00000970)
9546 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_RMSK                     0x0000ffff
9547 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_SHFT                              0
9548 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_IN(x)                    \
9549 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_RMSK)
9550 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_INM(x, mask)             \
9551 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ADDR(x), mask)
9552 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_OUT(x, val)              \
9553 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ADDR(x), val)
9554 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_OUTM(x, mask, val)       \
9555 	do {\
9556 		HWIO_INTLOCK(); \
9557 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_IN(x)); \
9558 		HWIO_INTFREE();\
9559 	} while (0)
9560 
9561 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_RING_ID_BMSK             0x0000ff00
9562 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_RING_ID_SHFT                    0x8
9563 
9564 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
9565 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_ID_ENTRY_SIZE_SHFT                 0x0
9566 
9567 //// Register WBM_R0_WBM2SW1_RELEASE_RING_STATUS ////
9568 
9569 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_ADDR(x)              (x+0x00000974)
9570 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_PHYS(x)              (x+0x00000974)
9571 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_RMSK                 0xffffffff
9572 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_SHFT                          0
9573 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_IN(x)                \
9574 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_RMSK)
9575 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_INM(x, mask)         \
9576 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_ADDR(x), mask)
9577 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_OUT(x, val)          \
9578 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_ADDR(x), val)
9579 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_OUTM(x, mask, val)   \
9580 	do {\
9581 		HWIO_INTLOCK(); \
9582 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_IN(x)); \
9583 		HWIO_INTFREE();\
9584 	} while (0)
9585 
9586 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
9587 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
9588 
9589 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
9590 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
9591 
9592 //// Register WBM_R0_WBM2SW1_RELEASE_RING_MISC ////
9593 
9594 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_ADDR(x)                (x+0x00000978)
9595 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_PHYS(x)                (x+0x00000978)
9596 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_RMSK                   0x03ffffff
9597 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SHFT                            0
9598 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_IN(x)                  \
9599 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_RMSK)
9600 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_INM(x, mask)           \
9601 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_ADDR(x), mask)
9602 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_OUT(x, val)            \
9603 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_ADDR(x), val)
9604 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_OUTM(x, mask, val)     \
9605 	do {\
9606 		HWIO_INTLOCK(); \
9607 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_IN(x)); \
9608 		HWIO_INTFREE();\
9609 	} while (0)
9610 
9611 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_LOOP_CNT_BMSK          0x03c00000
9612 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_LOOP_CNT_SHFT                0x16
9613 
9614 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
9615 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SPARE_CONTROL_SHFT            0xe
9616 
9617 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
9618 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
9619 
9620 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
9621 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
9622 
9623 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
9624 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
9625 
9626 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
9627 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SRNG_ENABLE_SHFT              0x6
9628 
9629 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
9630 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
9631 
9632 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
9633 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
9634 
9635 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
9636 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
9637 
9638 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SECURITY_BIT_BMSK      0x00000004
9639 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_SECURITY_BIT_SHFT             0x2
9640 
9641 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
9642 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
9643 
9644 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
9645 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT          0x0
9646 
9647 //// Register WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB ////
9648 
9649 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_ADDR(x)         (x+0x0000097c)
9650 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_PHYS(x)         (x+0x0000097c)
9651 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_RMSK            0xffffffff
9652 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_SHFT                     0
9653 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_IN(x)           \
9654 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_RMSK)
9655 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)    \
9656 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
9657 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)     \
9658 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
9659 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
9660 	do {\
9661 		HWIO_INTLOCK(); \
9662 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
9663 		HWIO_INTFREE();\
9664 	} while (0)
9665 
9666 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
9667 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
9668 
9669 //// Register WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB ////
9670 
9671 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000980)
9672 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000980)
9673 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_RMSK            0x000000ff
9674 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_SHFT                     0
9675 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_IN(x)           \
9676 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_RMSK)
9677 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)    \
9678 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
9679 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)     \
9680 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
9681 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
9682 	do {\
9683 		HWIO_INTLOCK(); \
9684 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
9685 		HWIO_INTFREE();\
9686 	} while (0)
9687 
9688 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
9689 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
9690 
9691 //// Register WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP ////
9692 
9693 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x0000098c)
9694 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x0000098c)
9695 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
9696 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_SHFT              0
9697 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)    \
9698 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
9699 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
9700 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
9701 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
9702 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
9703 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
9704 	do {\
9705 		HWIO_INTLOCK(); \
9706 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
9707 		HWIO_INTFREE();\
9708 	} while (0)
9709 
9710 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
9711 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
9712 
9713 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
9714 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
9715 
9716 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
9717 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
9718 
9719 //// Register WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS ////
9720 
9721 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000990)
9722 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000990)
9723 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
9724 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_SHFT             0
9725 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)   \
9726 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
9727 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
9728 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
9729 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
9730 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
9731 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
9732 	do {\
9733 		HWIO_INTLOCK(); \
9734 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
9735 		HWIO_INTFREE();\
9736 	} while (0)
9737 
9738 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
9739 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
9740 
9741 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
9742 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
9743 
9744 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
9745 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
9746 
9747 //// Register WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER ////
9748 
9749 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x00000994)
9750 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x00000994)
9751 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
9752 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT           0
9753 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x) \
9754 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
9755 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
9756 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
9757 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
9758 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
9759 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
9760 	do {\
9761 		HWIO_INTLOCK(); \
9762 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
9763 		HWIO_INTFREE();\
9764 	} while (0)
9765 
9766 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
9767 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
9768 
9769 //// Register WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB ////
9770 
9771 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)       (x+0x000009b0)
9772 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)       (x+0x000009b0)
9773 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_RMSK          0xffffffff
9774 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_SHFT                   0
9775 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_IN(x)         \
9776 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_RMSK)
9777 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)  \
9778 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
9779 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)   \
9780 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
9781 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
9782 	do {\
9783 		HWIO_INTLOCK(); \
9784 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
9785 		HWIO_INTFREE();\
9786 	} while (0)
9787 
9788 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK     0xffffffff
9789 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT            0x0
9790 
9791 //// Register WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB ////
9792 
9793 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)       (x+0x000009b4)
9794 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)       (x+0x000009b4)
9795 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_RMSK          0x000001ff
9796 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_SHFT                   0
9797 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_IN(x)         \
9798 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_RMSK)
9799 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)  \
9800 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
9801 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)   \
9802 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
9803 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
9804 	do {\
9805 		HWIO_INTLOCK(); \
9806 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
9807 		HWIO_INTFREE();\
9808 	} while (0)
9809 
9810 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
9811 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
9812 
9813 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK     0x000000ff
9814 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT            0x0
9815 
9816 //// Register WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA ////
9817 
9818 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_ADDR(x)           (x+0x000009b8)
9819 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_PHYS(x)           (x+0x000009b8)
9820 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_RMSK              0xffffffff
9821 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_SHFT                       0
9822 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_IN(x)             \
9823 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_RMSK)
9824 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_INM(x, mask)      \
9825 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
9826 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_OUT(x, val)       \
9827 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_ADDR(x), val)
9828 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
9829 	do {\
9830 		HWIO_INTLOCK(); \
9831 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_IN(x)); \
9832 		HWIO_INTFREE();\
9833 	} while (0)
9834 
9835 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_VALUE_BMSK        0xffffffff
9836 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_MSI1_DATA_VALUE_SHFT               0x0
9837 
9838 //// Register WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET ////
9839 
9840 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x000009bc)
9841 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x000009bc)
9842 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
9843 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                 0
9844 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)       \
9845 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
9846 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
9847 	in_dword_masked ( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
9848 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val) \
9849 	out_dword( HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
9850 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
9851 	do {\
9852 		HWIO_INTLOCK(); \
9853 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
9854 		HWIO_INTFREE();\
9855 	} while (0)
9856 
9857 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
9858 #define HWIO_WBM_R0_WBM2SW1_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
9859 
9860 //// Register WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB ////
9861 
9862 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_ADDR(x)            (x+0x000009c0)
9863 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_PHYS(x)            (x+0x000009c0)
9864 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_RMSK               0xffffffff
9865 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_SHFT                        0
9866 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_IN(x)              \
9867 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_RMSK)
9868 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_INM(x, mask)       \
9869 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_ADDR(x), mask)
9870 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_OUT(x, val)        \
9871 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_ADDR(x), val)
9872 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_OUTM(x, mask, val) \
9873 	do {\
9874 		HWIO_INTLOCK(); \
9875 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_IN(x)); \
9876 		HWIO_INTFREE();\
9877 	} while (0)
9878 
9879 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
9880 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
9881 
9882 //// Register WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB ////
9883 
9884 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_ADDR(x)            (x+0x000009c4)
9885 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_PHYS(x)            (x+0x000009c4)
9886 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RMSK               0x0fffffff
9887 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_SHFT                        0
9888 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_IN(x)              \
9889 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RMSK)
9890 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_INM(x, mask)       \
9891 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_ADDR(x), mask)
9892 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_OUT(x, val)        \
9893 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_ADDR(x), val)
9894 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_OUTM(x, mask, val) \
9895 	do {\
9896 		HWIO_INTLOCK(); \
9897 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_IN(x)); \
9898 		HWIO_INTFREE();\
9899 	} while (0)
9900 
9901 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK     0x0fffff00
9902 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT            0x8
9903 
9904 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
9905 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
9906 
9907 //// Register WBM_R0_WBM2SW2_RELEASE_RING_ID ////
9908 
9909 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ADDR(x)                  (x+0x000009c8)
9910 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_PHYS(x)                  (x+0x000009c8)
9911 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_RMSK                     0x0000ffff
9912 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_SHFT                              0
9913 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_IN(x)                    \
9914 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_RMSK)
9915 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_INM(x, mask)             \
9916 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ADDR(x), mask)
9917 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_OUT(x, val)              \
9918 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ADDR(x), val)
9919 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_OUTM(x, mask, val)       \
9920 	do {\
9921 		HWIO_INTLOCK(); \
9922 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_IN(x)); \
9923 		HWIO_INTFREE();\
9924 	} while (0)
9925 
9926 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_RING_ID_BMSK             0x0000ff00
9927 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_RING_ID_SHFT                    0x8
9928 
9929 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
9930 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_ID_ENTRY_SIZE_SHFT                 0x0
9931 
9932 //// Register WBM_R0_WBM2SW2_RELEASE_RING_STATUS ////
9933 
9934 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_ADDR(x)              (x+0x000009cc)
9935 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_PHYS(x)              (x+0x000009cc)
9936 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_RMSK                 0xffffffff
9937 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_SHFT                          0
9938 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_IN(x)                \
9939 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_RMSK)
9940 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_INM(x, mask)         \
9941 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_ADDR(x), mask)
9942 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_OUT(x, val)          \
9943 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_ADDR(x), val)
9944 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_OUTM(x, mask, val)   \
9945 	do {\
9946 		HWIO_INTLOCK(); \
9947 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_IN(x)); \
9948 		HWIO_INTFREE();\
9949 	} while (0)
9950 
9951 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
9952 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
9953 
9954 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
9955 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
9956 
9957 //// Register WBM_R0_WBM2SW2_RELEASE_RING_MISC ////
9958 
9959 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_ADDR(x)                (x+0x000009d0)
9960 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_PHYS(x)                (x+0x000009d0)
9961 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_RMSK                   0x03ffffff
9962 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SHFT                            0
9963 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_IN(x)                  \
9964 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_RMSK)
9965 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_INM(x, mask)           \
9966 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_ADDR(x), mask)
9967 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_OUT(x, val)            \
9968 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_ADDR(x), val)
9969 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_OUTM(x, mask, val)     \
9970 	do {\
9971 		HWIO_INTLOCK(); \
9972 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_IN(x)); \
9973 		HWIO_INTFREE();\
9974 	} while (0)
9975 
9976 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_LOOP_CNT_BMSK          0x03c00000
9977 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_LOOP_CNT_SHFT                0x16
9978 
9979 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
9980 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SPARE_CONTROL_SHFT            0xe
9981 
9982 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
9983 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
9984 
9985 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
9986 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
9987 
9988 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
9989 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
9990 
9991 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
9992 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SRNG_ENABLE_SHFT              0x6
9993 
9994 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
9995 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
9996 
9997 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
9998 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
9999 
10000 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
10001 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
10002 
10003 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SECURITY_BIT_BMSK      0x00000004
10004 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_SECURITY_BIT_SHFT             0x2
10005 
10006 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
10007 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
10008 
10009 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
10010 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT          0x0
10011 
10012 //// Register WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB ////
10013 
10014 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_ADDR(x)         (x+0x000009d4)
10015 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_PHYS(x)         (x+0x000009d4)
10016 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_RMSK            0xffffffff
10017 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_SHFT                     0
10018 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_IN(x)           \
10019 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_RMSK)
10020 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)    \
10021 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
10022 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)     \
10023 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
10024 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
10025 	do {\
10026 		HWIO_INTLOCK(); \
10027 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
10028 		HWIO_INTFREE();\
10029 	} while (0)
10030 
10031 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
10032 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
10033 
10034 //// Register WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB ////
10035 
10036 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_ADDR(x)         (x+0x000009d8)
10037 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_PHYS(x)         (x+0x000009d8)
10038 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_RMSK            0x000000ff
10039 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_SHFT                     0
10040 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_IN(x)           \
10041 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_RMSK)
10042 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)    \
10043 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
10044 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)     \
10045 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
10046 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
10047 	do {\
10048 		HWIO_INTLOCK(); \
10049 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
10050 		HWIO_INTFREE();\
10051 	} while (0)
10052 
10053 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
10054 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
10055 
10056 //// Register WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP ////
10057 
10058 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x000009e4)
10059 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x000009e4)
10060 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
10061 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_SHFT              0
10062 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)    \
10063 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
10064 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
10065 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
10066 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
10067 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
10068 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
10069 	do {\
10070 		HWIO_INTLOCK(); \
10071 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
10072 		HWIO_INTFREE();\
10073 	} while (0)
10074 
10075 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
10076 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
10077 
10078 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
10079 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
10080 
10081 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
10082 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
10083 
10084 //// Register WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS ////
10085 
10086 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x000009e8)
10087 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x000009e8)
10088 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
10089 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_SHFT             0
10090 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)   \
10091 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
10092 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
10093 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
10094 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
10095 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
10096 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
10097 	do {\
10098 		HWIO_INTLOCK(); \
10099 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
10100 		HWIO_INTFREE();\
10101 	} while (0)
10102 
10103 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
10104 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
10105 
10106 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
10107 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
10108 
10109 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
10110 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
10111 
10112 //// Register WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER ////
10113 
10114 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x000009ec)
10115 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x000009ec)
10116 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
10117 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT           0
10118 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x) \
10119 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
10120 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
10121 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
10122 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
10123 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
10124 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
10125 	do {\
10126 		HWIO_INTLOCK(); \
10127 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
10128 		HWIO_INTFREE();\
10129 	} while (0)
10130 
10131 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
10132 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
10133 
10134 //// Register WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB ////
10135 
10136 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)       (x+0x00000a08)
10137 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)       (x+0x00000a08)
10138 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_RMSK          0xffffffff
10139 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_SHFT                   0
10140 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_IN(x)         \
10141 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_RMSK)
10142 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)  \
10143 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
10144 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)   \
10145 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
10146 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
10147 	do {\
10148 		HWIO_INTLOCK(); \
10149 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
10150 		HWIO_INTFREE();\
10151 	} while (0)
10152 
10153 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK     0xffffffff
10154 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT            0x0
10155 
10156 //// Register WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB ////
10157 
10158 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)       (x+0x00000a0c)
10159 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)       (x+0x00000a0c)
10160 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_RMSK          0x000001ff
10161 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_SHFT                   0
10162 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_IN(x)         \
10163 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_RMSK)
10164 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)  \
10165 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
10166 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)   \
10167 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
10168 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
10169 	do {\
10170 		HWIO_INTLOCK(); \
10171 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
10172 		HWIO_INTFREE();\
10173 	} while (0)
10174 
10175 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
10176 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
10177 
10178 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK     0x000000ff
10179 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT            0x0
10180 
10181 //// Register WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA ////
10182 
10183 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_ADDR(x)           (x+0x00000a10)
10184 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_PHYS(x)           (x+0x00000a10)
10185 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_RMSK              0xffffffff
10186 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_SHFT                       0
10187 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_IN(x)             \
10188 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_RMSK)
10189 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_INM(x, mask)      \
10190 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
10191 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_OUT(x, val)       \
10192 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_ADDR(x), val)
10193 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
10194 	do {\
10195 		HWIO_INTLOCK(); \
10196 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_IN(x)); \
10197 		HWIO_INTFREE();\
10198 	} while (0)
10199 
10200 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_VALUE_BMSK        0xffffffff
10201 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_MSI1_DATA_VALUE_SHFT               0x0
10202 
10203 //// Register WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET ////
10204 
10205 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x00000a14)
10206 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x00000a14)
10207 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
10208 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                 0
10209 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)       \
10210 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
10211 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
10212 	in_dword_masked ( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
10213 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val) \
10214 	out_dword( HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
10215 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
10216 	do {\
10217 		HWIO_INTLOCK(); \
10218 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
10219 		HWIO_INTFREE();\
10220 	} while (0)
10221 
10222 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
10223 #define HWIO_WBM_R0_WBM2SW2_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
10224 
10225 //// Register WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB ////
10226 
10227 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_ADDR(x)            (x+0x00000a18)
10228 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_PHYS(x)            (x+0x00000a18)
10229 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_RMSK               0xffffffff
10230 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_SHFT                        0
10231 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_IN(x)              \
10232 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_RMSK)
10233 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_INM(x, mask)       \
10234 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_ADDR(x), mask)
10235 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_OUT(x, val)        \
10236 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_ADDR(x), val)
10237 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_OUTM(x, mask, val) \
10238 	do {\
10239 		HWIO_INTLOCK(); \
10240 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_IN(x)); \
10241 		HWIO_INTFREE();\
10242 	} while (0)
10243 
10244 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
10245 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
10246 
10247 //// Register WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB ////
10248 
10249 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_ADDR(x)            (x+0x00000a1c)
10250 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_PHYS(x)            (x+0x00000a1c)
10251 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RMSK               0x0fffffff
10252 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_SHFT                        0
10253 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_IN(x)              \
10254 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RMSK)
10255 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_INM(x, mask)       \
10256 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_ADDR(x), mask)
10257 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_OUT(x, val)        \
10258 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_ADDR(x), val)
10259 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_OUTM(x, mask, val) \
10260 	do {\
10261 		HWIO_INTLOCK(); \
10262 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_IN(x)); \
10263 		HWIO_INTFREE();\
10264 	} while (0)
10265 
10266 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK     0x0fffff00
10267 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT            0x8
10268 
10269 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
10270 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
10271 
10272 //// Register WBM_R0_WBM2SW3_RELEASE_RING_ID ////
10273 
10274 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ADDR(x)                  (x+0x00000a20)
10275 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_PHYS(x)                  (x+0x00000a20)
10276 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_RMSK                     0x0000ffff
10277 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_SHFT                              0
10278 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_IN(x)                    \
10279 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_RMSK)
10280 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_INM(x, mask)             \
10281 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ADDR(x), mask)
10282 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_OUT(x, val)              \
10283 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ADDR(x), val)
10284 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_OUTM(x, mask, val)       \
10285 	do {\
10286 		HWIO_INTLOCK(); \
10287 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_IN(x)); \
10288 		HWIO_INTFREE();\
10289 	} while (0)
10290 
10291 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_RING_ID_BMSK             0x0000ff00
10292 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_RING_ID_SHFT                    0x8
10293 
10294 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
10295 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_ID_ENTRY_SIZE_SHFT                 0x0
10296 
10297 //// Register WBM_R0_WBM2SW3_RELEASE_RING_STATUS ////
10298 
10299 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_ADDR(x)              (x+0x00000a24)
10300 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_PHYS(x)              (x+0x00000a24)
10301 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_RMSK                 0xffffffff
10302 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_SHFT                          0
10303 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_IN(x)                \
10304 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_RMSK)
10305 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_INM(x, mask)         \
10306 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_ADDR(x), mask)
10307 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_OUT(x, val)          \
10308 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_ADDR(x), val)
10309 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_OUTM(x, mask, val)   \
10310 	do {\
10311 		HWIO_INTLOCK(); \
10312 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_IN(x)); \
10313 		HWIO_INTFREE();\
10314 	} while (0)
10315 
10316 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
10317 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
10318 
10319 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
10320 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
10321 
10322 //// Register WBM_R0_WBM2SW3_RELEASE_RING_MISC ////
10323 
10324 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_ADDR(x)                (x+0x00000a28)
10325 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_PHYS(x)                (x+0x00000a28)
10326 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_RMSK                   0x03ffffff
10327 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SHFT                            0
10328 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_IN(x)                  \
10329 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_RMSK)
10330 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_INM(x, mask)           \
10331 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_ADDR(x), mask)
10332 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_OUT(x, val)            \
10333 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_ADDR(x), val)
10334 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_OUTM(x, mask, val)     \
10335 	do {\
10336 		HWIO_INTLOCK(); \
10337 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_IN(x)); \
10338 		HWIO_INTFREE();\
10339 	} while (0)
10340 
10341 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_LOOP_CNT_BMSK          0x03c00000
10342 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_LOOP_CNT_SHFT                0x16
10343 
10344 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
10345 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SPARE_CONTROL_SHFT            0xe
10346 
10347 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
10348 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
10349 
10350 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
10351 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
10352 
10353 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
10354 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
10355 
10356 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
10357 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SRNG_ENABLE_SHFT              0x6
10358 
10359 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
10360 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
10361 
10362 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
10363 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
10364 
10365 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
10366 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
10367 
10368 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SECURITY_BIT_BMSK      0x00000004
10369 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_SECURITY_BIT_SHFT             0x2
10370 
10371 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
10372 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
10373 
10374 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
10375 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT          0x0
10376 
10377 //// Register WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB ////
10378 
10379 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_ADDR(x)         (x+0x00000a2c)
10380 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_PHYS(x)         (x+0x00000a2c)
10381 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_RMSK            0xffffffff
10382 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_SHFT                     0
10383 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_IN(x)           \
10384 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_RMSK)
10385 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)    \
10386 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
10387 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)     \
10388 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
10389 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
10390 	do {\
10391 		HWIO_INTLOCK(); \
10392 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
10393 		HWIO_INTFREE();\
10394 	} while (0)
10395 
10396 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
10397 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
10398 
10399 //// Register WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB ////
10400 
10401 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000a30)
10402 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000a30)
10403 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_RMSK            0x000000ff
10404 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_SHFT                     0
10405 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_IN(x)           \
10406 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_RMSK)
10407 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)    \
10408 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
10409 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)     \
10410 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
10411 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
10412 	do {\
10413 		HWIO_INTLOCK(); \
10414 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
10415 		HWIO_INTFREE();\
10416 	} while (0)
10417 
10418 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
10419 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
10420 
10421 //// Register WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP ////
10422 
10423 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x00000a3c)
10424 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x00000a3c)
10425 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
10426 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_SHFT              0
10427 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)    \
10428 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
10429 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
10430 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
10431 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
10432 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
10433 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
10434 	do {\
10435 		HWIO_INTLOCK(); \
10436 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
10437 		HWIO_INTFREE();\
10438 	} while (0)
10439 
10440 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
10441 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
10442 
10443 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
10444 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
10445 
10446 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
10447 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
10448 
10449 //// Register WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS ////
10450 
10451 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000a40)
10452 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000a40)
10453 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
10454 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_SHFT             0
10455 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)   \
10456 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
10457 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
10458 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
10459 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
10460 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
10461 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
10462 	do {\
10463 		HWIO_INTLOCK(); \
10464 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
10465 		HWIO_INTFREE();\
10466 	} while (0)
10467 
10468 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
10469 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
10470 
10471 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
10472 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
10473 
10474 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
10475 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
10476 
10477 //// Register WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER ////
10478 
10479 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x00000a44)
10480 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x00000a44)
10481 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
10482 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT           0
10483 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x) \
10484 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
10485 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
10486 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
10487 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
10488 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
10489 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
10490 	do {\
10491 		HWIO_INTLOCK(); \
10492 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
10493 		HWIO_INTFREE();\
10494 	} while (0)
10495 
10496 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
10497 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
10498 
10499 //// Register WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB ////
10500 
10501 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)       (x+0x00000a60)
10502 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)       (x+0x00000a60)
10503 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_RMSK          0xffffffff
10504 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_SHFT                   0
10505 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_IN(x)         \
10506 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_RMSK)
10507 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)  \
10508 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
10509 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)   \
10510 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
10511 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
10512 	do {\
10513 		HWIO_INTLOCK(); \
10514 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
10515 		HWIO_INTFREE();\
10516 	} while (0)
10517 
10518 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK     0xffffffff
10519 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT            0x0
10520 
10521 //// Register WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB ////
10522 
10523 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)       (x+0x00000a64)
10524 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)       (x+0x00000a64)
10525 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_RMSK          0x000001ff
10526 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_SHFT                   0
10527 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_IN(x)         \
10528 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_RMSK)
10529 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)  \
10530 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
10531 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)   \
10532 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
10533 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
10534 	do {\
10535 		HWIO_INTLOCK(); \
10536 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
10537 		HWIO_INTFREE();\
10538 	} while (0)
10539 
10540 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
10541 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
10542 
10543 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK     0x000000ff
10544 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT            0x0
10545 
10546 //// Register WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA ////
10547 
10548 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_ADDR(x)           (x+0x00000a68)
10549 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_PHYS(x)           (x+0x00000a68)
10550 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_RMSK              0xffffffff
10551 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_SHFT                       0
10552 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_IN(x)             \
10553 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_RMSK)
10554 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_INM(x, mask)      \
10555 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
10556 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_OUT(x, val)       \
10557 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_ADDR(x), val)
10558 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
10559 	do {\
10560 		HWIO_INTLOCK(); \
10561 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_IN(x)); \
10562 		HWIO_INTFREE();\
10563 	} while (0)
10564 
10565 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_VALUE_BMSK        0xffffffff
10566 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_MSI1_DATA_VALUE_SHFT               0x0
10567 
10568 //// Register WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET ////
10569 
10570 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x00000a6c)
10571 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x00000a6c)
10572 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
10573 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                 0
10574 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)       \
10575 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
10576 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
10577 	in_dword_masked ( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
10578 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val) \
10579 	out_dword( HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
10580 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
10581 	do {\
10582 		HWIO_INTLOCK(); \
10583 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
10584 		HWIO_INTFREE();\
10585 	} while (0)
10586 
10587 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
10588 #define HWIO_WBM_R0_WBM2SW3_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
10589 
10590 //// Register WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB ////
10591 
10592 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_ADDR(x)            (x+0x00000a70)
10593 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_PHYS(x)            (x+0x00000a70)
10594 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_RMSK               0xffffffff
10595 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_SHFT                        0
10596 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_IN(x)              \
10597 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_RMSK)
10598 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_INM(x, mask)       \
10599 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_ADDR(x), mask)
10600 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_OUT(x, val)        \
10601 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_ADDR(x), val)
10602 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_OUTM(x, mask, val) \
10603 	do {\
10604 		HWIO_INTLOCK(); \
10605 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_IN(x)); \
10606 		HWIO_INTFREE();\
10607 	} while (0)
10608 
10609 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_BMSK 0xffffffff
10610 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_LSB_RING_BASE_ADDR_LSB_SHFT        0x0
10611 
10612 //// Register WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB ////
10613 
10614 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_ADDR(x)            (x+0x00000a74)
10615 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_PHYS(x)            (x+0x00000a74)
10616 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RMSK               0x0fffffff
10617 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_SHFT                        0
10618 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_IN(x)              \
10619 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RMSK)
10620 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_INM(x, mask)       \
10621 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_ADDR(x), mask)
10622 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_OUT(x, val)        \
10623 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_ADDR(x), val)
10624 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_OUTM(x, mask, val) \
10625 	do {\
10626 		HWIO_INTLOCK(); \
10627 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_IN(x)); \
10628 		HWIO_INTFREE();\
10629 	} while (0)
10630 
10631 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RING_SIZE_BMSK     0x0fffff00
10632 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RING_SIZE_SHFT            0x8
10633 
10634 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_BMSK 0x000000ff
10635 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_BASE_MSB_RING_BASE_ADDR_MSB_SHFT        0x0
10636 
10637 //// Register WBM_R0_WBM2SW4_RELEASE_RING_ID ////
10638 
10639 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ADDR(x)                  (x+0x00000a78)
10640 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_PHYS(x)                  (x+0x00000a78)
10641 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_RMSK                     0x0000ffff
10642 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_SHFT                              0
10643 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_IN(x)                    \
10644 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_RMSK)
10645 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_INM(x, mask)             \
10646 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ADDR(x), mask)
10647 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_OUT(x, val)              \
10648 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ADDR(x), val)
10649 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_OUTM(x, mask, val)       \
10650 	do {\
10651 		HWIO_INTLOCK(); \
10652 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_IN(x)); \
10653 		HWIO_INTFREE();\
10654 	} while (0)
10655 
10656 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_RING_ID_BMSK             0x0000ff00
10657 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_RING_ID_SHFT                    0x8
10658 
10659 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ENTRY_SIZE_BMSK          0x000000ff
10660 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_ID_ENTRY_SIZE_SHFT                 0x0
10661 
10662 //// Register WBM_R0_WBM2SW4_RELEASE_RING_STATUS ////
10663 
10664 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_ADDR(x)              (x+0x00000a7c)
10665 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_PHYS(x)              (x+0x00000a7c)
10666 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_RMSK                 0xffffffff
10667 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_SHFT                          0
10668 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_IN(x)                \
10669 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_RMSK)
10670 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_INM(x, mask)         \
10671 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_ADDR(x), mask)
10672 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_OUT(x, val)          \
10673 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_ADDR(x), val)
10674 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_OUTM(x, mask, val)   \
10675 	do {\
10676 		HWIO_INTLOCK(); \
10677 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_IN(x)); \
10678 		HWIO_INTFREE();\
10679 	} while (0)
10680 
10681 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_BMSK 0xffff0000
10682 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_NUM_AVAIL_WORDS_SHFT       0x10
10683 
10684 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_NUM_VALID_WORDS_BMSK 0x0000ffff
10685 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_STATUS_NUM_VALID_WORDS_SHFT        0x0
10686 
10687 //// Register WBM_R0_WBM2SW4_RELEASE_RING_MISC ////
10688 
10689 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_ADDR(x)                (x+0x00000a80)
10690 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_PHYS(x)                (x+0x00000a80)
10691 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_RMSK                   0x03ffffff
10692 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SHFT                            0
10693 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_IN(x)                  \
10694 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_RMSK)
10695 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_INM(x, mask)           \
10696 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_ADDR(x), mask)
10697 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_OUT(x, val)            \
10698 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_ADDR(x), val)
10699 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_OUTM(x, mask, val)     \
10700 	do {\
10701 		HWIO_INTLOCK(); \
10702 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_IN(x)); \
10703 		HWIO_INTFREE();\
10704 	} while (0)
10705 
10706 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_LOOP_CNT_BMSK          0x03c00000
10707 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_LOOP_CNT_SHFT                0x16
10708 
10709 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SPARE_CONTROL_BMSK     0x003fc000
10710 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SPARE_CONTROL_SHFT            0xe
10711 
10712 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_SM_STATE2_BMSK    0x00003000
10713 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_SM_STATE2_SHFT           0xc
10714 
10715 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_SM_STATE1_BMSK    0x00000f00
10716 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_SM_STATE1_SHFT           0x8
10717 
10718 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_IS_IDLE_BMSK      0x00000080
10719 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_IS_IDLE_SHFT             0x7
10720 
10721 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_ENABLE_BMSK       0x00000040
10722 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SRNG_ENABLE_SHFT              0x6
10723 
10724 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_BMSK 0x00000020
10725 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_DATA_TLV_SWAP_BIT_SHFT        0x5
10726 
10727 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_BMSK  0x00000010
10728 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_HOST_FW_SWAP_BIT_SHFT         0x4
10729 
10730 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_MSI_SWAP_BIT_BMSK      0x00000008
10731 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_MSI_SWAP_BIT_SHFT             0x3
10732 
10733 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SECURITY_BIT_BMSK      0x00000004
10734 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_SECURITY_BIT_SHFT             0x2
10735 
10736 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_LOOPCNT_DISABLE_BMSK   0x00000002
10737 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_LOOPCNT_DISABLE_SHFT          0x1
10738 
10739 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_RING_ID_DISABLE_BMSK   0x00000001
10740 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MISC_RING_ID_DISABLE_SHFT          0x0
10741 
10742 //// Register WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB ////
10743 
10744 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_ADDR(x)         (x+0x00000a84)
10745 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_PHYS(x)         (x+0x00000a84)
10746 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_RMSK            0xffffffff
10747 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_SHFT                     0
10748 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_IN(x)           \
10749 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_RMSK)
10750 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_INM(x, mask)    \
10751 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask)
10752 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_OUT(x, val)     \
10753 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_ADDR(x), val)
10754 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_OUTM(x, mask, val) \
10755 	do {\
10756 		HWIO_INTLOCK(); \
10757 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_IN(x)); \
10758 		HWIO_INTFREE();\
10759 	} while (0)
10760 
10761 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_BMSK 0xffffffff
10762 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_LSB_HEAD_PTR_MEMADDR_LSB_SHFT        0x0
10763 
10764 //// Register WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB ////
10765 
10766 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_ADDR(x)         (x+0x00000a88)
10767 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_PHYS(x)         (x+0x00000a88)
10768 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_RMSK            0x000000ff
10769 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_SHFT                     0
10770 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_IN(x)           \
10771 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_RMSK)
10772 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_INM(x, mask)    \
10773 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask)
10774 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_OUT(x, val)     \
10775 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_ADDR(x), val)
10776 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_OUTM(x, mask, val) \
10777 	do {\
10778 		HWIO_INTLOCK(); \
10779 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_IN(x)); \
10780 		HWIO_INTFREE();\
10781 	} while (0)
10782 
10783 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_BMSK 0x000000ff
10784 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_ADDR_MSB_HEAD_PTR_MEMADDR_MSB_SHFT        0x0
10785 
10786 //// Register WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP ////
10787 
10788 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x)  (x+0x00000a94)
10789 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_PHYS(x)  (x+0x00000a94)
10790 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_RMSK     0xffffffff
10791 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_SHFT              0
10792 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)    \
10793 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_RMSK)
10794 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_INM(x, mask) \
10795 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask)
10796 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_OUT(x, val) \
10797 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), val)
10798 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_OUTM(x, mask, val) \
10799 	do {\
10800 		HWIO_INTLOCK(); \
10801 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_IN(x)); \
10802 		HWIO_INTFREE();\
10803 	} while (0)
10804 
10805 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 0xffff0000
10806 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT       0x10
10807 
10808 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_BMSK 0x00008000
10809 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_SW_INTERRUPT_MODE_SHFT        0xf
10810 
10811 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 0x00007fff
10812 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT        0x0
10813 
10814 //// Register WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS ////
10815 
10816 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x) (x+0x00000a98)
10817 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_PHYS(x) (x+0x00000a98)
10818 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_RMSK    0xffffffff
10819 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_SHFT             0
10820 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)   \
10821 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_RMSK)
10822 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_INM(x, mask) \
10823 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask)
10824 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_OUT(x, val) \
10825 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), val)
10826 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_OUTM(x, mask, val) \
10827 	do {\
10828 		HWIO_INTLOCK(); \
10829 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_IN(x)); \
10830 		HWIO_INTFREE();\
10831 	} while (0)
10832 
10833 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_BMSK 0xffff0000
10834 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_INTERRUPT_TIMER_VALUE_SHFT       0x10
10835 
10836 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_BMSK 0x00008000
10837 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_CURRENT_SW_INT_WIRE_VALUE_SHFT        0xf
10838 
10839 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_BMSK 0x00007fff
10840 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_INT_STATUS_INTERNAL_BATCH_COUNTER_VALUE_SHFT        0x0
10841 
10842 //// Register WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER ////
10843 
10844 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x) (x+0x00000a9c)
10845 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_PHYS(x) (x+0x00000a9c)
10846 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK  0x000003ff
10847 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_SHFT           0
10848 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x) \
10849 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_RMSK)
10850 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_INM(x, mask) \
10851 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask)
10852 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_OUT(x, val) \
10853 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), val)
10854 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_OUTM(x, mask, val) \
10855 	do {\
10856 		HWIO_INTLOCK(); \
10857 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_IN(x)); \
10858 		HWIO_INTFREE();\
10859 	} while (0)
10860 
10861 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_BMSK 0x000003ff
10862 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_PRODUCER_FULL_COUNTER_RING_FULL_COUNTER_SHFT        0x0
10863 
10864 //// Register WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB ////
10865 
10866 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR(x)       (x+0x00000ab8)
10867 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_PHYS(x)       (x+0x00000ab8)
10868 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_RMSK          0xffffffff
10869 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_SHFT                   0
10870 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_IN(x)         \
10871 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_RMSK)
10872 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_INM(x, mask)  \
10873 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask)
10874 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_OUT(x, val)   \
10875 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), val)
10876 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_OUTM(x, mask, val) \
10877 	do {\
10878 		HWIO_INTLOCK(); \
10879 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_IN(x)); \
10880 		HWIO_INTFREE();\
10881 	} while (0)
10882 
10883 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR_BMSK     0xffffffff
10884 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_LSB_ADDR_SHFT            0x0
10885 
10886 //// Register WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB ////
10887 
10888 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR(x)       (x+0x00000abc)
10889 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_PHYS(x)       (x+0x00000abc)
10890 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_RMSK          0x000001ff
10891 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_SHFT                   0
10892 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_IN(x)         \
10893 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_RMSK)
10894 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_INM(x, mask)  \
10895 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask)
10896 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_OUT(x, val)   \
10897 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), val)
10898 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_OUTM(x, mask, val) \
10899 	do {\
10900 		HWIO_INTLOCK(); \
10901 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_IN(x)); \
10902 		HWIO_INTFREE();\
10903 	} while (0)
10904 
10905 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_BMSK 0x00000100
10906 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_MSI1_ENABLE_SHFT        0x8
10907 
10908 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR_BMSK     0x000000ff
10909 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_BASE_MSB_ADDR_SHFT            0x0
10910 
10911 //// Register WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA ////
10912 
10913 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_ADDR(x)           (x+0x00000ac0)
10914 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_PHYS(x)           (x+0x00000ac0)
10915 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_RMSK              0xffffffff
10916 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_SHFT                       0
10917 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_IN(x)             \
10918 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_RMSK)
10919 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_INM(x, mask)      \
10920 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_ADDR(x), mask)
10921 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_OUT(x, val)       \
10922 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_ADDR(x), val)
10923 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_OUTM(x, mask, val) \
10924 	do {\
10925 		HWIO_INTLOCK(); \
10926 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_IN(x)); \
10927 		HWIO_INTFREE();\
10928 	} while (0)
10929 
10930 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_VALUE_BMSK        0xffffffff
10931 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_MSI1_DATA_VALUE_SHFT               0x0
10932 
10933 //// Register WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET ////
10934 
10935 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x)     (x+0x00000ac4)
10936 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_PHYS(x)     (x+0x00000ac4)
10937 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_RMSK        0x0000ffff
10938 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_SHFT                 0
10939 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)       \
10940 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_RMSK)
10941 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_INM(x, mask) \
10942 	in_dword_masked ( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask)
10943 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_OUT(x, val) \
10944 	out_dword( HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), val)
10945 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_OUTM(x, mask, val) \
10946 	do {\
10947 		HWIO_INTLOCK(); \
10948 		out_dword_masked_ns(HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_ADDR(x), mask, val, HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_IN(x)); \
10949 		HWIO_INTFREE();\
10950 	} while (0)
10951 
10952 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_BMSK 0x0000ffff
10953 #define HWIO_WBM_R0_WBM2SW4_RELEASE_RING_HP_TP_SW_OFFSET_HP_TP_OFFSET_VALUE_SHFT        0x0
10954 
10955 //// Register WBM_R1_END_OF_TEST_CHECK ////
10956 
10957 #define HWIO_WBM_R1_END_OF_TEST_CHECK_ADDR(x)                        (x+0x00002000)
10958 #define HWIO_WBM_R1_END_OF_TEST_CHECK_PHYS(x)                        (x+0x00002000)
10959 #define HWIO_WBM_R1_END_OF_TEST_CHECK_RMSK                           0x00000001
10960 #define HWIO_WBM_R1_END_OF_TEST_CHECK_SHFT                                    0
10961 #define HWIO_WBM_R1_END_OF_TEST_CHECK_IN(x)                          \
10962 	in_dword_masked ( HWIO_WBM_R1_END_OF_TEST_CHECK_ADDR(x), HWIO_WBM_R1_END_OF_TEST_CHECK_RMSK)
10963 #define HWIO_WBM_R1_END_OF_TEST_CHECK_INM(x, mask)                   \
10964 	in_dword_masked ( HWIO_WBM_R1_END_OF_TEST_CHECK_ADDR(x), mask)
10965 #define HWIO_WBM_R1_END_OF_TEST_CHECK_OUT(x, val)                    \
10966 	out_dword( HWIO_WBM_R1_END_OF_TEST_CHECK_ADDR(x), val)
10967 #define HWIO_WBM_R1_END_OF_TEST_CHECK_OUTM(x, mask, val)             \
10968 	do {\
10969 		HWIO_INTLOCK(); \
10970 		out_dword_masked_ns(HWIO_WBM_R1_END_OF_TEST_CHECK_ADDR(x), mask, val, HWIO_WBM_R1_END_OF_TEST_CHECK_IN(x)); \
10971 		HWIO_INTFREE();\
10972 	} while (0)
10973 
10974 #define HWIO_WBM_R1_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_BMSK    0x00000001
10975 #define HWIO_WBM_R1_END_OF_TEST_CHECK_END_OF_TEST_SELF_CHECK_SHFT           0x0
10976 
10977 //// Register WBM_R1_TESTBUS_CTRL ////
10978 
10979 #define HWIO_WBM_R1_TESTBUS_CTRL_ADDR(x)                             (x+0x00002004)
10980 #define HWIO_WBM_R1_TESTBUS_CTRL_PHYS(x)                             (x+0x00002004)
10981 #define HWIO_WBM_R1_TESTBUS_CTRL_RMSK                                0x00001f3f
10982 #define HWIO_WBM_R1_TESTBUS_CTRL_SHFT                                         0
10983 #define HWIO_WBM_R1_TESTBUS_CTRL_IN(x)                               \
10984 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_CTRL_ADDR(x), HWIO_WBM_R1_TESTBUS_CTRL_RMSK)
10985 #define HWIO_WBM_R1_TESTBUS_CTRL_INM(x, mask)                        \
10986 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_CTRL_ADDR(x), mask)
10987 #define HWIO_WBM_R1_TESTBUS_CTRL_OUT(x, val)                         \
10988 	out_dword( HWIO_WBM_R1_TESTBUS_CTRL_ADDR(x), val)
10989 #define HWIO_WBM_R1_TESTBUS_CTRL_OUTM(x, mask, val)                  \
10990 	do {\
10991 		HWIO_INTLOCK(); \
10992 		out_dword_masked_ns(HWIO_WBM_R1_TESTBUS_CTRL_ADDR(x), mask, val, HWIO_WBM_R1_TESTBUS_CTRL_IN(x)); \
10993 		HWIO_INTFREE();\
10994 	} while (0)
10995 
10996 #define HWIO_WBM_R1_TESTBUS_CTRL_SELECT_GXI_BMSK                     0x00001f00
10997 #define HWIO_WBM_R1_TESTBUS_CTRL_SELECT_GXI_SHFT                            0x8
10998 
10999 #define HWIO_WBM_R1_TESTBUS_CTRL_SELECT_WBM_BMSK                     0x0000003f
11000 #define HWIO_WBM_R1_TESTBUS_CTRL_SELECT_WBM_SHFT                            0x0
11001 
11002 //// Register WBM_R1_TESTBUS_LOWER ////
11003 
11004 #define HWIO_WBM_R1_TESTBUS_LOWER_ADDR(x)                            (x+0x00002008)
11005 #define HWIO_WBM_R1_TESTBUS_LOWER_PHYS(x)                            (x+0x00002008)
11006 #define HWIO_WBM_R1_TESTBUS_LOWER_RMSK                               0xffffffff
11007 #define HWIO_WBM_R1_TESTBUS_LOWER_SHFT                                        0
11008 #define HWIO_WBM_R1_TESTBUS_LOWER_IN(x)                              \
11009 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_LOWER_ADDR(x), HWIO_WBM_R1_TESTBUS_LOWER_RMSK)
11010 #define HWIO_WBM_R1_TESTBUS_LOWER_INM(x, mask)                       \
11011 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_LOWER_ADDR(x), mask)
11012 #define HWIO_WBM_R1_TESTBUS_LOWER_OUT(x, val)                        \
11013 	out_dword( HWIO_WBM_R1_TESTBUS_LOWER_ADDR(x), val)
11014 #define HWIO_WBM_R1_TESTBUS_LOWER_OUTM(x, mask, val)                 \
11015 	do {\
11016 		HWIO_INTLOCK(); \
11017 		out_dword_masked_ns(HWIO_WBM_R1_TESTBUS_LOWER_ADDR(x), mask, val, HWIO_WBM_R1_TESTBUS_LOWER_IN(x)); \
11018 		HWIO_INTFREE();\
11019 	} while (0)
11020 
11021 #define HWIO_WBM_R1_TESTBUS_LOWER_VALUE_BMSK                         0xffffffff
11022 #define HWIO_WBM_R1_TESTBUS_LOWER_VALUE_SHFT                                0x0
11023 
11024 //// Register WBM_R1_TESTBUS_HIGHER ////
11025 
11026 #define HWIO_WBM_R1_TESTBUS_HIGHER_ADDR(x)                           (x+0x0000200c)
11027 #define HWIO_WBM_R1_TESTBUS_HIGHER_PHYS(x)                           (x+0x0000200c)
11028 #define HWIO_WBM_R1_TESTBUS_HIGHER_RMSK                              0x000000ff
11029 #define HWIO_WBM_R1_TESTBUS_HIGHER_SHFT                                       0
11030 #define HWIO_WBM_R1_TESTBUS_HIGHER_IN(x)                             \
11031 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_HIGHER_ADDR(x), HWIO_WBM_R1_TESTBUS_HIGHER_RMSK)
11032 #define HWIO_WBM_R1_TESTBUS_HIGHER_INM(x, mask)                      \
11033 	in_dword_masked ( HWIO_WBM_R1_TESTBUS_HIGHER_ADDR(x), mask)
11034 #define HWIO_WBM_R1_TESTBUS_HIGHER_OUT(x, val)                       \
11035 	out_dword( HWIO_WBM_R1_TESTBUS_HIGHER_ADDR(x), val)
11036 #define HWIO_WBM_R1_TESTBUS_HIGHER_OUTM(x, mask, val)                \
11037 	do {\
11038 		HWIO_INTLOCK(); \
11039 		out_dword_masked_ns(HWIO_WBM_R1_TESTBUS_HIGHER_ADDR(x), mask, val, HWIO_WBM_R1_TESTBUS_HIGHER_IN(x)); \
11040 		HWIO_INTFREE();\
11041 	} while (0)
11042 
11043 #define HWIO_WBM_R1_TESTBUS_HIGHER_VALUE_BMSK                        0x000000ff
11044 #define HWIO_WBM_R1_TESTBUS_HIGHER_VALUE_SHFT                               0x0
11045 
11046 //// Register WBM_R1_SM_STATES_IX_0 ////
11047 
11048 #define HWIO_WBM_R1_SM_STATES_IX_0_ADDR(x)                           (x+0x00002010)
11049 #define HWIO_WBM_R1_SM_STATES_IX_0_PHYS(x)                           (x+0x00002010)
11050 #define HWIO_WBM_R1_SM_STATES_IX_0_RMSK                              0x7fffffff
11051 #define HWIO_WBM_R1_SM_STATES_IX_0_SHFT                                       0
11052 #define HWIO_WBM_R1_SM_STATES_IX_0_IN(x)                             \
11053 	in_dword_masked ( HWIO_WBM_R1_SM_STATES_IX_0_ADDR(x), HWIO_WBM_R1_SM_STATES_IX_0_RMSK)
11054 #define HWIO_WBM_R1_SM_STATES_IX_0_INM(x, mask)                      \
11055 	in_dword_masked ( HWIO_WBM_R1_SM_STATES_IX_0_ADDR(x), mask)
11056 #define HWIO_WBM_R1_SM_STATES_IX_0_OUT(x, val)                       \
11057 	out_dword( HWIO_WBM_R1_SM_STATES_IX_0_ADDR(x), val)
11058 #define HWIO_WBM_R1_SM_STATES_IX_0_OUTM(x, mask, val)                \
11059 	do {\
11060 		HWIO_INTLOCK(); \
11061 		out_dword_masked_ns(HWIO_WBM_R1_SM_STATES_IX_0_ADDR(x), mask, val, HWIO_WBM_R1_SM_STATES_IX_0_IN(x)); \
11062 		HWIO_INTFREE();\
11063 	} while (0)
11064 
11065 #define HWIO_WBM_R1_SM_STATES_IX_0_SW2_BUFFER_P_STATE_BMSK           0x60000000
11066 #define HWIO_WBM_R1_SM_STATES_IX_0_SW2_BUFFER_P_STATE_SHFT                 0x1d
11067 
11068 #define HWIO_WBM_R1_SM_STATES_IX_0_SW1_BUFFER_P_STATE_BMSK           0x18000000
11069 #define HWIO_WBM_R1_SM_STATES_IX_0_SW1_BUFFER_P_STATE_SHFT                 0x1b
11070 
11071 #define HWIO_WBM_R1_SM_STATES_IX_0_SW0_BUFFER_P_STATE_BMSK           0x06000000
11072 #define HWIO_WBM_R1_SM_STATES_IX_0_SW0_BUFFER_P_STATE_SHFT                 0x19
11073 
11074 #define HWIO_WBM_R1_SM_STATES_IX_0_FW_BUFFER_P_STATE_BMSK            0x01800000
11075 #define HWIO_WBM_R1_SM_STATES_IX_0_FW_BUFFER_P_STATE_SHFT                  0x17
11076 
11077 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_DIST_P_STATE_BMSK            0x00600000
11078 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_DIST_P_STATE_SHFT                  0x15
11079 
11080 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_DIST_C_STATE_BMSK            0x00180000
11081 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_DIST_C_STATE_SHFT                  0x13
11082 
11083 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_DIST_P_STATE_BMSK          0x00060000
11084 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_DIST_P_STATE_SHFT                0x11
11085 
11086 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_DIST_C_STATE_BMSK          0x00018000
11087 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_DIST_C_STATE_SHFT                 0xf
11088 
11089 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_IDLE_LIST_PROD_B_STATE_BMSK  0x00007000
11090 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_IDLE_LIST_PROD_B_STATE_SHFT         0xc
11091 
11092 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_IDLE_LIST_PROD_P_STATE_BMSK  0x00000c00
11093 #define HWIO_WBM_R1_SM_STATES_IX_0_LINK_IDLE_LIST_PROD_P_STATE_SHFT         0xa
11094 
11095 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_IDLE_LIST_PROD_B_STATE_BMSK 0x00000380
11096 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_IDLE_LIST_PROD_B_STATE_SHFT        0x7
11097 
11098 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_IDLE_LIST_PROD_P_STATE_BMSK 0x00000060
11099 #define HWIO_WBM_R1_SM_STATES_IX_0_BUFFER_IDLE_LIST_PROD_P_STATE_SHFT        0x5
11100 
11101 #define HWIO_WBM_R1_SM_STATES_IX_0_RLS_REQ_PARSE_P_STATE_BMSK        0x0000001c
11102 #define HWIO_WBM_R1_SM_STATES_IX_0_RLS_REQ_PARSE_P_STATE_SHFT               0x2
11103 
11104 #define HWIO_WBM_R1_SM_STATES_IX_0_RLS_REQ_PARSE_C_STATE_BMSK        0x00000003
11105 #define HWIO_WBM_R1_SM_STATES_IX_0_RLS_REQ_PARSE_C_STATE_SHFT               0x0
11106 
11107 //// Register WBM_R1_SM_STATES_IX_1 ////
11108 
11109 #define HWIO_WBM_R1_SM_STATES_IX_1_ADDR(x)                           (x+0x00002014)
11110 #define HWIO_WBM_R1_SM_STATES_IX_1_PHYS(x)                           (x+0x00002014)
11111 #define HWIO_WBM_R1_SM_STATES_IX_1_RMSK                              0xffffffff
11112 #define HWIO_WBM_R1_SM_STATES_IX_1_SHFT                                       0
11113 #define HWIO_WBM_R1_SM_STATES_IX_1_IN(x)                             \
11114 	in_dword_masked ( HWIO_WBM_R1_SM_STATES_IX_1_ADDR(x), HWIO_WBM_R1_SM_STATES_IX_1_RMSK)
11115 #define HWIO_WBM_R1_SM_STATES_IX_1_INM(x, mask)                      \
11116 	in_dword_masked ( HWIO_WBM_R1_SM_STATES_IX_1_ADDR(x), mask)
11117 #define HWIO_WBM_R1_SM_STATES_IX_1_OUT(x, val)                       \
11118 	out_dword( HWIO_WBM_R1_SM_STATES_IX_1_ADDR(x), val)
11119 #define HWIO_WBM_R1_SM_STATES_IX_1_OUTM(x, mask, val)                \
11120 	do {\
11121 		HWIO_INTLOCK(); \
11122 		out_dword_masked_ns(HWIO_WBM_R1_SM_STATES_IX_1_ADDR(x), mask, val, HWIO_WBM_R1_SM_STATES_IX_1_IN(x)); \
11123 		HWIO_INTFREE();\
11124 	} while (0)
11125 
11126 #define HWIO_WBM_R1_SM_STATES_IX_1_SW4_BUFFER_P_STATE_BMSK           0xc0000000
11127 #define HWIO_WBM_R1_SM_STATES_IX_1_SW4_BUFFER_P_STATE_SHFT                 0x1e
11128 
11129 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_DIST_NULL_PTR_BMSK      0x20000000
11130 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_DIST_NULL_PTR_SHFT            0x1d
11131 
11132 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_DIST_NULL_PTR_BMSK       0x10000000
11133 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_DIST_NULL_PTR_SHFT             0x1c
11134 
11135 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SCAT_SRNG_C_STATE_BMSK  0x0e000000
11136 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SCAT_SRNG_C_STATE_SHFT        0x19
11137 
11138 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SCAT_SRNG_P_STATE_BMSK  0x01c00000
11139 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SCAT_SRNG_P_STATE_SHFT        0x16
11140 
11141 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SCAT_SRNG_C_STATE_BMSK   0x00380000
11142 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SCAT_SRNG_C_STATE_SHFT         0x13
11143 
11144 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SCAT_SRNG_P_STATE_BMSK   0x00070000
11145 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SCAT_SRNG_P_STATE_SHFT         0x10
11146 
11147 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SRNG_C_STATE_BMSK       0x0000e000
11148 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SRNG_C_STATE_SHFT              0xd
11149 
11150 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SRNG_P_STATE_BMSK       0x00001c00
11151 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_LINK_SRNG_P_STATE_SHFT              0xa
11152 
11153 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SRNG_C_STATE_BMSK        0x00000380
11154 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SRNG_C_STATE_SHFT               0x7
11155 
11156 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SRNG_P_STATE_BMSK        0x00000070
11157 #define HWIO_WBM_R1_SM_STATES_IX_1_IDLE_BUF_SRNG_P_STATE_SHFT               0x4
11158 
11159 #define HWIO_WBM_R1_SM_STATES_IX_1_LINK_ZERO_OUT_STATE_BMSK          0x0000000c
11160 #define HWIO_WBM_R1_SM_STATES_IX_1_LINK_ZERO_OUT_STATE_SHFT                 0x2
11161 
11162 #define HWIO_WBM_R1_SM_STATES_IX_1_SW3_BUFFER_P_STATE_BMSK           0x00000003
11163 #define HWIO_WBM_R1_SM_STATES_IX_1_SW3_BUFFER_P_STATE_SHFT                  0x0
11164 
11165 //// Register WBM_R1_EVENTMASK_IX_0 ////
11166 
11167 #define HWIO_WBM_R1_EVENTMASK_IX_0_ADDR(x)                           (x+0x00002018)
11168 #define HWIO_WBM_R1_EVENTMASK_IX_0_PHYS(x)                           (x+0x00002018)
11169 #define HWIO_WBM_R1_EVENTMASK_IX_0_RMSK                              0xffffffff
11170 #define HWIO_WBM_R1_EVENTMASK_IX_0_SHFT                                       0
11171 #define HWIO_WBM_R1_EVENTMASK_IX_0_IN(x)                             \
11172 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_0_ADDR(x), HWIO_WBM_R1_EVENTMASK_IX_0_RMSK)
11173 #define HWIO_WBM_R1_EVENTMASK_IX_0_INM(x, mask)                      \
11174 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_0_ADDR(x), mask)
11175 #define HWIO_WBM_R1_EVENTMASK_IX_0_OUT(x, val)                       \
11176 	out_dword( HWIO_WBM_R1_EVENTMASK_IX_0_ADDR(x), val)
11177 #define HWIO_WBM_R1_EVENTMASK_IX_0_OUTM(x, mask, val)                \
11178 	do {\
11179 		HWIO_INTLOCK(); \
11180 		out_dword_masked_ns(HWIO_WBM_R1_EVENTMASK_IX_0_ADDR(x), mask, val, HWIO_WBM_R1_EVENTMASK_IX_0_IN(x)); \
11181 		HWIO_INTFREE();\
11182 	} while (0)
11183 
11184 #define HWIO_WBM_R1_EVENTMASK_IX_0_MASK_BMSK                         0xffffffff
11185 #define HWIO_WBM_R1_EVENTMASK_IX_0_MASK_SHFT                                0x0
11186 
11187 //// Register WBM_R1_EVENTMASK_IX_1 ////
11188 
11189 #define HWIO_WBM_R1_EVENTMASK_IX_1_ADDR(x)                           (x+0x0000201c)
11190 #define HWIO_WBM_R1_EVENTMASK_IX_1_PHYS(x)                           (x+0x0000201c)
11191 #define HWIO_WBM_R1_EVENTMASK_IX_1_RMSK                              0xffffffff
11192 #define HWIO_WBM_R1_EVENTMASK_IX_1_SHFT                                       0
11193 #define HWIO_WBM_R1_EVENTMASK_IX_1_IN(x)                             \
11194 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_1_ADDR(x), HWIO_WBM_R1_EVENTMASK_IX_1_RMSK)
11195 #define HWIO_WBM_R1_EVENTMASK_IX_1_INM(x, mask)                      \
11196 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_1_ADDR(x), mask)
11197 #define HWIO_WBM_R1_EVENTMASK_IX_1_OUT(x, val)                       \
11198 	out_dword( HWIO_WBM_R1_EVENTMASK_IX_1_ADDR(x), val)
11199 #define HWIO_WBM_R1_EVENTMASK_IX_1_OUTM(x, mask, val)                \
11200 	do {\
11201 		HWIO_INTLOCK(); \
11202 		out_dword_masked_ns(HWIO_WBM_R1_EVENTMASK_IX_1_ADDR(x), mask, val, HWIO_WBM_R1_EVENTMASK_IX_1_IN(x)); \
11203 		HWIO_INTFREE();\
11204 	} while (0)
11205 
11206 #define HWIO_WBM_R1_EVENTMASK_IX_1_MASK_BMSK                         0xffffffff
11207 #define HWIO_WBM_R1_EVENTMASK_IX_1_MASK_SHFT                                0x0
11208 
11209 //// Register WBM_R1_EVENTMASK_IX_2 ////
11210 
11211 #define HWIO_WBM_R1_EVENTMASK_IX_2_ADDR(x)                           (x+0x00002020)
11212 #define HWIO_WBM_R1_EVENTMASK_IX_2_PHYS(x)                           (x+0x00002020)
11213 #define HWIO_WBM_R1_EVENTMASK_IX_2_RMSK                              0xffffffff
11214 #define HWIO_WBM_R1_EVENTMASK_IX_2_SHFT                                       0
11215 #define HWIO_WBM_R1_EVENTMASK_IX_2_IN(x)                             \
11216 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_2_ADDR(x), HWIO_WBM_R1_EVENTMASK_IX_2_RMSK)
11217 #define HWIO_WBM_R1_EVENTMASK_IX_2_INM(x, mask)                      \
11218 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_2_ADDR(x), mask)
11219 #define HWIO_WBM_R1_EVENTMASK_IX_2_OUT(x, val)                       \
11220 	out_dword( HWIO_WBM_R1_EVENTMASK_IX_2_ADDR(x), val)
11221 #define HWIO_WBM_R1_EVENTMASK_IX_2_OUTM(x, mask, val)                \
11222 	do {\
11223 		HWIO_INTLOCK(); \
11224 		out_dword_masked_ns(HWIO_WBM_R1_EVENTMASK_IX_2_ADDR(x), mask, val, HWIO_WBM_R1_EVENTMASK_IX_2_IN(x)); \
11225 		HWIO_INTFREE();\
11226 	} while (0)
11227 
11228 #define HWIO_WBM_R1_EVENTMASK_IX_2_MASK_BMSK                         0xffffffff
11229 #define HWIO_WBM_R1_EVENTMASK_IX_2_MASK_SHFT                                0x0
11230 
11231 //// Register WBM_R1_EVENTMASK_IX_3 ////
11232 
11233 #define HWIO_WBM_R1_EVENTMASK_IX_3_ADDR(x)                           (x+0x00002024)
11234 #define HWIO_WBM_R1_EVENTMASK_IX_3_PHYS(x)                           (x+0x00002024)
11235 #define HWIO_WBM_R1_EVENTMASK_IX_3_RMSK                              0xffffffff
11236 #define HWIO_WBM_R1_EVENTMASK_IX_3_SHFT                                       0
11237 #define HWIO_WBM_R1_EVENTMASK_IX_3_IN(x)                             \
11238 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_3_ADDR(x), HWIO_WBM_R1_EVENTMASK_IX_3_RMSK)
11239 #define HWIO_WBM_R1_EVENTMASK_IX_3_INM(x, mask)                      \
11240 	in_dword_masked ( HWIO_WBM_R1_EVENTMASK_IX_3_ADDR(x), mask)
11241 #define HWIO_WBM_R1_EVENTMASK_IX_3_OUT(x, val)                       \
11242 	out_dword( HWIO_WBM_R1_EVENTMASK_IX_3_ADDR(x), val)
11243 #define HWIO_WBM_R1_EVENTMASK_IX_3_OUTM(x, mask, val)                \
11244 	do {\
11245 		HWIO_INTLOCK(); \
11246 		out_dword_masked_ns(HWIO_WBM_R1_EVENTMASK_IX_3_ADDR(x), mask, val, HWIO_WBM_R1_EVENTMASK_IX_3_IN(x)); \
11247 		HWIO_INTFREE();\
11248 	} while (0)
11249 
11250 #define HWIO_WBM_R1_EVENTMASK_IX_3_MASK_BMSK                         0xffffffff
11251 #define HWIO_WBM_R1_EVENTMASK_IX_3_MASK_SHFT                                0x0
11252 
11253 //// Register WBM_R1_REG_ACCESS_EVENT_GEN_CTRL ////
11254 
11255 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x)                (x+0x00002028)
11256 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_PHYS(x)                (x+0x00002028)
11257 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_RMSK                   0xffffffff
11258 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_SHFT                            0
11259 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_IN(x)                  \
11260 	in_dword_masked ( HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_RMSK)
11261 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_INM(x, mask)           \
11262 	in_dword_masked ( HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), mask)
11263 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_OUT(x, val)            \
11264 	out_dword( HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), val)
11265 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_OUTM(x, mask, val)     \
11266 	do {\
11267 		HWIO_INTLOCK(); \
11268 		out_dword_masked_ns(HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDR(x), mask, val, HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_IN(x)); \
11269 		HWIO_INTFREE();\
11270 	} while (0)
11271 
11272 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_END_BMSK 0xfffe0000
11273 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_END_SHFT       0x11
11274 
11275 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_START_BMSK 0x0001fffc
11276 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_ADDRESS_RANGE_START_SHFT        0x2
11277 
11278 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_WRITE_ACCESS_REPORT_ENABLE_BMSK 0x00000002
11279 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_WRITE_ACCESS_REPORT_ENABLE_SHFT        0x1
11280 
11281 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_READ_ACCESS_REPORT_ENABLE_BMSK 0x00000001
11282 #define HWIO_WBM_R1_REG_ACCESS_EVENT_GEN_CTRL_READ_ACCESS_REPORT_ENABLE_SHFT        0x0
11283 
11284 //// Register WBM_R2_PPE_RELEASE_RING_HP ////
11285 
11286 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_ADDR(x)                      (x+0x00003000)
11287 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_PHYS(x)                      (x+0x00003000)
11288 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_RMSK                         0x0000ffff
11289 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_SHFT                                  0
11290 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_IN(x)                        \
11291 	in_dword_masked ( HWIO_WBM_R2_PPE_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_PPE_RELEASE_RING_HP_RMSK)
11292 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_INM(x, mask)                 \
11293 	in_dword_masked ( HWIO_WBM_R2_PPE_RELEASE_RING_HP_ADDR(x), mask)
11294 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_OUT(x, val)                  \
11295 	out_dword( HWIO_WBM_R2_PPE_RELEASE_RING_HP_ADDR(x), val)
11296 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_OUTM(x, mask, val)           \
11297 	do {\
11298 		HWIO_INTLOCK(); \
11299 		out_dword_masked_ns(HWIO_WBM_R2_PPE_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_PPE_RELEASE_RING_HP_IN(x)); \
11300 		HWIO_INTFREE();\
11301 	} while (0)
11302 
11303 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11304 #define HWIO_WBM_R2_PPE_RELEASE_RING_HP_HEAD_PTR_SHFT                       0x0
11305 
11306 //// Register WBM_R2_PPE_RELEASE_RING_TP ////
11307 
11308 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_ADDR(x)                      (x+0x00003004)
11309 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_PHYS(x)                      (x+0x00003004)
11310 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_RMSK                         0x0000ffff
11311 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_SHFT                                  0
11312 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_IN(x)                        \
11313 	in_dword_masked ( HWIO_WBM_R2_PPE_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_PPE_RELEASE_RING_TP_RMSK)
11314 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_INM(x, mask)                 \
11315 	in_dword_masked ( HWIO_WBM_R2_PPE_RELEASE_RING_TP_ADDR(x), mask)
11316 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_OUT(x, val)                  \
11317 	out_dword( HWIO_WBM_R2_PPE_RELEASE_RING_TP_ADDR(x), val)
11318 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_OUTM(x, mask, val)           \
11319 	do {\
11320 		HWIO_INTLOCK(); \
11321 		out_dword_masked_ns(HWIO_WBM_R2_PPE_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_PPE_RELEASE_RING_TP_IN(x)); \
11322 		HWIO_INTFREE();\
11323 	} while (0)
11324 
11325 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11326 #define HWIO_WBM_R2_PPE_RELEASE_RING_TP_TAIL_PTR_SHFT                       0x0
11327 
11328 //// Register WBM_R2_TQM_RELEASE_RING_HP ////
11329 
11330 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_ADDR(x)                      (x+0x00003008)
11331 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_PHYS(x)                      (x+0x00003008)
11332 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_RMSK                         0x0000ffff
11333 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_SHFT                                  0
11334 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_IN(x)                        \
11335 	in_dword_masked ( HWIO_WBM_R2_TQM_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_TQM_RELEASE_RING_HP_RMSK)
11336 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_INM(x, mask)                 \
11337 	in_dword_masked ( HWIO_WBM_R2_TQM_RELEASE_RING_HP_ADDR(x), mask)
11338 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_OUT(x, val)                  \
11339 	out_dword( HWIO_WBM_R2_TQM_RELEASE_RING_HP_ADDR(x), val)
11340 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_OUTM(x, mask, val)           \
11341 	do {\
11342 		HWIO_INTLOCK(); \
11343 		out_dword_masked_ns(HWIO_WBM_R2_TQM_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_TQM_RELEASE_RING_HP_IN(x)); \
11344 		HWIO_INTFREE();\
11345 	} while (0)
11346 
11347 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11348 #define HWIO_WBM_R2_TQM_RELEASE_RING_HP_HEAD_PTR_SHFT                       0x0
11349 
11350 //// Register WBM_R2_TQM_RELEASE_RING_TP ////
11351 
11352 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_ADDR(x)                      (x+0x0000300c)
11353 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_PHYS(x)                      (x+0x0000300c)
11354 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_RMSK                         0x0000ffff
11355 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_SHFT                                  0
11356 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_IN(x)                        \
11357 	in_dword_masked ( HWIO_WBM_R2_TQM_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_TQM_RELEASE_RING_TP_RMSK)
11358 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_INM(x, mask)                 \
11359 	in_dword_masked ( HWIO_WBM_R2_TQM_RELEASE_RING_TP_ADDR(x), mask)
11360 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_OUT(x, val)                  \
11361 	out_dword( HWIO_WBM_R2_TQM_RELEASE_RING_TP_ADDR(x), val)
11362 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_OUTM(x, mask, val)           \
11363 	do {\
11364 		HWIO_INTLOCK(); \
11365 		out_dword_masked_ns(HWIO_WBM_R2_TQM_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_TQM_RELEASE_RING_TP_IN(x)); \
11366 		HWIO_INTFREE();\
11367 	} while (0)
11368 
11369 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11370 #define HWIO_WBM_R2_TQM_RELEASE_RING_TP_TAIL_PTR_SHFT                       0x0
11371 
11372 //// Register WBM_R2_REO_RELEASE_RING_HP ////
11373 
11374 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_ADDR(x)                      (x+0x00003010)
11375 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_PHYS(x)                      (x+0x00003010)
11376 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_RMSK                         0x0000ffff
11377 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_SHFT                                  0
11378 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_IN(x)                        \
11379 	in_dword_masked ( HWIO_WBM_R2_REO_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_REO_RELEASE_RING_HP_RMSK)
11380 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_INM(x, mask)                 \
11381 	in_dword_masked ( HWIO_WBM_R2_REO_RELEASE_RING_HP_ADDR(x), mask)
11382 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_OUT(x, val)                  \
11383 	out_dword( HWIO_WBM_R2_REO_RELEASE_RING_HP_ADDR(x), val)
11384 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_OUTM(x, mask, val)           \
11385 	do {\
11386 		HWIO_INTLOCK(); \
11387 		out_dword_masked_ns(HWIO_WBM_R2_REO_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_REO_RELEASE_RING_HP_IN(x)); \
11388 		HWIO_INTFREE();\
11389 	} while (0)
11390 
11391 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11392 #define HWIO_WBM_R2_REO_RELEASE_RING_HP_HEAD_PTR_SHFT                       0x0
11393 
11394 //// Register WBM_R2_REO_RELEASE_RING_TP ////
11395 
11396 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_ADDR(x)                      (x+0x00003014)
11397 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_PHYS(x)                      (x+0x00003014)
11398 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_RMSK                         0x0000ffff
11399 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_SHFT                                  0
11400 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_IN(x)                        \
11401 	in_dword_masked ( HWIO_WBM_R2_REO_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_REO_RELEASE_RING_TP_RMSK)
11402 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_INM(x, mask)                 \
11403 	in_dword_masked ( HWIO_WBM_R2_REO_RELEASE_RING_TP_ADDR(x), mask)
11404 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_OUT(x, val)                  \
11405 	out_dword( HWIO_WBM_R2_REO_RELEASE_RING_TP_ADDR(x), val)
11406 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_OUTM(x, mask, val)           \
11407 	do {\
11408 		HWIO_INTLOCK(); \
11409 		out_dword_masked_ns(HWIO_WBM_R2_REO_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_REO_RELEASE_RING_TP_IN(x)); \
11410 		HWIO_INTFREE();\
11411 	} while (0)
11412 
11413 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11414 #define HWIO_WBM_R2_REO_RELEASE_RING_TP_TAIL_PTR_SHFT                       0x0
11415 
11416 //// Register WBM_R2_SW_RELEASE_RING_HP ////
11417 
11418 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_ADDR(x)                       (x+0x00003018)
11419 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_PHYS(x)                       (x+0x00003018)
11420 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_RMSK                          0x0000ffff
11421 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_SHFT                                   0
11422 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_IN(x)                         \
11423 	in_dword_masked ( HWIO_WBM_R2_SW_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_SW_RELEASE_RING_HP_RMSK)
11424 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_INM(x, mask)                  \
11425 	in_dword_masked ( HWIO_WBM_R2_SW_RELEASE_RING_HP_ADDR(x), mask)
11426 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_OUT(x, val)                   \
11427 	out_dword( HWIO_WBM_R2_SW_RELEASE_RING_HP_ADDR(x), val)
11428 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_OUTM(x, mask, val)            \
11429 	do {\
11430 		HWIO_INTLOCK(); \
11431 		out_dword_masked_ns(HWIO_WBM_R2_SW_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_SW_RELEASE_RING_HP_IN(x)); \
11432 		HWIO_INTFREE();\
11433 	} while (0)
11434 
11435 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_HEAD_PTR_BMSK                 0x0000ffff
11436 #define HWIO_WBM_R2_SW_RELEASE_RING_HP_HEAD_PTR_SHFT                        0x0
11437 
11438 //// Register WBM_R2_SW_RELEASE_RING_TP ////
11439 
11440 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_ADDR(x)                       (x+0x0000301c)
11441 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_PHYS(x)                       (x+0x0000301c)
11442 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_RMSK                          0x0000ffff
11443 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_SHFT                                   0
11444 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_IN(x)                         \
11445 	in_dword_masked ( HWIO_WBM_R2_SW_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_SW_RELEASE_RING_TP_RMSK)
11446 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_INM(x, mask)                  \
11447 	in_dword_masked ( HWIO_WBM_R2_SW_RELEASE_RING_TP_ADDR(x), mask)
11448 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_OUT(x, val)                   \
11449 	out_dword( HWIO_WBM_R2_SW_RELEASE_RING_TP_ADDR(x), val)
11450 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_OUTM(x, mask, val)            \
11451 	do {\
11452 		HWIO_INTLOCK(); \
11453 		out_dword_masked_ns(HWIO_WBM_R2_SW_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_SW_RELEASE_RING_TP_IN(x)); \
11454 		HWIO_INTFREE();\
11455 	} while (0)
11456 
11457 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_TAIL_PTR_BMSK                 0x0000ffff
11458 #define HWIO_WBM_R2_SW_RELEASE_RING_TP_TAIL_PTR_SHFT                        0x0
11459 
11460 //// Register WBM_R2_FW_RELEASE_RING_HP ////
11461 
11462 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_ADDR(x)                       (x+0x00003020)
11463 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_PHYS(x)                       (x+0x00003020)
11464 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_RMSK                          0x0000ffff
11465 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_SHFT                                   0
11466 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_IN(x)                         \
11467 	in_dword_masked ( HWIO_WBM_R2_FW_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_FW_RELEASE_RING_HP_RMSK)
11468 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_INM(x, mask)                  \
11469 	in_dword_masked ( HWIO_WBM_R2_FW_RELEASE_RING_HP_ADDR(x), mask)
11470 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_OUT(x, val)                   \
11471 	out_dword( HWIO_WBM_R2_FW_RELEASE_RING_HP_ADDR(x), val)
11472 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_OUTM(x, mask, val)            \
11473 	do {\
11474 		HWIO_INTLOCK(); \
11475 		out_dword_masked_ns(HWIO_WBM_R2_FW_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_FW_RELEASE_RING_HP_IN(x)); \
11476 		HWIO_INTFREE();\
11477 	} while (0)
11478 
11479 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_HEAD_PTR_BMSK                 0x0000ffff
11480 #define HWIO_WBM_R2_FW_RELEASE_RING_HP_HEAD_PTR_SHFT                        0x0
11481 
11482 //// Register WBM_R2_FW_RELEASE_RING_TP ////
11483 
11484 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_ADDR(x)                       (x+0x00003024)
11485 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_PHYS(x)                       (x+0x00003024)
11486 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_RMSK                          0x0000ffff
11487 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_SHFT                                   0
11488 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_IN(x)                         \
11489 	in_dword_masked ( HWIO_WBM_R2_FW_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_FW_RELEASE_RING_TP_RMSK)
11490 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_INM(x, mask)                  \
11491 	in_dword_masked ( HWIO_WBM_R2_FW_RELEASE_RING_TP_ADDR(x), mask)
11492 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_OUT(x, val)                   \
11493 	out_dword( HWIO_WBM_R2_FW_RELEASE_RING_TP_ADDR(x), val)
11494 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_OUTM(x, mask, val)            \
11495 	do {\
11496 		HWIO_INTLOCK(); \
11497 		out_dword_masked_ns(HWIO_WBM_R2_FW_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_FW_RELEASE_RING_TP_IN(x)); \
11498 		HWIO_INTFREE();\
11499 	} while (0)
11500 
11501 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_TAIL_PTR_BMSK                 0x0000ffff
11502 #define HWIO_WBM_R2_FW_RELEASE_RING_TP_TAIL_PTR_SHFT                        0x0
11503 
11504 //// Register WBM_R2_RXDMA0_RELEASE_RING_HP ////
11505 
11506 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_ADDR(x)                   (x+0x00003028)
11507 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_PHYS(x)                   (x+0x00003028)
11508 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_RMSK                      0x0000ffff
11509 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_SHFT                               0
11510 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_IN(x)                     \
11511 	in_dword_masked ( HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_RMSK)
11512 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_INM(x, mask)              \
11513 	in_dword_masked ( HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_ADDR(x), mask)
11514 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_OUT(x, val)               \
11515 	out_dword( HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_ADDR(x), val)
11516 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_OUTM(x, mask, val)        \
11517 	do {\
11518 		HWIO_INTLOCK(); \
11519 		out_dword_masked_ns(HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_IN(x)); \
11520 		HWIO_INTFREE();\
11521 	} while (0)
11522 
11523 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_HEAD_PTR_BMSK             0x0000ffff
11524 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_HP_HEAD_PTR_SHFT                    0x0
11525 
11526 //// Register WBM_R2_RXDMA0_RELEASE_RING_TP ////
11527 
11528 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_ADDR(x)                   (x+0x0000302c)
11529 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_PHYS(x)                   (x+0x0000302c)
11530 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_RMSK                      0x0000ffff
11531 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_SHFT                               0
11532 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_IN(x)                     \
11533 	in_dword_masked ( HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_RMSK)
11534 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_INM(x, mask)              \
11535 	in_dword_masked ( HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_ADDR(x), mask)
11536 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_OUT(x, val)               \
11537 	out_dword( HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_ADDR(x), val)
11538 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_OUTM(x, mask, val)        \
11539 	do {\
11540 		HWIO_INTLOCK(); \
11541 		out_dword_masked_ns(HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_IN(x)); \
11542 		HWIO_INTFREE();\
11543 	} while (0)
11544 
11545 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_TAIL_PTR_BMSK             0x0000ffff
11546 #define HWIO_WBM_R2_RXDMA0_RELEASE_RING_TP_TAIL_PTR_SHFT                    0x0
11547 
11548 //// Register WBM_R2_RXDMA1_RELEASE_RING_HP ////
11549 
11550 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_ADDR(x)                   (x+0x00003030)
11551 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_PHYS(x)                   (x+0x00003030)
11552 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_RMSK                      0x0000ffff
11553 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_SHFT                               0
11554 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_IN(x)                     \
11555 	in_dword_masked ( HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_RMSK)
11556 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_INM(x, mask)              \
11557 	in_dword_masked ( HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_ADDR(x), mask)
11558 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_OUT(x, val)               \
11559 	out_dword( HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_ADDR(x), val)
11560 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_OUTM(x, mask, val)        \
11561 	do {\
11562 		HWIO_INTLOCK(); \
11563 		out_dword_masked_ns(HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_IN(x)); \
11564 		HWIO_INTFREE();\
11565 	} while (0)
11566 
11567 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_HEAD_PTR_BMSK             0x0000ffff
11568 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_HP_HEAD_PTR_SHFT                    0x0
11569 
11570 //// Register WBM_R2_RXDMA1_RELEASE_RING_TP ////
11571 
11572 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_ADDR(x)                   (x+0x00003034)
11573 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_PHYS(x)                   (x+0x00003034)
11574 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_RMSK                      0x0000ffff
11575 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_SHFT                               0
11576 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_IN(x)                     \
11577 	in_dword_masked ( HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_RMSK)
11578 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_INM(x, mask)              \
11579 	in_dword_masked ( HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_ADDR(x), mask)
11580 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_OUT(x, val)               \
11581 	out_dword( HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_ADDR(x), val)
11582 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_OUTM(x, mask, val)        \
11583 	do {\
11584 		HWIO_INTLOCK(); \
11585 		out_dword_masked_ns(HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_IN(x)); \
11586 		HWIO_INTFREE();\
11587 	} while (0)
11588 
11589 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_TAIL_PTR_BMSK             0x0000ffff
11590 #define HWIO_WBM_R2_RXDMA1_RELEASE_RING_TP_TAIL_PTR_SHFT                    0x0
11591 
11592 //// Register WBM_R2_WBM2PPE_BUF_RING_HP ////
11593 
11594 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_ADDR(x)                      (x+0x00003040)
11595 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_PHYS(x)                      (x+0x00003040)
11596 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_RMSK                         0x0000ffff
11597 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_SHFT                                  0
11598 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_IN(x)                        \
11599 	in_dword_masked ( HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_RMSK)
11600 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_INM(x, mask)                 \
11601 	in_dword_masked ( HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_ADDR(x), mask)
11602 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_OUT(x, val)                  \
11603 	out_dword( HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_ADDR(x), val)
11604 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_OUTM(x, mask, val)           \
11605 	do {\
11606 		HWIO_INTLOCK(); \
11607 		out_dword_masked_ns(HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_IN(x)); \
11608 		HWIO_INTFREE();\
11609 	} while (0)
11610 
11611 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11612 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_HP_HEAD_PTR_SHFT                       0x0
11613 
11614 //// Register WBM_R2_WBM2PPE_BUF_RING_TP ////
11615 
11616 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_ADDR(x)                      (x+0x00003044)
11617 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_PHYS(x)                      (x+0x00003044)
11618 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_RMSK                         0x0000ffff
11619 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_SHFT                                  0
11620 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_IN(x)                        \
11621 	in_dword_masked ( HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_RMSK)
11622 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_INM(x, mask)                 \
11623 	in_dword_masked ( HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_ADDR(x), mask)
11624 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_OUT(x, val)                  \
11625 	out_dword( HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_ADDR(x), val)
11626 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_OUTM(x, mask, val)           \
11627 	do {\
11628 		HWIO_INTLOCK(); \
11629 		out_dword_masked_ns(HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_IN(x)); \
11630 		HWIO_INTFREE();\
11631 	} while (0)
11632 
11633 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11634 #define HWIO_WBM_R2_WBM2PPE_BUF_RING_TP_TAIL_PTR_SHFT                       0x0
11635 
11636 //// Register WBM_R2_WBM2SW_BUF_RING_HP ////
11637 
11638 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_ADDR(x)                       (x+0x00003048)
11639 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_PHYS(x)                       (x+0x00003048)
11640 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_RMSK                          0x0000ffff
11641 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_SHFT                                   0
11642 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_IN(x)                         \
11643 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW_BUF_RING_HP_RMSK)
11644 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_INM(x, mask)                  \
11645 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_BUF_RING_HP_ADDR(x), mask)
11646 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_OUT(x, val)                   \
11647 	out_dword( HWIO_WBM_R2_WBM2SW_BUF_RING_HP_ADDR(x), val)
11648 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_OUTM(x, mask, val)            \
11649 	do {\
11650 		HWIO_INTLOCK(); \
11651 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW_BUF_RING_HP_IN(x)); \
11652 		HWIO_INTFREE();\
11653 	} while (0)
11654 
11655 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_HEAD_PTR_BMSK                 0x0000ffff
11656 #define HWIO_WBM_R2_WBM2SW_BUF_RING_HP_HEAD_PTR_SHFT                        0x0
11657 
11658 //// Register WBM_R2_WBM2SW_BUF_RING_TP ////
11659 
11660 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_ADDR(x)                       (x+0x0000304c)
11661 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_PHYS(x)                       (x+0x0000304c)
11662 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_RMSK                          0x0000ffff
11663 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_SHFT                                   0
11664 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_IN(x)                         \
11665 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW_BUF_RING_TP_RMSK)
11666 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_INM(x, mask)                  \
11667 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_BUF_RING_TP_ADDR(x), mask)
11668 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_OUT(x, val)                   \
11669 	out_dword( HWIO_WBM_R2_WBM2SW_BUF_RING_TP_ADDR(x), val)
11670 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_OUTM(x, mask, val)            \
11671 	do {\
11672 		HWIO_INTLOCK(); \
11673 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW_BUF_RING_TP_IN(x)); \
11674 		HWIO_INTFREE();\
11675 	} while (0)
11676 
11677 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_TAIL_PTR_BMSK                 0x0000ffff
11678 #define HWIO_WBM_R2_WBM2SW_BUF_RING_TP_TAIL_PTR_SHFT                        0x0
11679 
11680 //// Register WBM_R2_WBM2FW_BUF_RING_HP ////
11681 
11682 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_ADDR(x)                       (x+0x00003050)
11683 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_PHYS(x)                       (x+0x00003050)
11684 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_RMSK                          0x0000ffff
11685 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_SHFT                                   0
11686 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_IN(x)                         \
11687 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2FW_BUF_RING_HP_RMSK)
11688 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_INM(x, mask)                  \
11689 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_BUF_RING_HP_ADDR(x), mask)
11690 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_OUT(x, val)                   \
11691 	out_dword( HWIO_WBM_R2_WBM2FW_BUF_RING_HP_ADDR(x), val)
11692 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_OUTM(x, mask, val)            \
11693 	do {\
11694 		HWIO_INTLOCK(); \
11695 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_BUF_RING_HP_IN(x)); \
11696 		HWIO_INTFREE();\
11697 	} while (0)
11698 
11699 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_HEAD_PTR_BMSK                 0x0000ffff
11700 #define HWIO_WBM_R2_WBM2FW_BUF_RING_HP_HEAD_PTR_SHFT                        0x0
11701 
11702 //// Register WBM_R2_WBM2FW_BUF_RING_TP ////
11703 
11704 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_ADDR(x)                       (x+0x00003054)
11705 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_PHYS(x)                       (x+0x00003054)
11706 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_RMSK                          0x0000ffff
11707 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_SHFT                                   0
11708 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_IN(x)                         \
11709 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2FW_BUF_RING_TP_RMSK)
11710 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_INM(x, mask)                  \
11711 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_BUF_RING_TP_ADDR(x), mask)
11712 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_OUT(x, val)                   \
11713 	out_dword( HWIO_WBM_R2_WBM2FW_BUF_RING_TP_ADDR(x), val)
11714 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_OUTM(x, mask, val)            \
11715 	do {\
11716 		HWIO_INTLOCK(); \
11717 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_BUF_RING_TP_IN(x)); \
11718 		HWIO_INTFREE();\
11719 	} while (0)
11720 
11721 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_TAIL_PTR_BMSK                 0x0000ffff
11722 #define HWIO_WBM_R2_WBM2FW_BUF_RING_TP_TAIL_PTR_SHFT                        0x0
11723 
11724 //// Register WBM_R2_WBM2RXDMA0_BUF_RING_HP ////
11725 
11726 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_ADDR(x)                   (x+0x00003058)
11727 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_PHYS(x)                   (x+0x00003058)
11728 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_RMSK                      0x0000ffff
11729 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_SHFT                               0
11730 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_IN(x)                     \
11731 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_RMSK)
11732 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_INM(x, mask)              \
11733 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_ADDR(x), mask)
11734 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_OUT(x, val)               \
11735 	out_dword( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_ADDR(x), val)
11736 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_OUTM(x, mask, val)        \
11737 	do {\
11738 		HWIO_INTLOCK(); \
11739 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_IN(x)); \
11740 		HWIO_INTFREE();\
11741 	} while (0)
11742 
11743 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_HEAD_PTR_BMSK             0x0000ffff
11744 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_HP_HEAD_PTR_SHFT                    0x0
11745 
11746 //// Register WBM_R2_WBM2RXDMA0_BUF_RING_TP ////
11747 
11748 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_ADDR(x)                   (x+0x0000305c)
11749 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_PHYS(x)                   (x+0x0000305c)
11750 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_RMSK                      0x0000ffff
11751 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_SHFT                               0
11752 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_IN(x)                     \
11753 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_RMSK)
11754 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_INM(x, mask)              \
11755 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_ADDR(x), mask)
11756 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_OUT(x, val)               \
11757 	out_dword( HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_ADDR(x), val)
11758 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_OUTM(x, mask, val)        \
11759 	do {\
11760 		HWIO_INTLOCK(); \
11761 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_IN(x)); \
11762 		HWIO_INTFREE();\
11763 	} while (0)
11764 
11765 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_TAIL_PTR_BMSK             0x0000ffff
11766 #define HWIO_WBM_R2_WBM2RXDMA0_BUF_RING_TP_TAIL_PTR_SHFT                    0x0
11767 
11768 //// Register WBM_R2_WBM2RXDMA1_BUF_RING_HP ////
11769 
11770 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_ADDR(x)                   (x+0x00003060)
11771 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_PHYS(x)                   (x+0x00003060)
11772 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_RMSK                      0x0000ffff
11773 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_SHFT                               0
11774 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_IN(x)                     \
11775 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_RMSK)
11776 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_INM(x, mask)              \
11777 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_ADDR(x), mask)
11778 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_OUT(x, val)               \
11779 	out_dword( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_ADDR(x), val)
11780 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_OUTM(x, mask, val)        \
11781 	do {\
11782 		HWIO_INTLOCK(); \
11783 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_IN(x)); \
11784 		HWIO_INTFREE();\
11785 	} while (0)
11786 
11787 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_HEAD_PTR_BMSK             0x0000ffff
11788 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_HP_HEAD_PTR_SHFT                    0x0
11789 
11790 //// Register WBM_R2_WBM2RXDMA1_BUF_RING_TP ////
11791 
11792 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_ADDR(x)                   (x+0x00003064)
11793 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_PHYS(x)                   (x+0x00003064)
11794 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_RMSK                      0x0000ffff
11795 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_SHFT                               0
11796 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_IN(x)                     \
11797 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_RMSK)
11798 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_INM(x, mask)              \
11799 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_ADDR(x), mask)
11800 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_OUT(x, val)               \
11801 	out_dword( HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_ADDR(x), val)
11802 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_OUTM(x, mask, val)        \
11803 	do {\
11804 		HWIO_INTLOCK(); \
11805 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_IN(x)); \
11806 		HWIO_INTFREE();\
11807 	} while (0)
11808 
11809 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_TAIL_PTR_BMSK             0x0000ffff
11810 #define HWIO_WBM_R2_WBM2RXDMA1_BUF_RING_TP_TAIL_PTR_SHFT                    0x0
11811 
11812 //// Register WBM_R2_WBM2TQM_LINK_RING_HP ////
11813 
11814 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_ADDR(x)                     (x+0x00003070)
11815 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_PHYS(x)                     (x+0x00003070)
11816 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_RMSK                        0x0000ffff
11817 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_SHFT                                 0
11818 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_IN(x)                       \
11819 	in_dword_masked ( HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_RMSK)
11820 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_INM(x, mask)                \
11821 	in_dword_masked ( HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_ADDR(x), mask)
11822 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_OUT(x, val)                 \
11823 	out_dword( HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_ADDR(x), val)
11824 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_OUTM(x, mask, val)          \
11825 	do {\
11826 		HWIO_INTLOCK(); \
11827 		out_dword_masked_ns(HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_IN(x)); \
11828 		HWIO_INTFREE();\
11829 	} while (0)
11830 
11831 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_HEAD_PTR_BMSK               0x0000ffff
11832 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_HP_HEAD_PTR_SHFT                      0x0
11833 
11834 //// Register WBM_R2_WBM2TQM_LINK_RING_TP ////
11835 
11836 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_ADDR(x)                     (x+0x00003074)
11837 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_PHYS(x)                     (x+0x00003074)
11838 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_RMSK                        0x0000ffff
11839 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_SHFT                                 0
11840 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_IN(x)                       \
11841 	in_dword_masked ( HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_RMSK)
11842 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_INM(x, mask)                \
11843 	in_dword_masked ( HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_ADDR(x), mask)
11844 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_OUT(x, val)                 \
11845 	out_dword( HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_ADDR(x), val)
11846 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_OUTM(x, mask, val)          \
11847 	do {\
11848 		HWIO_INTLOCK(); \
11849 		out_dword_masked_ns(HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_IN(x)); \
11850 		HWIO_INTFREE();\
11851 	} while (0)
11852 
11853 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_TAIL_PTR_BMSK               0x0000ffff
11854 #define HWIO_WBM_R2_WBM2TQM_LINK_RING_TP_TAIL_PTR_SHFT                      0x0
11855 
11856 //// Register WBM_R2_WBM2REO_LINK_RING_HP ////
11857 
11858 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_ADDR(x)                     (x+0x00003078)
11859 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_PHYS(x)                     (x+0x00003078)
11860 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_RMSK                        0x0000ffff
11861 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_SHFT                                 0
11862 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_IN(x)                       \
11863 	in_dword_masked ( HWIO_WBM_R2_WBM2REO_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2REO_LINK_RING_HP_RMSK)
11864 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_INM(x, mask)                \
11865 	in_dword_masked ( HWIO_WBM_R2_WBM2REO_LINK_RING_HP_ADDR(x), mask)
11866 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_OUT(x, val)                 \
11867 	out_dword( HWIO_WBM_R2_WBM2REO_LINK_RING_HP_ADDR(x), val)
11868 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_OUTM(x, mask, val)          \
11869 	do {\
11870 		HWIO_INTLOCK(); \
11871 		out_dword_masked_ns(HWIO_WBM_R2_WBM2REO_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2REO_LINK_RING_HP_IN(x)); \
11872 		HWIO_INTFREE();\
11873 	} while (0)
11874 
11875 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_HEAD_PTR_BMSK               0x0000ffff
11876 #define HWIO_WBM_R2_WBM2REO_LINK_RING_HP_HEAD_PTR_SHFT                      0x0
11877 
11878 //// Register WBM_R2_WBM2REO_LINK_RING_TP ////
11879 
11880 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_ADDR(x)                     (x+0x0000307c)
11881 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_PHYS(x)                     (x+0x0000307c)
11882 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_RMSK                        0x0000ffff
11883 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_SHFT                                 0
11884 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_IN(x)                       \
11885 	in_dword_masked ( HWIO_WBM_R2_WBM2REO_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2REO_LINK_RING_TP_RMSK)
11886 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_INM(x, mask)                \
11887 	in_dword_masked ( HWIO_WBM_R2_WBM2REO_LINK_RING_TP_ADDR(x), mask)
11888 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_OUT(x, val)                 \
11889 	out_dword( HWIO_WBM_R2_WBM2REO_LINK_RING_TP_ADDR(x), val)
11890 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_OUTM(x, mask, val)          \
11891 	do {\
11892 		HWIO_INTLOCK(); \
11893 		out_dword_masked_ns(HWIO_WBM_R2_WBM2REO_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2REO_LINK_RING_TP_IN(x)); \
11894 		HWIO_INTFREE();\
11895 	} while (0)
11896 
11897 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_TAIL_PTR_BMSK               0x0000ffff
11898 #define HWIO_WBM_R2_WBM2REO_LINK_RING_TP_TAIL_PTR_SHFT                      0x0
11899 
11900 //// Register WBM_R2_WBM2SW_LINK_RING_HP ////
11901 
11902 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_ADDR(x)                      (x+0x00003080)
11903 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_PHYS(x)                      (x+0x00003080)
11904 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_RMSK                         0x0000ffff
11905 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_SHFT                                  0
11906 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_IN(x)                        \
11907 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW_LINK_RING_HP_RMSK)
11908 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_INM(x, mask)                 \
11909 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_LINK_RING_HP_ADDR(x), mask)
11910 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_OUT(x, val)                  \
11911 	out_dword( HWIO_WBM_R2_WBM2SW_LINK_RING_HP_ADDR(x), val)
11912 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_OUTM(x, mask, val)           \
11913 	do {\
11914 		HWIO_INTLOCK(); \
11915 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW_LINK_RING_HP_IN(x)); \
11916 		HWIO_INTFREE();\
11917 	} while (0)
11918 
11919 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11920 #define HWIO_WBM_R2_WBM2SW_LINK_RING_HP_HEAD_PTR_SHFT                       0x0
11921 
11922 //// Register WBM_R2_WBM2SW_LINK_RING_TP ////
11923 
11924 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_ADDR(x)                      (x+0x00003084)
11925 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_PHYS(x)                      (x+0x00003084)
11926 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_RMSK                         0x0000ffff
11927 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_SHFT                                  0
11928 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_IN(x)                        \
11929 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW_LINK_RING_TP_RMSK)
11930 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_INM(x, mask)                 \
11931 	in_dword_masked ( HWIO_WBM_R2_WBM2SW_LINK_RING_TP_ADDR(x), mask)
11932 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_OUT(x, val)                  \
11933 	out_dword( HWIO_WBM_R2_WBM2SW_LINK_RING_TP_ADDR(x), val)
11934 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_OUTM(x, mask, val)           \
11935 	do {\
11936 		HWIO_INTLOCK(); \
11937 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW_LINK_RING_TP_IN(x)); \
11938 		HWIO_INTFREE();\
11939 	} while (0)
11940 
11941 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11942 #define HWIO_WBM_R2_WBM2SW_LINK_RING_TP_TAIL_PTR_SHFT                       0x0
11943 
11944 //// Register WBM_R2_WBM2FW_LINK_RING_HP ////
11945 
11946 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_ADDR(x)                      (x+0x00003088)
11947 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_PHYS(x)                      (x+0x00003088)
11948 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_RMSK                         0x0000ffff
11949 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_SHFT                                  0
11950 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_IN(x)                        \
11951 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2FW_LINK_RING_HP_RMSK)
11952 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_INM(x, mask)                 \
11953 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_LINK_RING_HP_ADDR(x), mask)
11954 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_OUT(x, val)                  \
11955 	out_dword( HWIO_WBM_R2_WBM2FW_LINK_RING_HP_ADDR(x), val)
11956 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_OUTM(x, mask, val)           \
11957 	do {\
11958 		HWIO_INTLOCK(); \
11959 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_LINK_RING_HP_IN(x)); \
11960 		HWIO_INTFREE();\
11961 	} while (0)
11962 
11963 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_HEAD_PTR_BMSK                0x0000ffff
11964 #define HWIO_WBM_R2_WBM2FW_LINK_RING_HP_HEAD_PTR_SHFT                       0x0
11965 
11966 //// Register WBM_R2_WBM2FW_LINK_RING_TP ////
11967 
11968 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_ADDR(x)                      (x+0x0000308c)
11969 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_PHYS(x)                      (x+0x0000308c)
11970 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_RMSK                         0x0000ffff
11971 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_SHFT                                  0
11972 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_IN(x)                        \
11973 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2FW_LINK_RING_TP_RMSK)
11974 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_INM(x, mask)                 \
11975 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_LINK_RING_TP_ADDR(x), mask)
11976 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_OUT(x, val)                  \
11977 	out_dword( HWIO_WBM_R2_WBM2FW_LINK_RING_TP_ADDR(x), val)
11978 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_OUTM(x, mask, val)           \
11979 	do {\
11980 		HWIO_INTLOCK(); \
11981 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_LINK_RING_TP_IN(x)); \
11982 		HWIO_INTFREE();\
11983 	} while (0)
11984 
11985 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_TAIL_PTR_BMSK                0x0000ffff
11986 #define HWIO_WBM_R2_WBM2FW_LINK_RING_TP_TAIL_PTR_SHFT                       0x0
11987 
11988 //// Register WBM_R2_WBM2RXDMA0_LINK_RING_HP ////
11989 
11990 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_ADDR(x)                  (x+0x00003090)
11991 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_PHYS(x)                  (x+0x00003090)
11992 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_RMSK                     0x0000ffff
11993 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_SHFT                              0
11994 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_IN(x)                    \
11995 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_RMSK)
11996 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_INM(x, mask)             \
11997 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_ADDR(x), mask)
11998 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_OUT(x, val)              \
11999 	out_dword( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_ADDR(x), val)
12000 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_OUTM(x, mask, val)       \
12001 	do {\
12002 		HWIO_INTLOCK(); \
12003 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_IN(x)); \
12004 		HWIO_INTFREE();\
12005 	} while (0)
12006 
12007 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_HEAD_PTR_BMSK            0x0000ffff
12008 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_HP_HEAD_PTR_SHFT                   0x0
12009 
12010 //// Register WBM_R2_WBM2RXDMA0_LINK_RING_TP ////
12011 
12012 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_ADDR(x)                  (x+0x00003094)
12013 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_PHYS(x)                  (x+0x00003094)
12014 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_RMSK                     0x0000ffff
12015 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_SHFT                              0
12016 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_IN(x)                    \
12017 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_RMSK)
12018 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_INM(x, mask)             \
12019 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_ADDR(x), mask)
12020 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_OUT(x, val)              \
12021 	out_dword( HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_ADDR(x), val)
12022 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_OUTM(x, mask, val)       \
12023 	do {\
12024 		HWIO_INTLOCK(); \
12025 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_IN(x)); \
12026 		HWIO_INTFREE();\
12027 	} while (0)
12028 
12029 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_TAIL_PTR_BMSK            0x0000ffff
12030 #define HWIO_WBM_R2_WBM2RXDMA0_LINK_RING_TP_TAIL_PTR_SHFT                   0x0
12031 
12032 //// Register WBM_R2_WBM2RXDMA1_LINK_RING_HP ////
12033 
12034 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_ADDR(x)                  (x+0x00003098)
12035 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_PHYS(x)                  (x+0x00003098)
12036 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_RMSK                     0x0000ffff
12037 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_SHFT                              0
12038 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_IN(x)                    \
12039 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_RMSK)
12040 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_INM(x, mask)             \
12041 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_ADDR(x), mask)
12042 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_OUT(x, val)              \
12043 	out_dword( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_ADDR(x), val)
12044 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_OUTM(x, mask, val)       \
12045 	do {\
12046 		HWIO_INTLOCK(); \
12047 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_IN(x)); \
12048 		HWIO_INTFREE();\
12049 	} while (0)
12050 
12051 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_HEAD_PTR_BMSK            0x0000ffff
12052 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_HP_HEAD_PTR_SHFT                   0x0
12053 
12054 //// Register WBM_R2_WBM2RXDMA1_LINK_RING_TP ////
12055 
12056 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_ADDR(x)                  (x+0x0000309c)
12057 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_PHYS(x)                  (x+0x0000309c)
12058 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_RMSK                     0x0000ffff
12059 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_SHFT                              0
12060 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_IN(x)                    \
12061 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_RMSK)
12062 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_INM(x, mask)             \
12063 	in_dword_masked ( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_ADDR(x), mask)
12064 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_OUT(x, val)              \
12065 	out_dword( HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_ADDR(x), val)
12066 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_OUTM(x, mask, val)       \
12067 	do {\
12068 		HWIO_INTLOCK(); \
12069 		out_dword_masked_ns(HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_IN(x)); \
12070 		HWIO_INTFREE();\
12071 	} while (0)
12072 
12073 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_TAIL_PTR_BMSK            0x0000ffff
12074 #define HWIO_WBM_R2_WBM2RXDMA1_LINK_RING_TP_TAIL_PTR_SHFT                   0x0
12075 
12076 //// Register WBM_R2_WBM_IDLE_BUF_RING_HP ////
12077 
12078 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_ADDR(x)                     (x+0x000030a8)
12079 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_PHYS(x)                     (x+0x000030a8)
12080 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_RMSK                        0x0000ffff
12081 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_SHFT                                 0
12082 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_IN(x)                       \
12083 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_ADDR(x), HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_RMSK)
12084 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_INM(x, mask)                \
12085 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_ADDR(x), mask)
12086 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_OUT(x, val)                 \
12087 	out_dword( HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_ADDR(x), val)
12088 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_OUTM(x, mask, val)          \
12089 	do {\
12090 		HWIO_INTLOCK(); \
12091 		out_dword_masked_ns(HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_IN(x)); \
12092 		HWIO_INTFREE();\
12093 	} while (0)
12094 
12095 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_HEAD_PTR_BMSK               0x0000ffff
12096 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_HP_HEAD_PTR_SHFT                      0x0
12097 
12098 //// Register WBM_R2_WBM_IDLE_BUF_RING_TP ////
12099 
12100 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_ADDR(x)                     (x+0x000030ac)
12101 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_PHYS(x)                     (x+0x000030ac)
12102 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_RMSK                        0x0000ffff
12103 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_SHFT                                 0
12104 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_IN(x)                       \
12105 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_ADDR(x), HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_RMSK)
12106 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_INM(x, mask)                \
12107 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_ADDR(x), mask)
12108 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_OUT(x, val)                 \
12109 	out_dword( HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_ADDR(x), val)
12110 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_OUTM(x, mask, val)          \
12111 	do {\
12112 		HWIO_INTLOCK(); \
12113 		out_dword_masked_ns(HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_IN(x)); \
12114 		HWIO_INTFREE();\
12115 	} while (0)
12116 
12117 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_TAIL_PTR_BMSK               0x0000ffff
12118 #define HWIO_WBM_R2_WBM_IDLE_BUF_RING_TP_TAIL_PTR_SHFT                      0x0
12119 
12120 //// Register WBM_R2_WBM_IDLE_LINK_RING_HP ////
12121 
12122 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_ADDR(x)                    (x+0x000030b0)
12123 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_PHYS(x)                    (x+0x000030b0)
12124 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_RMSK                       0x0000ffff
12125 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_SHFT                                0
12126 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_IN(x)                      \
12127 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_ADDR(x), HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_RMSK)
12128 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_INM(x, mask)               \
12129 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_ADDR(x), mask)
12130 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_OUT(x, val)                \
12131 	out_dword( HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_ADDR(x), val)
12132 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_OUTM(x, mask, val)         \
12133 	do {\
12134 		HWIO_INTLOCK(); \
12135 		out_dword_masked_ns(HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_IN(x)); \
12136 		HWIO_INTFREE();\
12137 	} while (0)
12138 
12139 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_HEAD_PTR_BMSK              0x0000ffff
12140 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_HP_HEAD_PTR_SHFT                     0x0
12141 
12142 //// Register WBM_R2_WBM_IDLE_LINK_RING_TP ////
12143 
12144 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_ADDR(x)                    (x+0x000030b4)
12145 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_PHYS(x)                    (x+0x000030b4)
12146 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_RMSK                       0x0000ffff
12147 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_SHFT                                0
12148 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_IN(x)                      \
12149 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_ADDR(x), HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_RMSK)
12150 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_INM(x, mask)               \
12151 	in_dword_masked ( HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_ADDR(x), mask)
12152 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_OUT(x, val)                \
12153 	out_dword( HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_ADDR(x), val)
12154 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_OUTM(x, mask, val)         \
12155 	do {\
12156 		HWIO_INTLOCK(); \
12157 		out_dword_masked_ns(HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_IN(x)); \
12158 		HWIO_INTFREE();\
12159 	} while (0)
12160 
12161 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_TAIL_PTR_BMSK              0x0000ffff
12162 #define HWIO_WBM_R2_WBM_IDLE_LINK_RING_TP_TAIL_PTR_SHFT                     0x0
12163 
12164 //// Register WBM_R2_WBM2FW_RELEASE_RING_HP ////
12165 
12166 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_ADDR(x)                   (x+0x000030b8)
12167 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_PHYS(x)                   (x+0x000030b8)
12168 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_RMSK                      0x0000ffff
12169 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_SHFT                               0
12170 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_IN(x)                     \
12171 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_RMSK)
12172 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_INM(x, mask)              \
12173 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_ADDR(x), mask)
12174 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_OUT(x, val)               \
12175 	out_dword( HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_ADDR(x), val)
12176 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_OUTM(x, mask, val)        \
12177 	do {\
12178 		HWIO_INTLOCK(); \
12179 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_IN(x)); \
12180 		HWIO_INTFREE();\
12181 	} while (0)
12182 
12183 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_HEAD_PTR_BMSK             0x0000ffff
12184 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_HP_HEAD_PTR_SHFT                    0x0
12185 
12186 //// Register WBM_R2_WBM2FW_RELEASE_RING_TP ////
12187 
12188 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_ADDR(x)                   (x+0x000030bc)
12189 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_PHYS(x)                   (x+0x000030bc)
12190 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_RMSK                      0x0000ffff
12191 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_SHFT                               0
12192 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_IN(x)                     \
12193 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_RMSK)
12194 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_INM(x, mask)              \
12195 	in_dword_masked ( HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_ADDR(x), mask)
12196 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_OUT(x, val)               \
12197 	out_dword( HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_ADDR(x), val)
12198 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_OUTM(x, mask, val)        \
12199 	do {\
12200 		HWIO_INTLOCK(); \
12201 		out_dword_masked_ns(HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_IN(x)); \
12202 		HWIO_INTFREE();\
12203 	} while (0)
12204 
12205 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_TAIL_PTR_BMSK             0x0000ffff
12206 #define HWIO_WBM_R2_WBM2FW_RELEASE_RING_TP_TAIL_PTR_SHFT                    0x0
12207 
12208 //// Register WBM_R2_WBM2SW0_RELEASE_RING_HP ////
12209 
12210 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_ADDR(x)                  (x+0x000030c0)
12211 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_PHYS(x)                  (x+0x000030c0)
12212 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_RMSK                     0x000fffff
12213 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_SHFT                              0
12214 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_IN(x)                    \
12215 	in_dword_masked ( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_RMSK)
12216 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_INM(x, mask)             \
12217 	in_dword_masked ( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_ADDR(x), mask)
12218 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_OUT(x, val)              \
12219 	out_dword( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_ADDR(x), val)
12220 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_OUTM(x, mask, val)       \
12221 	do {\
12222 		HWIO_INTLOCK(); \
12223 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_IN(x)); \
12224 		HWIO_INTFREE();\
12225 	} while (0)
12226 
12227 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_HEAD_PTR_BMSK            0x000fffff
12228 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_HP_HEAD_PTR_SHFT                   0x0
12229 
12230 //// Register WBM_R2_WBM2SW0_RELEASE_RING_TP ////
12231 
12232 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_ADDR(x)                  (x+0x000030c4)
12233 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_PHYS(x)                  (x+0x000030c4)
12234 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_RMSK                     0x000fffff
12235 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_SHFT                              0
12236 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_IN(x)                    \
12237 	in_dword_masked ( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_RMSK)
12238 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_INM(x, mask)             \
12239 	in_dword_masked ( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_ADDR(x), mask)
12240 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_OUT(x, val)              \
12241 	out_dword( HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_ADDR(x), val)
12242 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_OUTM(x, mask, val)       \
12243 	do {\
12244 		HWIO_INTLOCK(); \
12245 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_IN(x)); \
12246 		HWIO_INTFREE();\
12247 	} while (0)
12248 
12249 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_TAIL_PTR_BMSK            0x000fffff
12250 #define HWIO_WBM_R2_WBM2SW0_RELEASE_RING_TP_TAIL_PTR_SHFT                   0x0
12251 
12252 //// Register WBM_R2_WBM2SW1_RELEASE_RING_HP ////
12253 
12254 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_ADDR(x)                  (x+0x000030c8)
12255 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_PHYS(x)                  (x+0x000030c8)
12256 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_RMSK                     0x000fffff
12257 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_SHFT                              0
12258 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_IN(x)                    \
12259 	in_dword_masked ( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_RMSK)
12260 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_INM(x, mask)             \
12261 	in_dword_masked ( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_ADDR(x), mask)
12262 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_OUT(x, val)              \
12263 	out_dword( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_ADDR(x), val)
12264 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_OUTM(x, mask, val)       \
12265 	do {\
12266 		HWIO_INTLOCK(); \
12267 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_IN(x)); \
12268 		HWIO_INTFREE();\
12269 	} while (0)
12270 
12271 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_HEAD_PTR_BMSK            0x000fffff
12272 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_HP_HEAD_PTR_SHFT                   0x0
12273 
12274 //// Register WBM_R2_WBM2SW1_RELEASE_RING_TP ////
12275 
12276 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_ADDR(x)                  (x+0x000030cc)
12277 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_PHYS(x)                  (x+0x000030cc)
12278 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_RMSK                     0x000fffff
12279 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_SHFT                              0
12280 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_IN(x)                    \
12281 	in_dword_masked ( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_RMSK)
12282 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_INM(x, mask)             \
12283 	in_dword_masked ( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_ADDR(x), mask)
12284 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_OUT(x, val)              \
12285 	out_dword( HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_ADDR(x), val)
12286 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_OUTM(x, mask, val)       \
12287 	do {\
12288 		HWIO_INTLOCK(); \
12289 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_IN(x)); \
12290 		HWIO_INTFREE();\
12291 	} while (0)
12292 
12293 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_TAIL_PTR_BMSK            0x000fffff
12294 #define HWIO_WBM_R2_WBM2SW1_RELEASE_RING_TP_TAIL_PTR_SHFT                   0x0
12295 
12296 //// Register WBM_R2_WBM2SW2_RELEASE_RING_HP ////
12297 
12298 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_ADDR(x)                  (x+0x000030d0)
12299 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_PHYS(x)                  (x+0x000030d0)
12300 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_RMSK                     0x000fffff
12301 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_SHFT                              0
12302 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_IN(x)                    \
12303 	in_dword_masked ( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_RMSK)
12304 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_INM(x, mask)             \
12305 	in_dword_masked ( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_ADDR(x), mask)
12306 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_OUT(x, val)              \
12307 	out_dword( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_ADDR(x), val)
12308 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_OUTM(x, mask, val)       \
12309 	do {\
12310 		HWIO_INTLOCK(); \
12311 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_IN(x)); \
12312 		HWIO_INTFREE();\
12313 	} while (0)
12314 
12315 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_HEAD_PTR_BMSK            0x000fffff
12316 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_HP_HEAD_PTR_SHFT                   0x0
12317 
12318 //// Register WBM_R2_WBM2SW2_RELEASE_RING_TP ////
12319 
12320 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_ADDR(x)                  (x+0x000030d4)
12321 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_PHYS(x)                  (x+0x000030d4)
12322 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_RMSK                     0x000fffff
12323 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_SHFT                              0
12324 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_IN(x)                    \
12325 	in_dword_masked ( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_RMSK)
12326 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_INM(x, mask)             \
12327 	in_dword_masked ( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_ADDR(x), mask)
12328 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_OUT(x, val)              \
12329 	out_dword( HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_ADDR(x), val)
12330 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_OUTM(x, mask, val)       \
12331 	do {\
12332 		HWIO_INTLOCK(); \
12333 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_IN(x)); \
12334 		HWIO_INTFREE();\
12335 	} while (0)
12336 
12337 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_TAIL_PTR_BMSK            0x000fffff
12338 #define HWIO_WBM_R2_WBM2SW2_RELEASE_RING_TP_TAIL_PTR_SHFT                   0x0
12339 
12340 //// Register WBM_R2_WBM2SW3_RELEASE_RING_HP ////
12341 
12342 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_ADDR(x)                  (x+0x000030d8)
12343 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_PHYS(x)                  (x+0x000030d8)
12344 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_RMSK                     0x000fffff
12345 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_SHFT                              0
12346 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_IN(x)                    \
12347 	in_dword_masked ( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_RMSK)
12348 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_INM(x, mask)             \
12349 	in_dword_masked ( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_ADDR(x), mask)
12350 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_OUT(x, val)              \
12351 	out_dword( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_ADDR(x), val)
12352 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_OUTM(x, mask, val)       \
12353 	do {\
12354 		HWIO_INTLOCK(); \
12355 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_IN(x)); \
12356 		HWIO_INTFREE();\
12357 	} while (0)
12358 
12359 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_HEAD_PTR_BMSK            0x000fffff
12360 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_HP_HEAD_PTR_SHFT                   0x0
12361 
12362 //// Register WBM_R2_WBM2SW3_RELEASE_RING_TP ////
12363 
12364 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_ADDR(x)                  (x+0x000030dc)
12365 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_PHYS(x)                  (x+0x000030dc)
12366 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_RMSK                     0x000fffff
12367 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_SHFT                              0
12368 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_IN(x)                    \
12369 	in_dword_masked ( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_RMSK)
12370 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_INM(x, mask)             \
12371 	in_dword_masked ( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_ADDR(x), mask)
12372 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_OUT(x, val)              \
12373 	out_dword( HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_ADDR(x), val)
12374 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_OUTM(x, mask, val)       \
12375 	do {\
12376 		HWIO_INTLOCK(); \
12377 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_IN(x)); \
12378 		HWIO_INTFREE();\
12379 	} while (0)
12380 
12381 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_TAIL_PTR_BMSK            0x000fffff
12382 #define HWIO_WBM_R2_WBM2SW3_RELEASE_RING_TP_TAIL_PTR_SHFT                   0x0
12383 
12384 //// Register WBM_R2_WBM2SW4_RELEASE_RING_HP ////
12385 
12386 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_ADDR(x)                  (x+0x000030e0)
12387 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_PHYS(x)                  (x+0x000030e0)
12388 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_RMSK                     0x000fffff
12389 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_SHFT                              0
12390 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_IN(x)                    \
12391 	in_dword_masked ( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_ADDR(x), HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_RMSK)
12392 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_INM(x, mask)             \
12393 	in_dword_masked ( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_ADDR(x), mask)
12394 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_OUT(x, val)              \
12395 	out_dword( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_ADDR(x), val)
12396 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_OUTM(x, mask, val)       \
12397 	do {\
12398 		HWIO_INTLOCK(); \
12399 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_IN(x)); \
12400 		HWIO_INTFREE();\
12401 	} while (0)
12402 
12403 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_HEAD_PTR_BMSK            0x000fffff
12404 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_HP_HEAD_PTR_SHFT                   0x0
12405 
12406 //// Register WBM_R2_WBM2SW4_RELEASE_RING_TP ////
12407 
12408 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_ADDR(x)                  (x+0x000030e4)
12409 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_PHYS(x)                  (x+0x000030e4)
12410 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_RMSK                     0x000fffff
12411 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_SHFT                              0
12412 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_IN(x)                    \
12413 	in_dword_masked ( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_ADDR(x), HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_RMSK)
12414 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_INM(x, mask)             \
12415 	in_dword_masked ( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_ADDR(x), mask)
12416 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_OUT(x, val)              \
12417 	out_dword( HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_ADDR(x), val)
12418 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_OUTM(x, mask, val)       \
12419 	do {\
12420 		HWIO_INTLOCK(); \
12421 		out_dword_masked_ns(HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_ADDR(x), mask, val, HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_IN(x)); \
12422 		HWIO_INTFREE();\
12423 	} while (0)
12424 
12425 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_TAIL_PTR_BMSK            0x000fffff
12426 #define HWIO_WBM_R2_WBM2SW4_RELEASE_RING_TP_TAIL_PTR_SHFT                   0x0
12427 
12428 
12429 #endif
12430 
12431