1 /******************************************************************************
3 * Copyright(c) 2016 Realtek Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * The full GNU General Public License is included in this distribution in the
15 * file called LICENSE.
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
22 * Larry Finger <Larry.Finger@lwfinger.net>
24 *****************************************************************************/
25 #ifndef _HAL_ORIGINALH2CFORMAT_H2C_C2H_NIC_H_
26 #define _HAL_ORIGINALH2CFORMAT_H2C_C2H_NIC_H_
27 #define CMD_ID_ORIGINAL_H2C 0X00
28 #define CMD_ID_H2C2H_LB 0X0
29 #define CMD_ID_D0_SCAN_OFFLOAD_CTRL 0X06
30 #define CMD_ID_RSVD_PAGE 0X0
31 #define CMD_ID_MEDIA_STATUS_RPT 0X01
32 #define CMD_ID_KEEP_ALIVE 0X03
33 #define CMD_ID_DISCONNECT_DECISION 0X04
34 #define CMD_ID_AP_OFFLOAD 0X08
35 #define CMD_ID_BCN_RSVDPAGE 0X09
36 #define CMD_ID_PROBE_RSP_RSVDPAGE 0X0A
37 #define CMD_ID_SET_PWR_MODE 0X00
38 #define CMD_ID_PS_TUNING_PARA 0X01
39 #define CMD_ID_PS_TUNING_PARA_II 0X02
40 #define CMD_ID_PS_LPS_PARA 0X03
41 #define CMD_ID_P2P_PS_OFFLOAD 0X04
42 #define CMD_ID_PS_SCAN_EN 0X05
43 #define CMD_ID_SAP_PS 0X06
44 #define CMD_ID_INACTIVE_PS 0X07
45 #define CMD_ID_MACID_CFG 0X00
46 #define CMD_ID_TXBF 0X01
47 #define CMD_ID_RSSI_SETTING 0X02
48 #define CMD_ID_AP_REQ_TXRPT 0X03
49 #define CMD_ID_INIT_RATE_COLLECTION 0X04
50 #define CMD_ID_IQK_OFFLOAD 0X05
51 #define CMD_ID_MACID_CFG_3SS 0X06
52 #define CMD_ID_RA_PARA_ADJUST 0X07
53 #define CMD_ID_WWLAN 0X00
54 #define CMD_ID_REMOTE_WAKE_CTRL 0X01
55 #define CMD_ID_AOAC_GLOBAL_INFO 0X02
56 #define CMD_ID_AOAC_RSVD_PAGE 0X03
57 #define CMD_ID_AOAC_RSVD_PAGE2 0X04
58 #define CMD_ID_D0_SCAN_OFFLOAD_INFO 0X05
59 #define CMD_ID_CHANNEL_SWITCH_OFFLOAD 0X07
60 #define CMD_ID_AOAC_RSVD_PAGE3 0X08
61 #define CLASS_ORIGINAL_H2C 0X00
62 #define CLASS_H2C2H_LB 0X07
63 #define CLASS_D0_SCAN_OFFLOAD_CTRL 0X04
64 #define CLASS_RSVD_PAGE 0X0
65 #define CLASS_MEDIA_STATUS_RPT 0X0
66 #define CLASS_KEEP_ALIVE 0X0
67 #define CLASS_DISCONNECT_DECISION 0X0
68 #define CLASS_AP_OFFLOAD 0X0
69 #define CLASS_BCN_RSVDPAGE 0X0
70 #define CLASS_PROBE_RSP_RSVDPAGE 0X0
71 #define CLASS_SET_PWR_MODE 0X01
72 #define CLASS_PS_TUNING_PARA 0X01
73 #define CLASS_PS_TUNING_PARA_II 0X01
74 #define CLASS_PS_LPS_PARA 0X01
75 #define CLASS_P2P_PS_OFFLOAD 0X01
76 #define CLASS_PS_SCAN_EN 0X1
77 #define CLASS_SAP_PS 0X1
78 #define CLASS_INACTIVE_PS 0X1
79 #define CLASS_MACID_CFG 0X2
80 #define CLASS_TXBF 0X2
81 #define CLASS_RSSI_SETTING 0X2
82 #define CLASS_AP_REQ_TXRPT 0X2
83 #define CLASS_INIT_RATE_COLLECTION 0X2
84 #define CLASS_IQK_OFFLOAD 0X2
85 #define CLASS_MACID_CFG_3SS 0X2
86 #define CLASS_RA_PARA_ADJUST 0X02
87 #define CLASS_WWLAN 0X4
88 #define CLASS_REMOTE_WAKE_CTRL 0X4
89 #define CLASS_AOAC_GLOBAL_INFO 0X04
90 #define CLASS_AOAC_RSVD_PAGE 0X04
91 #define CLASS_AOAC_RSVD_PAGE2 0X04
92 #define CLASS_D0_SCAN_OFFLOAD_INFO 0X04
93 #define CLASS_CHANNEL_SWITCH_OFFLOAD 0X04
94 #define CLASS_AOAC_RSVD_PAGE3 0X04
95 #define ORIGINAL_H2C_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
96 #define ORIGINAL_H2C_SET_CMD_ID(__h2c, __value) \
97 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
98 #define ORIGINAL_H2C_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
99 #define ORIGINAL_H2C_SET_CLASS(__h2c, __value) \
100 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
101 #define H2C2H_LB_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
102 #define H2C2H_LB_SET_CMD_ID(__h2c, __value) \
103 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
104 #define H2C2H_LB_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
105 #define H2C2H_LB_SET_CLASS(__h2c, __value) \
106 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
107 #define H2C2H_LB_GET_SEQ(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
108 #define H2C2H_LB_SET_SEQ(__h2c, __value) \
109 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
110 #define H2C2H_LB_GET_PAYLOAD1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 16)
111 #define H2C2H_LB_SET_PAYLOAD1(__h2c, __value) \
112 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 16, __value)
113 #define H2C2H_LB_GET_PAYLOAD2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 32)
114 #define H2C2H_LB_SET_PAYLOAD2(__h2c, __value) \
115 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 32, __value)
116 #define D0_SCAN_OFFLOAD_CTRL_GET_CMD_ID(__h2c) \
117 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
118 #define D0_SCAN_OFFLOAD_CTRL_SET_CMD_ID(__h2c, __value) \
119 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
120 #define D0_SCAN_OFFLOAD_CTRL_GET_CLASS(__h2c) \
121 LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
122 #define D0_SCAN_OFFLOAD_CTRL_SET_CLASS(__h2c, __value) \
123 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
124 #define D0_SCAN_OFFLOAD_CTRL_GET_D0_SCAN_FUN_EN(__h2c) \
125 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
126 #define D0_SCAN_OFFLOAD_CTRL_SET_D0_SCAN_FUN_EN(__h2c, __value) \
127 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
128 #define D0_SCAN_OFFLOAD_CTRL_GET_RTD3FUN_EN(__h2c) \
129 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
130 #define D0_SCAN_OFFLOAD_CTRL_SET_RTD3FUN_EN(__h2c, __value) \
131 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
132 #define D0_SCAN_OFFLOAD_CTRL_GET_U3_SCAN_FUN_EN(__h2c) \
133 LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
134 #define D0_SCAN_OFFLOAD_CTRL_SET_U3_SCAN_FUN_EN(__h2c, __value) \
135 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
136 #define D0_SCAN_OFFLOAD_CTRL_GET_NLO_FUN_EN(__h2c) \
137 LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
138 #define D0_SCAN_OFFLOAD_CTRL_SET_NLO_FUN_EN(__h2c, __value) \
139 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
140 #define D0_SCAN_OFFLOAD_CTRL_GET_IPS_DEPENDENT(__h2c) \
141 LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1)
142 #define D0_SCAN_OFFLOAD_CTRL_SET_IPS_DEPENDENT(__h2c, __value) \
143 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value)
144 #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_PROBE_PACKET(__h2c) \
145 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 17)
146 #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_PROBE_PACKET(__h2c, __value) \
147 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 17, __value)
148 #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_SCAN_INFO(__h2c) \
149 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
150 #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_SCAN_INFO(__h2c, __value) \
151 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
152 #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_SSID_INFO(__h2c) \
153 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
154 #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_SSID_INFO(__h2c, __value) \
155 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
156 #define RSVD_PAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
157 #define RSVD_PAGE_SET_CMD_ID(__h2c, __value) \
158 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
159 #define RSVD_PAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
160 #define RSVD_PAGE_SET_CLASS(__h2c, __value) \
161 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
162 #define RSVD_PAGE_GET_LOC_PROBE_RSP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
163 #define RSVD_PAGE_SET_LOC_PROBE_RSP(__h2c, __value) \
164 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
165 #define RSVD_PAGE_GET_LOC_PS_POLL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
166 #define RSVD_PAGE_SET_LOC_PS_POLL(__h2c, __value) \
167 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
168 #define RSVD_PAGE_GET_LOC_NULL_DATA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
169 #define RSVD_PAGE_SET_LOC_NULL_DATA(__h2c, __value) \
170 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
171 #define RSVD_PAGE_GET_LOC_QOS_NULL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
172 #define RSVD_PAGE_SET_LOC_QOS_NULL(__h2c, __value) \
173 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
174 #define RSVD_PAGE_GET_LOC_BT_QOS_NULL(__h2c) \
175 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
176 #define RSVD_PAGE_SET_LOC_BT_QOS_NULL(__h2c, __value) \
177 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
178 #define RSVD_PAGE_GET_LOC_CTS2SELF(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
179 #define RSVD_PAGE_SET_LOC_CTS2SELF(__h2c, __value) \
180 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
181 #define RSVD_PAGE_GET_LOC_LTECOEX_QOSNULL(__h2c) \
182 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
183 #define RSVD_PAGE_SET_LOC_LTECOEX_QOSNULL(__h2c, __value) \
184 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
185 #define MEDIA_STATUS_RPT_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
186 #define MEDIA_STATUS_RPT_SET_CMD_ID(__h2c, __value) \
187 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
188 #define MEDIA_STATUS_RPT_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
189 #define MEDIA_STATUS_RPT_SET_CLASS(__h2c, __value) \
190 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
191 #define MEDIA_STATUS_RPT_GET_OP_MODE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
192 #define MEDIA_STATUS_RPT_SET_OP_MODE(__h2c, __value) \
193 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
194 #define MEDIA_STATUS_RPT_GET_MACID_IN(__h2c) \
195 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
196 #define MEDIA_STATUS_RPT_SET_MACID_IN(__h2c, __value) \
197 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
198 #define MEDIA_STATUS_RPT_GET_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
199 #define MEDIA_STATUS_RPT_SET_MACID(__h2c, __value) \
200 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
201 #define MEDIA_STATUS_RPT_GET_MACID_END(__h2c) \
202 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
203 #define MEDIA_STATUS_RPT_SET_MACID_END(__h2c, __value) \
204 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
205 #define KEEP_ALIVE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
206 #define KEEP_ALIVE_SET_CMD_ID(__h2c, __value) \
207 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
208 #define KEEP_ALIVE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
209 #define KEEP_ALIVE_SET_CLASS(__h2c, __value) \
210 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
211 #define KEEP_ALIVE_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
212 #define KEEP_ALIVE_SET_ENABLE(__h2c, __value) \
213 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
214 #define KEEP_ALIVE_GET_ADOPT_USER_SETTING(__h2c) \
215 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
216 #define KEEP_ALIVE_SET_ADOPT_USER_SETTING(__h2c, __value) \
217 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
218 #define KEEP_ALIVE_GET_PKT_TYPE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
219 #define KEEP_ALIVE_SET_PKT_TYPE(__h2c, __value) \
220 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
221 #define KEEP_ALIVE_GET_KEEP_ALIVE_CHECK_PERIOD(__h2c) \
222 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
223 #define KEEP_ALIVE_SET_KEEP_ALIVE_CHECK_PERIOD(__h2c, __value) \
224 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
225 #define DISCONNECT_DECISION_GET_CMD_ID(__h2c) \
226 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
227 #define DISCONNECT_DECISION_SET_CMD_ID(__h2c, __value) \
228 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
229 #define DISCONNECT_DECISION_GET_CLASS(__h2c) \
230 LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
231 #define DISCONNECT_DECISION_SET_CLASS(__h2c, __value) \
232 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
233 #define DISCONNECT_DECISION_GET_ENABLE(__h2c) \
234 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
235 #define DISCONNECT_DECISION_SET_ENABLE(__h2c, __value) \
236 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
237 #define DISCONNECT_DECISION_GET_ADOPT_USER_SETTING(__h2c) \
238 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
239 #define DISCONNECT_DECISION_SET_ADOPT_USER_SETTING(__h2c, __value) \
240 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
241 #define DISCONNECT_DECISION_GET_TRY_OK_BCN_FAIL_COUNT_EN(__h2c) \
242 LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
243 #define DISCONNECT_DECISION_SET_TRY_OK_BCN_FAIL_COUNT_EN(__h2c, __value) \
244 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
245 #define DISCONNECT_DECISION_GET_DISCONNECT_EN(__h2c) \
246 LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
247 #define DISCONNECT_DECISION_SET_DISCONNECT_EN(__h2c, __value) \
248 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
249 #define DISCONNECT_DECISION_GET_DISCON_DECISION_CHECK_PERIOD(__h2c) \
250 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
251 #define DISCONNECT_DECISION_SET_DISCON_DECISION_CHECK_PERIOD(__h2c, __value) \
252 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
253 #define DISCONNECT_DECISION_GET_TRY_PKT_NUM(__h2c) \
254 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
255 #define DISCONNECT_DECISION_SET_TRY_PKT_NUM(__h2c, __value) \
256 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
257 #define DISCONNECT_DECISION_GET_TRY_OK_BCN_FAIL_COUNT_LIMIT(__h2c) \
258 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
259 #define DISCONNECT_DECISION_SET_TRY_OK_BCN_FAIL_COUNT_LIMIT(__h2c, __value) \
260 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
261 #define AP_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
262 #define AP_OFFLOAD_SET_CMD_ID(__h2c, __value) \
263 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
264 #define AP_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
265 #define AP_OFFLOAD_SET_CLASS(__h2c, __value) \
266 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
267 #define AP_OFFLOAD_GET_ON(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
268 #define AP_OFFLOAD_SET_ON(__h2c, __value) \
269 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
270 #define AP_OFFLOAD_GET_CFG_MIFI_PLATFORM(__h2c) \
271 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
272 #define AP_OFFLOAD_SET_CFG_MIFI_PLATFORM(__h2c, __value) \
273 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
274 #define AP_OFFLOAD_GET_LINKED(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
275 #define AP_OFFLOAD_SET_LINKED(__h2c, __value) \
276 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
277 #define AP_OFFLOAD_GET_EN_AUTO_WAKE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
278 #define AP_OFFLOAD_SET_EN_AUTO_WAKE(__h2c, __value) \
279 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
280 #define AP_OFFLOAD_GET_WAKE_FLAG(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1)
281 #define AP_OFFLOAD_SET_WAKE_FLAG(__h2c, __value) \
282 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value)
283 #define AP_OFFLOAD_GET_HIDDEN_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 1)
284 #define AP_OFFLOAD_SET_HIDDEN_ROOT(__h2c, __value) \
285 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 1, __value)
286 #define AP_OFFLOAD_GET_HIDDEN_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 17, 1)
287 #define AP_OFFLOAD_SET_HIDDEN_VAP1(__h2c, __value) \
288 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 17, 1, __value)
289 #define AP_OFFLOAD_GET_HIDDEN_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 18, 1)
290 #define AP_OFFLOAD_SET_HIDDEN_VAP2(__h2c, __value) \
291 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 18, 1, __value)
292 #define AP_OFFLOAD_GET_HIDDEN_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 19, 1)
293 #define AP_OFFLOAD_SET_HIDDEN_VAP3(__h2c, __value) \
294 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 19, 1, __value)
295 #define AP_OFFLOAD_GET_HIDDEN_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 20, 1)
296 #define AP_OFFLOAD_SET_HIDDEN_VAP4(__h2c, __value) \
297 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 20, 1, __value)
298 #define AP_OFFLOAD_GET_DENYANY_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1)
299 #define AP_OFFLOAD_SET_DENYANY_ROOT(__h2c, __value) \
300 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value)
301 #define AP_OFFLOAD_GET_DENYANY_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 25, 1)
302 #define AP_OFFLOAD_SET_DENYANY_VAP1(__h2c, __value) \
303 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 25, 1, __value)
304 #define AP_OFFLOAD_GET_DENYANY_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 26, 1)
305 #define AP_OFFLOAD_SET_DENYANY_VAP2(__h2c, __value) \
306 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 26, 1, __value)
307 #define AP_OFFLOAD_GET_DENYANY_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 27, 1)
308 #define AP_OFFLOAD_SET_DENYANY_VAP3(__h2c, __value) \
309 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 27, 1, __value)
310 #define AP_OFFLOAD_GET_DENYANY_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 1)
311 #define AP_OFFLOAD_SET_DENYANY_VAP4(__h2c, __value) \
312 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 1, __value)
313 #define AP_OFFLOAD_GET_WAIT_TBTT_CNT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
314 #define AP_OFFLOAD_SET_WAIT_TBTT_CNT(__h2c, __value) \
315 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
316 #define AP_OFFLOAD_GET_WAKE_TIMEOUT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
317 #define AP_OFFLOAD_SET_WAKE_TIMEOUT(__h2c, __value) \
318 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
319 #define AP_OFFLOAD_GET_LEN_IV_PAIR(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
320 #define AP_OFFLOAD_SET_LEN_IV_PAIR(__h2c, __value) \
321 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
322 #define AP_OFFLOAD_GET_LEN_IV_GRP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
323 #define AP_OFFLOAD_SET_LEN_IV_GRP(__h2c, __value) \
324 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
325 #define BCN_RSVDPAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
326 #define BCN_RSVDPAGE_SET_CMD_ID(__h2c, __value) \
327 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
328 #define BCN_RSVDPAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
329 #define BCN_RSVDPAGE_SET_CLASS(__h2c, __value) \
330 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
331 #define BCN_RSVDPAGE_GET_LOC_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
332 #define BCN_RSVDPAGE_SET_LOC_ROOT(__h2c, __value) \
333 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
334 #define BCN_RSVDPAGE_GET_LOC_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
335 #define BCN_RSVDPAGE_SET_LOC_VAP1(__h2c, __value) \
336 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
337 #define BCN_RSVDPAGE_GET_LOC_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
338 #define BCN_RSVDPAGE_SET_LOC_VAP2(__h2c, __value) \
339 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
340 #define BCN_RSVDPAGE_GET_LOC_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
341 #define BCN_RSVDPAGE_SET_LOC_VAP3(__h2c, __value) \
342 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
343 #define BCN_RSVDPAGE_GET_LOC_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
344 #define BCN_RSVDPAGE_SET_LOC_VAP4(__h2c, __value) \
345 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
346 #define PROBE_RSP_RSVDPAGE_GET_CMD_ID(__h2c) \
347 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
348 #define PROBE_RSP_RSVDPAGE_SET_CMD_ID(__h2c, __value) \
349 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
350 #define PROBE_RSP_RSVDPAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
351 #define PROBE_RSP_RSVDPAGE_SET_CLASS(__h2c, __value) \
352 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
353 #define PROBE_RSP_RSVDPAGE_GET_LOC_ROOT(__h2c) \
354 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
355 #define PROBE_RSP_RSVDPAGE_SET_LOC_ROOT(__h2c, __value) \
356 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
357 #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP1(__h2c) \
358 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
359 #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP1(__h2c, __value) \
360 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
361 #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP2(__h2c) \
362 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
363 #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP2(__h2c, __value) \
364 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
365 #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP3(__h2c) \
366 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
367 #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP3(__h2c, __value) \
368 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
369 #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP4(__h2c) \
370 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
371 #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP4(__h2c, __value) \
372 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
373 #define SET_PWR_MODE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
374 #define SET_PWR_MODE_SET_CMD_ID(__h2c, __value) \
375 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
376 #define SET_PWR_MODE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
377 #define SET_PWR_MODE_SET_CLASS(__h2c, __value) \
378 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
379 #define SET_PWR_MODE_GET_MODE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7)
380 #define SET_PWR_MODE_SET_MODE(__h2c, __value) \
381 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value)
382 #define SET_PWR_MODE_GET_CLK_REQUEST(__h2c) \
383 LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1)
384 #define SET_PWR_MODE_SET_CLK_REQUEST(__h2c, __value) \
385 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value)
386 #define SET_PWR_MODE_GET_RLBM(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 4)
387 #define SET_PWR_MODE_SET_RLBM(__h2c, __value) \
388 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 4, __value)
389 #define SET_PWR_MODE_GET_SMART_PS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 20, 4)
390 #define SET_PWR_MODE_SET_SMART_PS(__h2c, __value) \
391 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 20, 4, __value)
392 #define SET_PWR_MODE_GET_AWAKE_INTERVAL(__h2c) \
393 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
394 #define SET_PWR_MODE_SET_AWAKE_INTERVAL(__h2c, __value) \
395 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
396 #define SET_PWR_MODE_GET_B_ALL_QUEUE_UAPSD(__h2c) \
397 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 1)
398 #define SET_PWR_MODE_SET_B_ALL_QUEUE_UAPSD(__h2c, __value) \
399 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 1, __value)
400 #define SET_PWR_MODE_GET_BCN_EARLY_RPT(__h2c) \
401 LE_BITS_TO_4BYTE(__h2c + 0X04, 2, 1)
402 #define SET_PWR_MODE_SET_BCN_EARLY_RPT(__h2c, __value) \
403 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 2, 1, __value)
404 #define SET_PWR_MODE_GET_PORT_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 5, 3)
405 #define SET_PWR_MODE_SET_PORT_ID(__h2c, __value) \
406 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 5, 3, __value)
407 #define SET_PWR_MODE_GET_PWR_STATE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
408 #define SET_PWR_MODE_SET_PWR_STATE(__h2c, __value) \
409 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
410 #define SET_PWR_MODE_GET_LOW_POWER_RX_BCN(__h2c) \
411 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 1)
412 #define SET_PWR_MODE_SET_LOW_POWER_RX_BCN(__h2c, __value) \
413 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 1, __value)
414 #define SET_PWR_MODE_GET_ANT_AUTO_SWITCH(__h2c) \
415 LE_BITS_TO_4BYTE(__h2c + 0X04, 17, 1)
416 #define SET_PWR_MODE_SET_ANT_AUTO_SWITCH(__h2c, __value) \
417 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 17, 1, __value)
418 #define SET_PWR_MODE_GET_PS_ALLOW_BT_HIGH_PRIORITY(__h2c) \
419 LE_BITS_TO_4BYTE(__h2c + 0X04, 18, 1)
420 #define SET_PWR_MODE_SET_PS_ALLOW_BT_HIGH_PRIORITY(__h2c, __value) \
421 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 18, 1, __value)
422 #define SET_PWR_MODE_GET_PROTECT_BCN(__h2c) \
423 LE_BITS_TO_4BYTE(__h2c + 0X04, 19, 1)
424 #define SET_PWR_MODE_SET_PROTECT_BCN(__h2c, __value) \
425 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 19, 1, __value)
426 #define SET_PWR_MODE_GET_SILENCE_PERIOD(__h2c) \
427 LE_BITS_TO_4BYTE(__h2c + 0X04, 20, 1)
428 #define SET_PWR_MODE_SET_SILENCE_PERIOD(__h2c, __value) \
429 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 20, 1, __value)
430 #define SET_PWR_MODE_GET_FAST_BT_CONNECT(__h2c) \
431 LE_BITS_TO_4BYTE(__h2c + 0X04, 21, 1)
432 #define SET_PWR_MODE_SET_FAST_BT_CONNECT(__h2c, __value) \
433 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 21, 1, __value)
434 #define SET_PWR_MODE_GET_TWO_ANTENNA_EN(__h2c) \
435 LE_BITS_TO_4BYTE(__h2c + 0X04, 22, 1)
436 #define SET_PWR_MODE_SET_TWO_ANTENNA_EN(__h2c, __value) \
437 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 22, 1, __value)
438 #define SET_PWR_MODE_GET_ADOPT_USER_SETTING(__h2c) \
439 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 1)
440 #define SET_PWR_MODE_SET_ADOPT_USER_SETTING(__h2c, __value) \
441 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 1, __value)
442 #define SET_PWR_MODE_GET_DRV_BCN_EARLY_SHIFT(__h2c) \
443 LE_BITS_TO_4BYTE(__h2c + 0X04, 25, 3)
444 #define SET_PWR_MODE_SET_DRV_BCN_EARLY_SHIFT(__h2c, __value) \
445 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 25, 3, __value)
446 #define SET_PWR_MODE_GET_DRV_BCN_EARLY_SHIFT2(__h2c) \
447 LE_BITS_TO_4BYTE(__h2c + 0X04, 28, 4)
448 #define SET_PWR_MODE_SET_DRV_BCN_EARLY_SHIFT2(__h2c, __value) \
449 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 28, 4, __value)
450 #define PS_TUNING_PARA_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
451 #define PS_TUNING_PARA_SET_CMD_ID(__h2c, __value) \
452 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
453 #define PS_TUNING_PARA_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
454 #define PS_TUNING_PARA_SET_CLASS(__h2c, __value) \
455 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
456 #define PS_TUNING_PARA_GET_BCN_TO_LIMIT(__h2c) \
457 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7)
458 #define PS_TUNING_PARA_SET_BCN_TO_LIMIT(__h2c, __value) \
459 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value)
460 #define PS_TUNING_PARA_GET_DTIM_TIME_OUT(__h2c) \
461 LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1)
462 #define PS_TUNING_PARA_SET_DTIM_TIME_OUT(__h2c, __value) \
463 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value)
464 #define PS_TUNING_PARA_GET_PS_TIME_OUT(__h2c) \
465 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 4)
466 #define PS_TUNING_PARA_SET_PS_TIME_OUT(__h2c, __value) \
467 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 4, __value)
468 #define PS_TUNING_PARA_GET_ADOPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
469 #define PS_TUNING_PARA_SET_ADOPT(__h2c, __value) \
470 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
471 #define PS_TUNING_PARA_II_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
472 #define PS_TUNING_PARA_II_SET_CMD_ID(__h2c, __value) \
473 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
474 #define PS_TUNING_PARA_II_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
475 #define PS_TUNING_PARA_II_SET_CLASS(__h2c, __value) \
476 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
477 #define PS_TUNING_PARA_II_GET_BCN_TO_PERIOD(__h2c) \
478 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7)
479 #define PS_TUNING_PARA_II_SET_BCN_TO_PERIOD(__h2c, __value) \
480 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value)
481 #define PS_TUNING_PARA_II_GET_ADOPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1)
482 #define PS_TUNING_PARA_II_SET_ADOPT(__h2c, __value) \
483 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value)
484 #define PS_TUNING_PARA_II_GET_DRV_EARLY_IVL(__h2c) \
485 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
486 #define PS_TUNING_PARA_II_SET_DRV_EARLY_IVL(__h2c, __value) \
487 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
488 #define PS_LPS_PARA_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
489 #define PS_LPS_PARA_SET_CMD_ID(__h2c, __value) \
490 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
491 #define PS_LPS_PARA_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
492 #define PS_LPS_PARA_SET_CLASS(__h2c, __value) \
493 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
494 #define PS_LPS_PARA_GET_LPS_CONTROL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
495 #define PS_LPS_PARA_SET_LPS_CONTROL(__h2c, __value) \
496 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
497 #define P2P_PS_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
498 #define P2P_PS_OFFLOAD_SET_CMD_ID(__h2c, __value) \
499 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
500 #define P2P_PS_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
501 #define P2P_PS_OFFLOAD_SET_CLASS(__h2c, __value) \
502 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
503 #define P2P_PS_OFFLOAD_GET_OFFLOAD_EN(__h2c) \
504 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
505 #define P2P_PS_OFFLOAD_SET_OFFLOAD_EN(__h2c, __value) \
506 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
507 #define P2P_PS_OFFLOAD_GET_ROLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
508 #define P2P_PS_OFFLOAD_SET_ROLE(__h2c, __value) \
509 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
510 #define P2P_PS_OFFLOAD_GET_CTWINDOW_EN(__h2c) \
511 LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
512 #define P2P_PS_OFFLOAD_SET_CTWINDOW_EN(__h2c, __value) \
513 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
514 #define P2P_PS_OFFLOAD_GET_NOA0_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
515 #define P2P_PS_OFFLOAD_SET_NOA0_EN(__h2c, __value) \
516 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
517 #define P2P_PS_OFFLOAD_GET_NOA1_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1)
518 #define P2P_PS_OFFLOAD_SET_NOA1_EN(__h2c, __value) \
519 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value)
520 #define P2P_PS_OFFLOAD_GET_ALL_STA_SLEEP(__h2c) \
521 LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1)
522 #define P2P_PS_OFFLOAD_SET_ALL_STA_SLEEP(__h2c, __value) \
523 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value)
524 #define P2P_PS_OFFLOAD_GET_DISCOVERY(__h2c) \
525 LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1)
526 #define P2P_PS_OFFLOAD_SET_DISCOVERY(__h2c, __value) \
527 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value)
528 #define PS_SCAN_EN_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
529 #define PS_SCAN_EN_SET_CMD_ID(__h2c, __value) \
530 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
531 #define PS_SCAN_EN_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
532 #define PS_SCAN_EN_SET_CLASS(__h2c, __value) \
533 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
534 #define PS_SCAN_EN_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
535 #define PS_SCAN_EN_SET_ENABLE(__h2c, __value) \
536 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
537 #define SAP_PS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
538 #define SAP_PS_SET_CMD_ID(__h2c, __value) \
539 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
540 #define SAP_PS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
541 #define SAP_PS_SET_CLASS(__h2c, __value) \
542 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
543 #define SAP_PS_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
544 #define SAP_PS_SET_ENABLE(__h2c, __value) \
545 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
546 #define SAP_PS_GET_EN_PS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
547 #define SAP_PS_SET_EN_PS(__h2c, __value) \
548 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
549 #define SAP_PS_GET_EN_LP_RX(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
550 #define SAP_PS_SET_EN_LP_RX(__h2c, __value) \
551 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
552 #define SAP_PS_GET_MANUAL_32K(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
553 #define SAP_PS_SET_MANUAL_32K(__h2c, __value) \
554 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
555 #define SAP_PS_GET_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
556 #define SAP_PS_SET_DURATION(__h2c, __value) \
557 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
558 #define INACTIVE_PS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
559 #define INACTIVE_PS_SET_CMD_ID(__h2c, __value) \
560 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
561 #define INACTIVE_PS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
562 #define INACTIVE_PS_SET_CLASS(__h2c, __value) \
563 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
564 #define INACTIVE_PS_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
565 #define INACTIVE_PS_SET_ENABLE(__h2c, __value) \
566 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
567 #define INACTIVE_PS_GET_IGNORE_PS_CONDITION(__h2c) \
568 LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
569 #define INACTIVE_PS_SET_IGNORE_PS_CONDITION(__h2c, __value) \
570 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
571 #define INACTIVE_PS_GET_FREQUENCY(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
572 #define INACTIVE_PS_SET_FREQUENCY(__h2c, __value) \
573 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
574 #define INACTIVE_PS_GET_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
575 #define INACTIVE_PS_SET_DURATION(__h2c, __value) \
576 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
577 #define MACID_CFG_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
578 #define MACID_CFG_SET_CMD_ID(__h2c, __value) \
579 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
580 #define MACID_CFG_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
581 #define MACID_CFG_SET_CLASS(__h2c, __value) \
582 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
583 #define MACID_CFG_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
584 #define MACID_CFG_SET_MAC_ID(__h2c, __value) \
585 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
586 #define MACID_CFG_GET_RATE_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 5)
587 #define MACID_CFG_SET_RATE_ID(__h2c, __value) \
588 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 5, __value)
589 #define MACID_CFG_GET_SGI(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 23, 1)
590 #define MACID_CFG_SET_SGI(__h2c, __value) \
591 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 23, 1, __value)
592 #define MACID_CFG_GET_BW(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 2)
593 #define MACID_CFG_SET_BW(__h2c, __value) \
594 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 2, __value)
595 #define MACID_CFG_GET_LDPC_CAP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 26, 1)
596 #define MACID_CFG_SET_LDPC_CAP(__h2c, __value) \
597 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 26, 1, __value)
598 #define MACID_CFG_GET_NO_UPDATE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 27, 1)
599 #define MACID_CFG_SET_NO_UPDATE(__h2c, __value) \
600 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 27, 1, __value)
601 #define MACID_CFG_GET_WHT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 2)
602 #define MACID_CFG_SET_WHT_EN(__h2c, __value) \
603 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 2, __value)
604 #define MACID_CFG_GET_DISPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 30, 1)
605 #define MACID_CFG_SET_DISPT(__h2c, __value) \
606 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 30, 1, __value)
607 #define MACID_CFG_GET_DISRA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 31, 1)
608 #define MACID_CFG_SET_DISRA(__h2c, __value) \
609 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 31, 1, __value)
610 #define MACID_CFG_GET_RATE_MASK7_0(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
611 #define MACID_CFG_SET_RATE_MASK7_0(__h2c, __value) \
612 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
613 #define MACID_CFG_GET_RATE_MASK15_8(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
614 #define MACID_CFG_SET_RATE_MASK15_8(__h2c, __value) \
615 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
616 #define MACID_CFG_GET_RATE_MASK23_16(__h2c) \
617 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
618 #define MACID_CFG_SET_RATE_MASK23_16(__h2c, __value) \
619 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
620 #define MACID_CFG_GET_RATE_MASK31_24(__h2c) \
621 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
622 #define MACID_CFG_SET_RATE_MASK31_24(__h2c, __value) \
623 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
624 #define TXBF_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
625 #define TXBF_SET_CMD_ID(__h2c, __value) \
626 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
627 #define TXBF_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
628 #define TXBF_SET_CLASS(__h2c, __value) \
629 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
630 #define TXBF_GET_NDPA0_HEAD_PAGE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
631 #define TXBF_SET_NDPA0_HEAD_PAGE(__h2c, __value) \
632 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
633 #define TXBF_GET_NDPA1_HEAD_PAGE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
634 #define TXBF_SET_NDPA1_HEAD_PAGE(__h2c, __value) \
635 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
636 #define TXBF_GET_PERIOD_0(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
637 #define TXBF_SET_PERIOD_0(__h2c, __value) \
638 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
639 #define RSSI_SETTING_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
640 #define RSSI_SETTING_SET_CMD_ID(__h2c, __value) \
641 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
642 #define RSSI_SETTING_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
643 #define RSSI_SETTING_SET_CLASS(__h2c, __value) \
644 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
645 #define RSSI_SETTING_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
646 #define RSSI_SETTING_SET_MAC_ID(__h2c, __value) \
647 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
648 #define RSSI_SETTING_GET_RSSI(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 7)
649 #define RSSI_SETTING_SET_RSSI(__h2c, __value) \
650 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 7, __value)
651 #define RSSI_SETTING_GET_RA_INFO(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
652 #define RSSI_SETTING_SET_RA_INFO(__h2c, __value) \
653 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
654 #define AP_REQ_TXRPT_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
655 #define AP_REQ_TXRPT_SET_CMD_ID(__h2c, __value) \
656 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
657 #define AP_REQ_TXRPT_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
658 #define AP_REQ_TXRPT_SET_CLASS(__h2c, __value) \
659 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
660 #define AP_REQ_TXRPT_GET_STA1_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
661 #define AP_REQ_TXRPT_SET_STA1_MACID(__h2c, __value) \
662 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
663 #define AP_REQ_TXRPT_GET_STA2_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
664 #define AP_REQ_TXRPT_SET_STA2_MACID(__h2c, __value) \
665 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
666 #define AP_REQ_TXRPT_GET_RTY_OK_TOTAL(__h2c) \
667 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1)
668 #define AP_REQ_TXRPT_SET_RTY_OK_TOTAL(__h2c, __value) \
669 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value)
670 #define AP_REQ_TXRPT_GET_RTY_CNT_MACID(__h2c) \
671 LE_BITS_TO_4BYTE(__h2c + 0X00, 25, 1)
672 #define AP_REQ_TXRPT_SET_RTY_CNT_MACID(__h2c, __value) \
673 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 25, 1, __value)
674 #define INIT_RATE_COLLECTION_GET_CMD_ID(__h2c) \
675 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
676 #define INIT_RATE_COLLECTION_SET_CMD_ID(__h2c, __value) \
677 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
678 #define INIT_RATE_COLLECTION_GET_CLASS(__h2c) \
679 LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
680 #define INIT_RATE_COLLECTION_SET_CLASS(__h2c, __value) \
681 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
682 #define INIT_RATE_COLLECTION_GET_STA1_MACID(__h2c) \
683 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
684 #define INIT_RATE_COLLECTION_SET_STA1_MACID(__h2c, __value) \
685 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
686 #define INIT_RATE_COLLECTION_GET_STA2_MACID(__h2c) \
687 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
688 #define INIT_RATE_COLLECTION_SET_STA2_MACID(__h2c, __value) \
689 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
690 #define INIT_RATE_COLLECTION_GET_STA3_MACID(__h2c) \
691 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
692 #define INIT_RATE_COLLECTION_SET_STA3_MACID(__h2c, __value) \
693 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
694 #define INIT_RATE_COLLECTION_GET_STA4_MACID(__h2c) \
695 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
696 #define INIT_RATE_COLLECTION_SET_STA4_MACID(__h2c, __value) \
697 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
698 #define INIT_RATE_COLLECTION_GET_STA5_MACID(__h2c) \
699 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
700 #define INIT_RATE_COLLECTION_SET_STA5_MACID(__h2c, __value) \
701 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
702 #define INIT_RATE_COLLECTION_GET_STA6_MACID(__h2c) \
703 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
704 #define INIT_RATE_COLLECTION_SET_STA6_MACID(__h2c, __value) \
705 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
706 #define INIT_RATE_COLLECTION_GET_STA7_MACID(__h2c) \
707 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
708 #define INIT_RATE_COLLECTION_SET_STA7_MACID(__h2c, __value) \
709 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
710 #define IQK_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
711 #define IQK_OFFLOAD_SET_CMD_ID(__h2c, __value) \
712 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
713 #define IQK_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
714 #define IQK_OFFLOAD_SET_CLASS(__h2c, __value) \
715 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
716 #define IQK_OFFLOAD_GET_CHANNEL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
717 #define IQK_OFFLOAD_SET_CHANNEL(__h2c, __value) \
718 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
719 #define IQK_OFFLOAD_GET_BWBAND(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
720 #define IQK_OFFLOAD_SET_BWBAND(__h2c, __value) \
721 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
722 #define IQK_OFFLOAD_GET_EXTPALNA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
723 #define IQK_OFFLOAD_SET_EXTPALNA(__h2c, __value) \
724 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
725 #define MACID_CFG_3SS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
726 #define MACID_CFG_3SS_SET_CMD_ID(__h2c, __value) \
727 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
728 #define MACID_CFG_3SS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
729 #define MACID_CFG_3SS_SET_CLASS(__h2c, __value) \
730 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
731 #define MACID_CFG_3SS_GET_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
732 #define MACID_CFG_3SS_SET_MACID(__h2c, __value) \
733 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
734 #define MACID_CFG_3SS_GET_RATE_MASK_39_32(__h2c) \
735 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
736 #define MACID_CFG_3SS_SET_RATE_MASK_39_32(__h2c, __value) \
737 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
738 #define MACID_CFG_3SS_GET_RATE_MASK_47_40(__h2c) \
739 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
740 #define MACID_CFG_3SS_SET_RATE_MASK_47_40(__h2c, __value) \
741 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
742 #define RA_PARA_ADJUST_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
743 #define RA_PARA_ADJUST_SET_CMD_ID(__h2c, __value) \
744 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
745 #define RA_PARA_ADJUST_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
746 #define RA_PARA_ADJUST_SET_CLASS(__h2c, __value) \
747 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
748 #define RA_PARA_ADJUST_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
749 #define RA_PARA_ADJUST_SET_MAC_ID(__h2c, __value) \
750 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
751 #define RA_PARA_ADJUST_GET_PARAMETER_INDEX(__h2c) \
752 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
753 #define RA_PARA_ADJUST_SET_PARAMETER_INDEX(__h2c, __value) \
754 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
755 #define RA_PARA_ADJUST_GET_RATE_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
756 #define RA_PARA_ADJUST_SET_RATE_ID(__h2c, __value) \
757 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
758 #define RA_PARA_ADJUST_GET_VALUE_BYTE0(__h2c) \
759 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
760 #define RA_PARA_ADJUST_SET_VALUE_BYTE0(__h2c, __value) \
761 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
762 #define RA_PARA_ADJUST_GET_VALUE_BYTE1(__h2c) \
763 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
764 #define RA_PARA_ADJUST_SET_VALUE_BYTE1(__h2c, __value) \
765 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
766 #define RA_PARA_ADJUST_GET_ASK_FW_FOR_FW_PARA(__h2c) \
767 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
768 #define RA_PARA_ADJUST_SET_ASK_FW_FOR_FW_PARA(__h2c, __value) \
769 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
770 #define WWLAN_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
771 #define WWLAN_SET_CMD_ID(__h2c, __value) \
772 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
773 #define WWLAN_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
774 #define WWLAN_SET_CLASS(__h2c, __value) \
775 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
776 #define WWLAN_GET_FUNC_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
777 #define WWLAN_SET_FUNC_EN(__h2c, __value) \
778 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
779 #define WWLAN_GET_PATTERM_MAT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
780 #define WWLAN_SET_PATTERM_MAT_EN(__h2c, __value) \
781 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
782 #define WWLAN_GET_MAGIC_PKT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
783 #define WWLAN_SET_MAGIC_PKT_EN(__h2c, __value) \
784 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
785 #define WWLAN_GET_UNICAST_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
786 #define WWLAN_SET_UNICAST_WAKEUP_EN(__h2c, __value) \
787 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
788 #define WWLAN_GET_ALL_PKT_DROP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1)
789 #define WWLAN_SET_ALL_PKT_DROP(__h2c, __value) \
790 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value)
791 #define WWLAN_GET_GPIO_ACTIVE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1)
792 #define WWLAN_SET_GPIO_ACTIVE(__h2c, __value) \
793 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value)
794 #define WWLAN_GET_REKEY_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1)
795 #define WWLAN_SET_REKEY_WAKEUP_EN(__h2c, __value) \
796 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value)
797 #define WWLAN_GET_DEAUTH_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1)
798 #define WWLAN_SET_DEAUTH_WAKEUP_EN(__h2c, __value) \
799 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value)
800 #define WWLAN_GET_GPIO_NUM(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 7)
801 #define WWLAN_SET_GPIO_NUM(__h2c, __value) \
802 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 7, __value)
803 #define WWLAN_GET_DATAPIN_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 23, 1)
804 #define WWLAN_SET_DATAPIN_WAKEUP_EN(__h2c, __value) \
805 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 23, 1, __value)
806 #define WWLAN_GET_GPIO_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
807 #define WWLAN_SET_GPIO_DURATION(__h2c, __value) \
808 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
809 #define WWLAN_GET_GPIO_PLUS_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 1)
810 #define WWLAN_SET_GPIO_PLUS_EN(__h2c, __value) \
811 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 1, __value)
812 #define WWLAN_GET_GPIO_PULSE_COUNT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 1, 7)
813 #define WWLAN_SET_GPIO_PULSE_COUNT(__h2c, __value) \
814 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 1, 7, __value)
815 #define WWLAN_GET_DISABLE_UPHY(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 1)
816 #define WWLAN_SET_DISABLE_UPHY(__h2c, __value) \
817 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 1, __value)
818 #define WWLAN_GET_HST2DEV_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 9, 1)
819 #define WWLAN_SET_HST2DEV_EN(__h2c, __value) \
820 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 9, 1, __value)
821 #define WWLAN_GET_GPIO_DURATION_MS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 10, 1)
822 #define WWLAN_SET_GPIO_DURATION_MS(__h2c, __value) \
823 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 10, 1, __value)
824 #define REMOTE_WAKE_CTRL_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
825 #define REMOTE_WAKE_CTRL_SET_CMD_ID(__h2c, __value) \
826 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
827 #define REMOTE_WAKE_CTRL_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
828 #define REMOTE_WAKE_CTRL_SET_CLASS(__h2c, __value) \
829 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
830 #define REMOTE_WAKE_CTRL_GET_REMOTE_WAKE_CTRL_EN(__h2c) \
831 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1)
832 #define REMOTE_WAKE_CTRL_SET_REMOTE_WAKE_CTRL_EN(__h2c, __value) \
833 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value)
834 #define REMOTE_WAKE_CTRL_GET_ARP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1)
835 #define REMOTE_WAKE_CTRL_SET_ARP_EN(__h2c, __value) \
836 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value)
837 #define REMOTE_WAKE_CTRL_GET_NDP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1)
838 #define REMOTE_WAKE_CTRL_SET_NDP_EN(__h2c, __value) \
839 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value)
840 #define REMOTE_WAKE_CTRL_GET_GTK_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1)
841 #define REMOTE_WAKE_CTRL_SET_GTK_EN(__h2c, __value) \
842 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value)
843 #define REMOTE_WAKE_CTRL_GET_NLO_OFFLOAD_EN(__h2c) \
844 LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1)
845 #define REMOTE_WAKE_CTRL_SET_NLO_OFFLOAD_EN(__h2c, __value) \
846 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value)
847 #define REMOTE_WAKE_CTRL_GET_REAL_WOW_V1_EN(__h2c) \
848 LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1)
849 #define REMOTE_WAKE_CTRL_SET_REAL_WOW_V1_EN(__h2c, __value) \
850 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value)
851 #define REMOTE_WAKE_CTRL_GET_REAL_WOW_V2_EN(__h2c) \
852 LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1)
853 #define REMOTE_WAKE_CTRL_SET_REAL_WOW_V2_EN(__h2c, __value) \
854 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value)
855 #define REMOTE_WAKE_CTRL_GET_FW_UNICAST(__h2c) \
856 LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1)
857 #define REMOTE_WAKE_CTRL_SET_FW_UNICAST(__h2c, __value) \
858 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value)
859 #define REMOTE_WAKE_CTRL_GET_P2P_OFFLOAD_EN(__h2c) \
860 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 1)
861 #define REMOTE_WAKE_CTRL_SET_P2P_OFFLOAD_EN(__h2c, __value) \
862 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 1, __value)
863 #define REMOTE_WAKE_CTRL_GET_RUNTIME_PM_EN(__h2c) \
864 LE_BITS_TO_4BYTE(__h2c + 0X00, 17, 1)
865 #define REMOTE_WAKE_CTRL_SET_RUNTIME_PM_EN(__h2c, __value) \
866 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 17, 1, __value)
867 #define REMOTE_WAKE_CTRL_GET_NET_BIOS_DROP_EN(__h2c) \
868 LE_BITS_TO_4BYTE(__h2c + 0X00, 18, 1)
869 #define REMOTE_WAKE_CTRL_SET_NET_BIOS_DROP_EN(__h2c, __value) \
870 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 18, 1, __value)
871 #define REMOTE_WAKE_CTRL_GET_ARP_ACTION(__h2c) \
872 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1)
873 #define REMOTE_WAKE_CTRL_SET_ARP_ACTION(__h2c, __value) \
874 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value)
875 #define REMOTE_WAKE_CTRL_GET_FW_PARSING_UNTIL_WAKEUP(__h2c) \
876 LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 1)
877 #define REMOTE_WAKE_CTRL_SET_FW_PARSING_UNTIL_WAKEUP(__h2c, __value) \
878 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 1, __value)
879 #define REMOTE_WAKE_CTRL_GET_FW_PARSING_AFTER_WAKEUP(__h2c) \
880 LE_BITS_TO_4BYTE(__h2c + 0X00, 29, 1)
881 #define REMOTE_WAKE_CTRL_SET_FW_PARSING_AFTER_WAKEUP(__h2c, __value) \
882 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 29, 1, __value)
883 #define AOAC_GLOBAL_INFO_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
884 #define AOAC_GLOBAL_INFO_SET_CMD_ID(__h2c, __value) \
885 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
886 #define AOAC_GLOBAL_INFO_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
887 #define AOAC_GLOBAL_INFO_SET_CLASS(__h2c, __value) \
888 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
889 #define AOAC_GLOBAL_INFO_GET_PAIR_WISE_ENC_ALG(__h2c) \
890 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
891 #define AOAC_GLOBAL_INFO_SET_PAIR_WISE_ENC_ALG(__h2c, __value) \
892 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
893 #define AOAC_GLOBAL_INFO_GET_GROUP_ENC_ALG(__h2c) \
894 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
895 #define AOAC_GLOBAL_INFO_SET_GROUP_ENC_ALG(__h2c, __value) \
896 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
897 #define AOAC_RSVD_PAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
898 #define AOAC_RSVD_PAGE_SET_CMD_ID(__h2c, __value) \
899 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
900 #define AOAC_RSVD_PAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
901 #define AOAC_RSVD_PAGE_SET_CLASS(__h2c, __value) \
902 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
903 #define AOAC_RSVD_PAGE_GET_LOC_REMOTE_CTRL_INFO(__h2c) \
904 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
905 #define AOAC_RSVD_PAGE_SET_LOC_REMOTE_CTRL_INFO(__h2c, __value) \
906 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
907 #define AOAC_RSVD_PAGE_GET_LOC_ARP_RESPONSE(__h2c) \
908 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
909 #define AOAC_RSVD_PAGE_SET_LOC_ARP_RESPONSE(__h2c, __value) \
910 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
911 #define AOAC_RSVD_PAGE_GET_LOC_NEIGHBOR_ADVERTISEMENT(__h2c) \
912 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
913 #define AOAC_RSVD_PAGE_SET_LOC_NEIGHBOR_ADVERTISEMENT(__h2c, __value) \
914 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
915 #define AOAC_RSVD_PAGE_GET_LOC_GTK_RSP(__h2c) \
916 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
917 #define AOAC_RSVD_PAGE_SET_LOC_GTK_RSP(__h2c, __value) \
918 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
919 #define AOAC_RSVD_PAGE_GET_LOC_GTK_INFO(__h2c) \
920 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
921 #define AOAC_RSVD_PAGE_SET_LOC_GTK_INFO(__h2c, __value) \
922 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
923 #define AOAC_RSVD_PAGE_GET_LOC_GTK_EXT_MEM(__h2c) \
924 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
925 #define AOAC_RSVD_PAGE_SET_LOC_GTK_EXT_MEM(__h2c, __value) \
926 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
927 #define AOAC_RSVD_PAGE_GET_LOC_NDP_INFO(__h2c) \
928 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
929 #define AOAC_RSVD_PAGE_SET_LOC_NDP_INFO(__h2c, __value) \
930 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
931 #define AOAC_RSVD_PAGE2_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
932 #define AOAC_RSVD_PAGE2_SET_CMD_ID(__h2c, __value) \
933 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
934 #define AOAC_RSVD_PAGE2_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
935 #define AOAC_RSVD_PAGE2_SET_CLASS(__h2c, __value) \
936 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
937 #define AOAC_RSVD_PAGE2_GET_LOC_ROUTER_SOLICATION(__h2c) \
938 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
939 #define AOAC_RSVD_PAGE2_SET_LOC_ROUTER_SOLICATION(__h2c, __value) \
940 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
941 #define AOAC_RSVD_PAGE2_GET_LOC_BUBBLE_PACKET(__h2c) \
942 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
943 #define AOAC_RSVD_PAGE2_SET_LOC_BUBBLE_PACKET(__h2c, __value) \
944 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
945 #define AOAC_RSVD_PAGE2_GET_LOC_TEREDO_INFO(__h2c) \
946 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
947 #define AOAC_RSVD_PAGE2_SET_LOC_TEREDO_INFO(__h2c, __value) \
948 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
949 #define AOAC_RSVD_PAGE2_GET_LOC_REALWOW_INFO(__h2c) \
950 LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8)
951 #define AOAC_RSVD_PAGE2_SET_LOC_REALWOW_INFO(__h2c, __value) \
952 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value)
953 #define AOAC_RSVD_PAGE2_GET_LOC_KEEP_ALIVE_PKT(__h2c) \
954 LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8)
955 #define AOAC_RSVD_PAGE2_SET_LOC_KEEP_ALIVE_PKT(__h2c, __value) \
956 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value)
957 #define AOAC_RSVD_PAGE2_GET_LOC_ACK_PATTERN(__h2c) \
958 LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8)
959 #define AOAC_RSVD_PAGE2_SET_LOC_ACK_PATTERN(__h2c, __value) \
960 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value)
961 #define AOAC_RSVD_PAGE2_GET_LOC_WAKEUP_PATTERN(__h2c) \
962 LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8)
963 #define AOAC_RSVD_PAGE2_SET_LOC_WAKEUP_PATTERN(__h2c, __value) \
964 SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value)
965 #define D0_SCAN_OFFLOAD_INFO_GET_CMD_ID(__h2c) \
966 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
967 #define D0_SCAN_OFFLOAD_INFO_SET_CMD_ID(__h2c, __value) \
968 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
969 #define D0_SCAN_OFFLOAD_INFO_GET_CLASS(__h2c) \
970 LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
971 #define D0_SCAN_OFFLOAD_INFO_SET_CLASS(__h2c, __value) \
972 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
973 #define D0_SCAN_OFFLOAD_INFO_GET_LOC_CHANNEL_INFO(__h2c) \
974 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
975 #define D0_SCAN_OFFLOAD_INFO_SET_LOC_CHANNEL_INFO(__h2c, __value) \
976 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
977 #define CHANNEL_SWITCH_OFFLOAD_GET_CMD_ID(__h2c) \
978 LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
979 #define CHANNEL_SWITCH_OFFLOAD_SET_CMD_ID(__h2c, __value) \
980 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
981 #define CHANNEL_SWITCH_OFFLOAD_GET_CLASS(__h2c) \
982 LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
983 #define CHANNEL_SWITCH_OFFLOAD_SET_CLASS(__h2c, __value) \
984 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
985 #define CHANNEL_SWITCH_OFFLOAD_GET_CHANNEL_NUM(__h2c) \
986 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
987 #define CHANNEL_SWITCH_OFFLOAD_SET_CHANNEL_NUM(__h2c, __value) \
988 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
989 #define CHANNEL_SWITCH_OFFLOAD_GET_EN_RFE(__h2c) \
990 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
991 #define CHANNEL_SWITCH_OFFLOAD_SET_EN_RFE(__h2c, __value) \
992 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)
993 #define CHANNEL_SWITCH_OFFLOAD_GET_RFE_TYPE(__h2c) \
994 LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8)
995 #define CHANNEL_SWITCH_OFFLOAD_SET_RFE_TYPE(__h2c, __value) \
996 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value)
997 #define AOAC_RSVD_PAGE3_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5)
998 #define AOAC_RSVD_PAGE3_SET_CMD_ID(__h2c, __value) \
999 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value)
1000 #define AOAC_RSVD_PAGE3_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3)
1001 #define AOAC_RSVD_PAGE3_SET_CLASS(__h2c, __value) \
1002 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value)
1003 #define AOAC_RSVD_PAGE3_GET_LOC_NLO_INFO(__h2c) \
1004 LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8)
1005 #define AOAC_RSVD_PAGE3_SET_LOC_NLO_INFO(__h2c, __value) \
1006 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value)
1007 #define AOAC_RSVD_PAGE3_GET_LOC_AOAC_REPORT(__h2c) \
1008 LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8)
1009 #define AOAC_RSVD_PAGE3_SET_LOC_AOAC_REPORT(__h2c, __value) \
1010 SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value)