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