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