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