/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * * Copyright(c) 2016 Realtek Corporation. * * Contact Information: * wlanfae * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, * Hsinchu 300, Taiwan. * * Larry Finger * *****************************************************************************/ #ifndef _HAL_ORIGINALH2CFORMAT_H2C_C2H_NIC_H_ #define _HAL_ORIGINALH2CFORMAT_H2C_C2H_NIC_H_ #define CMD_ID_ORIGINAL_H2C 0X00 #define CMD_ID_H2C2H_LB 0X0 #define CMD_ID_D0_SCAN_OFFLOAD_CTRL 0X06 #define CMD_ID_RSVD_PAGE 0X0 #define CMD_ID_MEDIA_STATUS_RPT 0X01 #define CMD_ID_KEEP_ALIVE 0X03 #define CMD_ID_DISCONNECT_DECISION 0X04 #define CMD_ID_AP_OFFLOAD 0X08 #define CMD_ID_BCN_RSVDPAGE 0X09 #define CMD_ID_PROBE_RSP_RSVDPAGE 0X0A #define CMD_ID_SET_PWR_MODE 0X00 #define CMD_ID_PS_TUNING_PARA 0X01 #define CMD_ID_PS_TUNING_PARA_II 0X02 #define CMD_ID_PS_LPS_PARA 0X03 #define CMD_ID_P2P_PS_OFFLOAD 0X04 #define CMD_ID_PS_SCAN_EN 0X05 #define CMD_ID_SAP_PS 0X06 #define CMD_ID_INACTIVE_PS 0X07 #define CMD_ID_MACID_CFG 0X00 #define CMD_ID_TXBF 0X01 #define CMD_ID_RSSI_SETTING 0X02 #define CMD_ID_AP_REQ_TXRPT 0X03 #define CMD_ID_INIT_RATE_COLLECTION 0X04 #define CMD_ID_IQK_OFFLOAD 0X05 #define CMD_ID_MACID_CFG_3SS 0X06 #define CMD_ID_RA_PARA_ADJUST 0X07 #define CMD_ID_WWLAN 0X00 #define CMD_ID_REMOTE_WAKE_CTRL 0X01 #define CMD_ID_AOAC_GLOBAL_INFO 0X02 #define CMD_ID_AOAC_RSVD_PAGE 0X03 #define CMD_ID_AOAC_RSVD_PAGE2 0X04 #define CMD_ID_D0_SCAN_OFFLOAD_INFO 0X05 #define CMD_ID_CHANNEL_SWITCH_OFFLOAD 0X07 #define CMD_ID_AOAC_RSVD_PAGE3 0X08 #define CLASS_ORIGINAL_H2C 0X00 #define CLASS_H2C2H_LB 0X07 #define CLASS_D0_SCAN_OFFLOAD_CTRL 0X04 #define CLASS_RSVD_PAGE 0X0 #define CLASS_MEDIA_STATUS_RPT 0X0 #define CLASS_KEEP_ALIVE 0X0 #define CLASS_DISCONNECT_DECISION 0X0 #define CLASS_AP_OFFLOAD 0X0 #define CLASS_BCN_RSVDPAGE 0X0 #define CLASS_PROBE_RSP_RSVDPAGE 0X0 #define CLASS_SET_PWR_MODE 0X01 #define CLASS_PS_TUNING_PARA 0X01 #define CLASS_PS_TUNING_PARA_II 0X01 #define CLASS_PS_LPS_PARA 0X01 #define CLASS_P2P_PS_OFFLOAD 0X01 #define CLASS_PS_SCAN_EN 0X1 #define CLASS_SAP_PS 0X1 #define CLASS_INACTIVE_PS 0X1 #define CLASS_MACID_CFG 0X2 #define CLASS_TXBF 0X2 #define CLASS_RSSI_SETTING 0X2 #define CLASS_AP_REQ_TXRPT 0X2 #define CLASS_INIT_RATE_COLLECTION 0X2 #define CLASS_IQK_OFFLOAD 0X2 #define CLASS_MACID_CFG_3SS 0X2 #define CLASS_RA_PARA_ADJUST 0X02 #define CLASS_WWLAN 0X4 #define CLASS_REMOTE_WAKE_CTRL 0X4 #define CLASS_AOAC_GLOBAL_INFO 0X04 #define CLASS_AOAC_RSVD_PAGE 0X04 #define CLASS_AOAC_RSVD_PAGE2 0X04 #define CLASS_D0_SCAN_OFFLOAD_INFO 0X04 #define CLASS_CHANNEL_SWITCH_OFFLOAD 0X04 #define CLASS_AOAC_RSVD_PAGE3 0X04 #define ORIGINAL_H2C_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define ORIGINAL_H2C_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define ORIGINAL_H2C_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define ORIGINAL_H2C_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define H2C2H_LB_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define H2C2H_LB_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define H2C2H_LB_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define H2C2H_LB_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define H2C2H_LB_GET_SEQ(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define H2C2H_LB_SET_SEQ(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define H2C2H_LB_GET_PAYLOAD1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 16) #define H2C2H_LB_SET_PAYLOAD1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 16, __value) #define H2C2H_LB_GET_PAYLOAD2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 32) #define H2C2H_LB_SET_PAYLOAD2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 32, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define D0_SCAN_OFFLOAD_CTRL_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_CLASS(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define D0_SCAN_OFFLOAD_CTRL_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_D0_SCAN_FUN_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define D0_SCAN_OFFLOAD_CTRL_SET_D0_SCAN_FUN_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_RTD3FUN_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define D0_SCAN_OFFLOAD_CTRL_SET_RTD3FUN_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_U3_SCAN_FUN_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define D0_SCAN_OFFLOAD_CTRL_SET_U3_SCAN_FUN_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_NLO_FUN_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define D0_SCAN_OFFLOAD_CTRL_SET_NLO_FUN_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_IPS_DEPENDENT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1) #define D0_SCAN_OFFLOAD_CTRL_SET_IPS_DEPENDENT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_PROBE_PACKET(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 17) #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_PROBE_PACKET(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 17, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_SCAN_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_SCAN_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define D0_SCAN_OFFLOAD_CTRL_GET_LOC_SSID_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define D0_SCAN_OFFLOAD_CTRL_SET_LOC_SSID_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define RSVD_PAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define RSVD_PAGE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define RSVD_PAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define RSVD_PAGE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define RSVD_PAGE_GET_LOC_PROBE_RSP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define RSVD_PAGE_SET_LOC_PROBE_RSP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define RSVD_PAGE_GET_LOC_PS_POLL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define RSVD_PAGE_SET_LOC_PS_POLL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define RSVD_PAGE_GET_LOC_NULL_DATA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define RSVD_PAGE_SET_LOC_NULL_DATA(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define RSVD_PAGE_GET_LOC_QOS_NULL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define RSVD_PAGE_SET_LOC_QOS_NULL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define RSVD_PAGE_GET_LOC_BT_QOS_NULL(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define RSVD_PAGE_SET_LOC_BT_QOS_NULL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define RSVD_PAGE_GET_LOC_CTS2SELF(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define RSVD_PAGE_SET_LOC_CTS2SELF(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define RSVD_PAGE_GET_LOC_LTECOEX_QOSNULL(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define RSVD_PAGE_SET_LOC_LTECOEX_QOSNULL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define MEDIA_STATUS_RPT_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define MEDIA_STATUS_RPT_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define MEDIA_STATUS_RPT_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define MEDIA_STATUS_RPT_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define MEDIA_STATUS_RPT_GET_OP_MODE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define MEDIA_STATUS_RPT_SET_OP_MODE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define MEDIA_STATUS_RPT_GET_MACID_IN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define MEDIA_STATUS_RPT_SET_MACID_IN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define MEDIA_STATUS_RPT_GET_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define MEDIA_STATUS_RPT_SET_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define MEDIA_STATUS_RPT_GET_MACID_END(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define MEDIA_STATUS_RPT_SET_MACID_END(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define KEEP_ALIVE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define KEEP_ALIVE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define KEEP_ALIVE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define KEEP_ALIVE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define KEEP_ALIVE_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define KEEP_ALIVE_SET_ENABLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define KEEP_ALIVE_GET_ADOPT_USER_SETTING(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define KEEP_ALIVE_SET_ADOPT_USER_SETTING(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define KEEP_ALIVE_GET_PKT_TYPE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define KEEP_ALIVE_SET_PKT_TYPE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define KEEP_ALIVE_GET_KEEP_ALIVE_CHECK_PERIOD(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define KEEP_ALIVE_SET_KEEP_ALIVE_CHECK_PERIOD(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define DISCONNECT_DECISION_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define DISCONNECT_DECISION_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define DISCONNECT_DECISION_GET_CLASS(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define DISCONNECT_DECISION_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define DISCONNECT_DECISION_GET_ENABLE(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define DISCONNECT_DECISION_SET_ENABLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define DISCONNECT_DECISION_GET_ADOPT_USER_SETTING(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define DISCONNECT_DECISION_SET_ADOPT_USER_SETTING(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define DISCONNECT_DECISION_GET_TRY_OK_BCN_FAIL_COUNT_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define DISCONNECT_DECISION_SET_TRY_OK_BCN_FAIL_COUNT_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define DISCONNECT_DECISION_GET_DISCONNECT_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define DISCONNECT_DECISION_SET_DISCONNECT_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define DISCONNECT_DECISION_GET_DISCON_DECISION_CHECK_PERIOD(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define DISCONNECT_DECISION_SET_DISCON_DECISION_CHECK_PERIOD(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define DISCONNECT_DECISION_GET_TRY_PKT_NUM(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define DISCONNECT_DECISION_SET_TRY_PKT_NUM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define DISCONNECT_DECISION_GET_TRY_OK_BCN_FAIL_COUNT_LIMIT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define DISCONNECT_DECISION_SET_TRY_OK_BCN_FAIL_COUNT_LIMIT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define AP_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AP_OFFLOAD_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AP_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AP_OFFLOAD_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AP_OFFLOAD_GET_ON(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define AP_OFFLOAD_SET_ON(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define AP_OFFLOAD_GET_CFG_MIFI_PLATFORM(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define AP_OFFLOAD_SET_CFG_MIFI_PLATFORM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define AP_OFFLOAD_GET_LINKED(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define AP_OFFLOAD_SET_LINKED(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define AP_OFFLOAD_GET_EN_AUTO_WAKE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define AP_OFFLOAD_SET_EN_AUTO_WAKE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define AP_OFFLOAD_GET_WAKE_FLAG(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1) #define AP_OFFLOAD_SET_WAKE_FLAG(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value) #define AP_OFFLOAD_GET_HIDDEN_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 1) #define AP_OFFLOAD_SET_HIDDEN_ROOT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 1, __value) #define AP_OFFLOAD_GET_HIDDEN_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 17, 1) #define AP_OFFLOAD_SET_HIDDEN_VAP1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 17, 1, __value) #define AP_OFFLOAD_GET_HIDDEN_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 18, 1) #define AP_OFFLOAD_SET_HIDDEN_VAP2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 18, 1, __value) #define AP_OFFLOAD_GET_HIDDEN_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 19, 1) #define AP_OFFLOAD_SET_HIDDEN_VAP3(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 19, 1, __value) #define AP_OFFLOAD_GET_HIDDEN_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 20, 1) #define AP_OFFLOAD_SET_HIDDEN_VAP4(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 20, 1, __value) #define AP_OFFLOAD_GET_DENYANY_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1) #define AP_OFFLOAD_SET_DENYANY_ROOT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value) #define AP_OFFLOAD_GET_DENYANY_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 25, 1) #define AP_OFFLOAD_SET_DENYANY_VAP1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 25, 1, __value) #define AP_OFFLOAD_GET_DENYANY_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 26, 1) #define AP_OFFLOAD_SET_DENYANY_VAP2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 26, 1, __value) #define AP_OFFLOAD_GET_DENYANY_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 27, 1) #define AP_OFFLOAD_SET_DENYANY_VAP3(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 27, 1, __value) #define AP_OFFLOAD_GET_DENYANY_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 1) #define AP_OFFLOAD_SET_DENYANY_VAP4(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 1, __value) #define AP_OFFLOAD_GET_WAIT_TBTT_CNT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define AP_OFFLOAD_SET_WAIT_TBTT_CNT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define AP_OFFLOAD_GET_WAKE_TIMEOUT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define AP_OFFLOAD_SET_WAKE_TIMEOUT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define AP_OFFLOAD_GET_LEN_IV_PAIR(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define AP_OFFLOAD_SET_LEN_IV_PAIR(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define AP_OFFLOAD_GET_LEN_IV_GRP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define AP_OFFLOAD_SET_LEN_IV_GRP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define BCN_RSVDPAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define BCN_RSVDPAGE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define BCN_RSVDPAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define BCN_RSVDPAGE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define BCN_RSVDPAGE_GET_LOC_ROOT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define BCN_RSVDPAGE_SET_LOC_ROOT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define BCN_RSVDPAGE_GET_LOC_VAP1(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define BCN_RSVDPAGE_SET_LOC_VAP1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define BCN_RSVDPAGE_GET_LOC_VAP2(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define BCN_RSVDPAGE_SET_LOC_VAP2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define BCN_RSVDPAGE_GET_LOC_VAP3(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define BCN_RSVDPAGE_SET_LOC_VAP3(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define BCN_RSVDPAGE_GET_LOC_VAP4(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define BCN_RSVDPAGE_SET_LOC_VAP4(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define PROBE_RSP_RSVDPAGE_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define PROBE_RSP_RSVDPAGE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define PROBE_RSP_RSVDPAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define PROBE_RSP_RSVDPAGE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define PROBE_RSP_RSVDPAGE_GET_LOC_ROOT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define PROBE_RSP_RSVDPAGE_SET_LOC_ROOT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP1(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP2(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP3(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP3(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define PROBE_RSP_RSVDPAGE_GET_LOC_VAP4(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define PROBE_RSP_RSVDPAGE_SET_LOC_VAP4(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define SET_PWR_MODE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define SET_PWR_MODE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define SET_PWR_MODE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define SET_PWR_MODE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define SET_PWR_MODE_GET_MODE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7) #define SET_PWR_MODE_SET_MODE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value) #define SET_PWR_MODE_GET_CLK_REQUEST(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1) #define SET_PWR_MODE_SET_CLK_REQUEST(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value) #define SET_PWR_MODE_GET_RLBM(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 4) #define SET_PWR_MODE_SET_RLBM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 4, __value) #define SET_PWR_MODE_GET_SMART_PS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 20, 4) #define SET_PWR_MODE_SET_SMART_PS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 20, 4, __value) #define SET_PWR_MODE_GET_AWAKE_INTERVAL(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define SET_PWR_MODE_SET_AWAKE_INTERVAL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define SET_PWR_MODE_GET_B_ALL_QUEUE_UAPSD(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 1) #define SET_PWR_MODE_SET_B_ALL_QUEUE_UAPSD(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 1, __value) #define SET_PWR_MODE_GET_BCN_EARLY_RPT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 2, 1) #define SET_PWR_MODE_SET_BCN_EARLY_RPT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 2, 1, __value) #define SET_PWR_MODE_GET_PORT_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 5, 3) #define SET_PWR_MODE_SET_PORT_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 5, 3, __value) #define SET_PWR_MODE_GET_PWR_STATE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define SET_PWR_MODE_SET_PWR_STATE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define SET_PWR_MODE_GET_LOW_POWER_RX_BCN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 1) #define SET_PWR_MODE_SET_LOW_POWER_RX_BCN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 1, __value) #define SET_PWR_MODE_GET_ANT_AUTO_SWITCH(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 17, 1) #define SET_PWR_MODE_SET_ANT_AUTO_SWITCH(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 17, 1, __value) #define SET_PWR_MODE_GET_PS_ALLOW_BT_HIGH_PRIORITY(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 18, 1) #define SET_PWR_MODE_SET_PS_ALLOW_BT_HIGH_PRIORITY(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 18, 1, __value) #define SET_PWR_MODE_GET_PROTECT_BCN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 19, 1) #define SET_PWR_MODE_SET_PROTECT_BCN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 19, 1, __value) #define SET_PWR_MODE_GET_SILENCE_PERIOD(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 20, 1) #define SET_PWR_MODE_SET_SILENCE_PERIOD(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 20, 1, __value) #define SET_PWR_MODE_GET_FAST_BT_CONNECT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 21, 1) #define SET_PWR_MODE_SET_FAST_BT_CONNECT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 21, 1, __value) #define SET_PWR_MODE_GET_TWO_ANTENNA_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 22, 1) #define SET_PWR_MODE_SET_TWO_ANTENNA_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 22, 1, __value) #define SET_PWR_MODE_GET_ADOPT_USER_SETTING(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 1) #define SET_PWR_MODE_SET_ADOPT_USER_SETTING(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 1, __value) #define SET_PWR_MODE_GET_DRV_BCN_EARLY_SHIFT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 25, 3) #define SET_PWR_MODE_SET_DRV_BCN_EARLY_SHIFT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 25, 3, __value) #define SET_PWR_MODE_GET_DRV_BCN_EARLY_SHIFT2(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 28, 4) #define SET_PWR_MODE_SET_DRV_BCN_EARLY_SHIFT2(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 28, 4, __value) #define PS_TUNING_PARA_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define PS_TUNING_PARA_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define PS_TUNING_PARA_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define PS_TUNING_PARA_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define PS_TUNING_PARA_GET_BCN_TO_LIMIT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7) #define PS_TUNING_PARA_SET_BCN_TO_LIMIT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value) #define PS_TUNING_PARA_GET_DTIM_TIME_OUT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1) #define PS_TUNING_PARA_SET_DTIM_TIME_OUT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value) #define PS_TUNING_PARA_GET_PS_TIME_OUT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 4) #define PS_TUNING_PARA_SET_PS_TIME_OUT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 4, __value) #define PS_TUNING_PARA_GET_ADOPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define PS_TUNING_PARA_SET_ADOPT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define PS_TUNING_PARA_II_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define PS_TUNING_PARA_II_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define PS_TUNING_PARA_II_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define PS_TUNING_PARA_II_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define PS_TUNING_PARA_II_GET_BCN_TO_PERIOD(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 7) #define PS_TUNING_PARA_II_SET_BCN_TO_PERIOD(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 7, __value) #define PS_TUNING_PARA_II_GET_ADOPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1) #define PS_TUNING_PARA_II_SET_ADOPT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value) #define PS_TUNING_PARA_II_GET_DRV_EARLY_IVL(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define PS_TUNING_PARA_II_SET_DRV_EARLY_IVL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define PS_LPS_PARA_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define PS_LPS_PARA_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define PS_LPS_PARA_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define PS_LPS_PARA_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define PS_LPS_PARA_GET_LPS_CONTROL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define PS_LPS_PARA_SET_LPS_CONTROL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define P2P_PS_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define P2P_PS_OFFLOAD_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define P2P_PS_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define P2P_PS_OFFLOAD_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define P2P_PS_OFFLOAD_GET_OFFLOAD_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define P2P_PS_OFFLOAD_SET_OFFLOAD_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define P2P_PS_OFFLOAD_GET_ROLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define P2P_PS_OFFLOAD_SET_ROLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define P2P_PS_OFFLOAD_GET_CTWINDOW_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define P2P_PS_OFFLOAD_SET_CTWINDOW_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define P2P_PS_OFFLOAD_GET_NOA0_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define P2P_PS_OFFLOAD_SET_NOA0_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define P2P_PS_OFFLOAD_GET_NOA1_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1) #define P2P_PS_OFFLOAD_SET_NOA1_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value) #define P2P_PS_OFFLOAD_GET_ALL_STA_SLEEP(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1) #define P2P_PS_OFFLOAD_SET_ALL_STA_SLEEP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value) #define P2P_PS_OFFLOAD_GET_DISCOVERY(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1) #define P2P_PS_OFFLOAD_SET_DISCOVERY(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value) #define PS_SCAN_EN_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define PS_SCAN_EN_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define PS_SCAN_EN_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define PS_SCAN_EN_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define PS_SCAN_EN_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define PS_SCAN_EN_SET_ENABLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define SAP_PS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define SAP_PS_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define SAP_PS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define SAP_PS_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define SAP_PS_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define SAP_PS_SET_ENABLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define SAP_PS_GET_EN_PS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define SAP_PS_SET_EN_PS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define SAP_PS_GET_EN_LP_RX(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define SAP_PS_SET_EN_LP_RX(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define SAP_PS_GET_MANUAL_32K(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define SAP_PS_SET_MANUAL_32K(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define SAP_PS_GET_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define SAP_PS_SET_DURATION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define INACTIVE_PS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define INACTIVE_PS_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define INACTIVE_PS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define INACTIVE_PS_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define INACTIVE_PS_GET_ENABLE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define INACTIVE_PS_SET_ENABLE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define INACTIVE_PS_GET_IGNORE_PS_CONDITION(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define INACTIVE_PS_SET_IGNORE_PS_CONDITION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define INACTIVE_PS_GET_FREQUENCY(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define INACTIVE_PS_SET_FREQUENCY(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define INACTIVE_PS_GET_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define INACTIVE_PS_SET_DURATION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define MACID_CFG_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define MACID_CFG_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define MACID_CFG_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define MACID_CFG_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define MACID_CFG_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define MACID_CFG_SET_MAC_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define MACID_CFG_GET_RATE_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 5) #define MACID_CFG_SET_RATE_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 5, __value) #define MACID_CFG_GET_SGI(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 23, 1) #define MACID_CFG_SET_SGI(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 23, 1, __value) #define MACID_CFG_GET_BW(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 2) #define MACID_CFG_SET_BW(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 2, __value) #define MACID_CFG_GET_LDPC_CAP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 26, 1) #define MACID_CFG_SET_LDPC_CAP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 26, 1, __value) #define MACID_CFG_GET_NO_UPDATE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 27, 1) #define MACID_CFG_SET_NO_UPDATE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 27, 1, __value) #define MACID_CFG_GET_WHT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 2) #define MACID_CFG_SET_WHT_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 2, __value) #define MACID_CFG_GET_DISPT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 30, 1) #define MACID_CFG_SET_DISPT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 30, 1, __value) #define MACID_CFG_GET_DISRA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 31, 1) #define MACID_CFG_SET_DISRA(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 31, 1, __value) #define MACID_CFG_GET_RATE_MASK7_0(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define MACID_CFG_SET_RATE_MASK7_0(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define MACID_CFG_GET_RATE_MASK15_8(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define MACID_CFG_SET_RATE_MASK15_8(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define MACID_CFG_GET_RATE_MASK23_16(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define MACID_CFG_SET_RATE_MASK23_16(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define MACID_CFG_GET_RATE_MASK31_24(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define MACID_CFG_SET_RATE_MASK31_24(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define TXBF_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define TXBF_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define TXBF_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define TXBF_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define TXBF_GET_NDPA0_HEAD_PAGE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define TXBF_SET_NDPA0_HEAD_PAGE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define TXBF_GET_NDPA1_HEAD_PAGE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define TXBF_SET_NDPA1_HEAD_PAGE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define TXBF_GET_PERIOD_0(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define TXBF_SET_PERIOD_0(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define RSSI_SETTING_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define RSSI_SETTING_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define RSSI_SETTING_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define RSSI_SETTING_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define RSSI_SETTING_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define RSSI_SETTING_SET_MAC_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define RSSI_SETTING_GET_RSSI(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 7) #define RSSI_SETTING_SET_RSSI(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 7, __value) #define RSSI_SETTING_GET_RA_INFO(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define RSSI_SETTING_SET_RA_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define AP_REQ_TXRPT_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AP_REQ_TXRPT_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AP_REQ_TXRPT_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AP_REQ_TXRPT_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AP_REQ_TXRPT_GET_STA1_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define AP_REQ_TXRPT_SET_STA1_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define AP_REQ_TXRPT_GET_STA2_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define AP_REQ_TXRPT_SET_STA2_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define AP_REQ_TXRPT_GET_RTY_OK_TOTAL(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1) #define AP_REQ_TXRPT_SET_RTY_OK_TOTAL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value) #define AP_REQ_TXRPT_GET_RTY_CNT_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 25, 1) #define AP_REQ_TXRPT_SET_RTY_CNT_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 25, 1, __value) #define INIT_RATE_COLLECTION_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define INIT_RATE_COLLECTION_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define INIT_RATE_COLLECTION_GET_CLASS(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define INIT_RATE_COLLECTION_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define INIT_RATE_COLLECTION_GET_STA1_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define INIT_RATE_COLLECTION_SET_STA1_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define INIT_RATE_COLLECTION_GET_STA2_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define INIT_RATE_COLLECTION_SET_STA2_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define INIT_RATE_COLLECTION_GET_STA3_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define INIT_RATE_COLLECTION_SET_STA3_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define INIT_RATE_COLLECTION_GET_STA4_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define INIT_RATE_COLLECTION_SET_STA4_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define INIT_RATE_COLLECTION_GET_STA5_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define INIT_RATE_COLLECTION_SET_STA5_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define INIT_RATE_COLLECTION_GET_STA6_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define INIT_RATE_COLLECTION_SET_STA6_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define INIT_RATE_COLLECTION_GET_STA7_MACID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define INIT_RATE_COLLECTION_SET_STA7_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define IQK_OFFLOAD_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define IQK_OFFLOAD_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define IQK_OFFLOAD_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define IQK_OFFLOAD_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define IQK_OFFLOAD_GET_CHANNEL(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define IQK_OFFLOAD_SET_CHANNEL(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define IQK_OFFLOAD_GET_BWBAND(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define IQK_OFFLOAD_SET_BWBAND(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define IQK_OFFLOAD_GET_EXTPALNA(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define IQK_OFFLOAD_SET_EXTPALNA(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define MACID_CFG_3SS_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define MACID_CFG_3SS_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define MACID_CFG_3SS_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define MACID_CFG_3SS_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define MACID_CFG_3SS_GET_MACID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define MACID_CFG_3SS_SET_MACID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define MACID_CFG_3SS_GET_RATE_MASK_39_32(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define MACID_CFG_3SS_SET_RATE_MASK_39_32(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define MACID_CFG_3SS_GET_RATE_MASK_47_40(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define MACID_CFG_3SS_SET_RATE_MASK_47_40(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define RA_PARA_ADJUST_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define RA_PARA_ADJUST_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define RA_PARA_ADJUST_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define RA_PARA_ADJUST_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define RA_PARA_ADJUST_GET_MAC_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define RA_PARA_ADJUST_SET_MAC_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define RA_PARA_ADJUST_GET_PARAMETER_INDEX(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define RA_PARA_ADJUST_SET_PARAMETER_INDEX(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define RA_PARA_ADJUST_GET_RATE_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define RA_PARA_ADJUST_SET_RATE_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define RA_PARA_ADJUST_GET_VALUE_BYTE0(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define RA_PARA_ADJUST_SET_VALUE_BYTE0(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define RA_PARA_ADJUST_GET_VALUE_BYTE1(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define RA_PARA_ADJUST_SET_VALUE_BYTE1(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define RA_PARA_ADJUST_GET_ASK_FW_FOR_FW_PARA(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define RA_PARA_ADJUST_SET_ASK_FW_FOR_FW_PARA(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define WWLAN_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define WWLAN_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define WWLAN_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define WWLAN_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define WWLAN_GET_FUNC_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define WWLAN_SET_FUNC_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define WWLAN_GET_PATTERM_MAT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define WWLAN_SET_PATTERM_MAT_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define WWLAN_GET_MAGIC_PKT_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define WWLAN_SET_MAGIC_PKT_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define WWLAN_GET_UNICAST_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define WWLAN_SET_UNICAST_WAKEUP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define WWLAN_GET_ALL_PKT_DROP(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1) #define WWLAN_SET_ALL_PKT_DROP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value) #define WWLAN_GET_GPIO_ACTIVE(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1) #define WWLAN_SET_GPIO_ACTIVE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value) #define WWLAN_GET_REKEY_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1) #define WWLAN_SET_REKEY_WAKEUP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value) #define WWLAN_GET_DEAUTH_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1) #define WWLAN_SET_DEAUTH_WAKEUP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value) #define WWLAN_GET_GPIO_NUM(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 7) #define WWLAN_SET_GPIO_NUM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 7, __value) #define WWLAN_GET_DATAPIN_WAKEUP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 23, 1) #define WWLAN_SET_DATAPIN_WAKEUP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 23, 1, __value) #define WWLAN_GET_GPIO_DURATION(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define WWLAN_SET_GPIO_DURATION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define WWLAN_GET_GPIO_PLUS_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 1) #define WWLAN_SET_GPIO_PLUS_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 1, __value) #define WWLAN_GET_GPIO_PULSE_COUNT(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 1, 7) #define WWLAN_SET_GPIO_PULSE_COUNT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 1, 7, __value) #define WWLAN_GET_DISABLE_UPHY(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 1) #define WWLAN_SET_DISABLE_UPHY(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 1, __value) #define WWLAN_GET_HST2DEV_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 9, 1) #define WWLAN_SET_HST2DEV_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 9, 1, __value) #define WWLAN_GET_GPIO_DURATION_MS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X04, 10, 1) #define WWLAN_SET_GPIO_DURATION_MS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 10, 1, __value) #define REMOTE_WAKE_CTRL_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define REMOTE_WAKE_CTRL_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define REMOTE_WAKE_CTRL_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define REMOTE_WAKE_CTRL_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define REMOTE_WAKE_CTRL_GET_REMOTE_WAKE_CTRL_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 1) #define REMOTE_WAKE_CTRL_SET_REMOTE_WAKE_CTRL_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 1, __value) #define REMOTE_WAKE_CTRL_GET_ARP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 9, 1) #define REMOTE_WAKE_CTRL_SET_ARP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 9, 1, __value) #define REMOTE_WAKE_CTRL_GET_NDP_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 10, 1) #define REMOTE_WAKE_CTRL_SET_NDP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 10, 1, __value) #define REMOTE_WAKE_CTRL_GET_GTK_EN(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 11, 1) #define REMOTE_WAKE_CTRL_SET_GTK_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 11, 1, __value) #define REMOTE_WAKE_CTRL_GET_NLO_OFFLOAD_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 12, 1) #define REMOTE_WAKE_CTRL_SET_NLO_OFFLOAD_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 12, 1, __value) #define REMOTE_WAKE_CTRL_GET_REAL_WOW_V1_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 13, 1) #define REMOTE_WAKE_CTRL_SET_REAL_WOW_V1_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 13, 1, __value) #define REMOTE_WAKE_CTRL_GET_REAL_WOW_V2_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 14, 1) #define REMOTE_WAKE_CTRL_SET_REAL_WOW_V2_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 14, 1, __value) #define REMOTE_WAKE_CTRL_GET_FW_UNICAST(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 15, 1) #define REMOTE_WAKE_CTRL_SET_FW_UNICAST(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 15, 1, __value) #define REMOTE_WAKE_CTRL_GET_P2P_OFFLOAD_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 1) #define REMOTE_WAKE_CTRL_SET_P2P_OFFLOAD_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 1, __value) #define REMOTE_WAKE_CTRL_GET_RUNTIME_PM_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 17, 1) #define REMOTE_WAKE_CTRL_SET_RUNTIME_PM_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 17, 1, __value) #define REMOTE_WAKE_CTRL_GET_NET_BIOS_DROP_EN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 18, 1) #define REMOTE_WAKE_CTRL_SET_NET_BIOS_DROP_EN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 18, 1, __value) #define REMOTE_WAKE_CTRL_GET_ARP_ACTION(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 1) #define REMOTE_WAKE_CTRL_SET_ARP_ACTION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 1, __value) #define REMOTE_WAKE_CTRL_GET_FW_PARSING_UNTIL_WAKEUP(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 28, 1) #define REMOTE_WAKE_CTRL_SET_FW_PARSING_UNTIL_WAKEUP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 28, 1, __value) #define REMOTE_WAKE_CTRL_GET_FW_PARSING_AFTER_WAKEUP(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 29, 1) #define REMOTE_WAKE_CTRL_SET_FW_PARSING_AFTER_WAKEUP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 29, 1, __value) #define AOAC_GLOBAL_INFO_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AOAC_GLOBAL_INFO_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AOAC_GLOBAL_INFO_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AOAC_GLOBAL_INFO_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AOAC_GLOBAL_INFO_GET_PAIR_WISE_ENC_ALG(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define AOAC_GLOBAL_INFO_SET_PAIR_WISE_ENC_ALG(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define AOAC_GLOBAL_INFO_GET_GROUP_ENC_ALG(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define AOAC_GLOBAL_INFO_SET_GROUP_ENC_ALG(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define AOAC_RSVD_PAGE_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AOAC_RSVD_PAGE_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AOAC_RSVD_PAGE_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AOAC_RSVD_PAGE_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AOAC_RSVD_PAGE_GET_LOC_REMOTE_CTRL_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define AOAC_RSVD_PAGE_SET_LOC_REMOTE_CTRL_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_ARP_RESPONSE(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define AOAC_RSVD_PAGE_SET_LOC_ARP_RESPONSE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_NEIGHBOR_ADVERTISEMENT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define AOAC_RSVD_PAGE_SET_LOC_NEIGHBOR_ADVERTISEMENT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_GTK_RSP(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define AOAC_RSVD_PAGE_SET_LOC_GTK_RSP(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_GTK_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define AOAC_RSVD_PAGE_SET_LOC_GTK_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_GTK_EXT_MEM(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define AOAC_RSVD_PAGE_SET_LOC_GTK_EXT_MEM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define AOAC_RSVD_PAGE_GET_LOC_NDP_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define AOAC_RSVD_PAGE_SET_LOC_NDP_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define AOAC_RSVD_PAGE2_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AOAC_RSVD_PAGE2_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AOAC_RSVD_PAGE2_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AOAC_RSVD_PAGE2_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AOAC_RSVD_PAGE2_GET_LOC_ROUTER_SOLICATION(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define AOAC_RSVD_PAGE2_SET_LOC_ROUTER_SOLICATION(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_BUBBLE_PACKET(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define AOAC_RSVD_PAGE2_SET_LOC_BUBBLE_PACKET(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_TEREDO_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define AOAC_RSVD_PAGE2_SET_LOC_TEREDO_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_REALWOW_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 0, 8) #define AOAC_RSVD_PAGE2_SET_LOC_REALWOW_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 0, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_KEEP_ALIVE_PKT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 8, 8) #define AOAC_RSVD_PAGE2_SET_LOC_KEEP_ALIVE_PKT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 8, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_ACK_PATTERN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 16, 8) #define AOAC_RSVD_PAGE2_SET_LOC_ACK_PATTERN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 16, 8, __value) #define AOAC_RSVD_PAGE2_GET_LOC_WAKEUP_PATTERN(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X04, 24, 8) #define AOAC_RSVD_PAGE2_SET_LOC_WAKEUP_PATTERN(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X04, 24, 8, __value) #define D0_SCAN_OFFLOAD_INFO_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define D0_SCAN_OFFLOAD_INFO_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define D0_SCAN_OFFLOAD_INFO_GET_CLASS(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define D0_SCAN_OFFLOAD_INFO_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define D0_SCAN_OFFLOAD_INFO_GET_LOC_CHANNEL_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define D0_SCAN_OFFLOAD_INFO_SET_LOC_CHANNEL_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define CHANNEL_SWITCH_OFFLOAD_GET_CMD_ID(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define CHANNEL_SWITCH_OFFLOAD_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define CHANNEL_SWITCH_OFFLOAD_GET_CLASS(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define CHANNEL_SWITCH_OFFLOAD_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define CHANNEL_SWITCH_OFFLOAD_GET_CHANNEL_NUM(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define CHANNEL_SWITCH_OFFLOAD_SET_CHANNEL_NUM(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define CHANNEL_SWITCH_OFFLOAD_GET_EN_RFE(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define CHANNEL_SWITCH_OFFLOAD_SET_EN_RFE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #define CHANNEL_SWITCH_OFFLOAD_GET_RFE_TYPE(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 24, 8) #define CHANNEL_SWITCH_OFFLOAD_SET_RFE_TYPE(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 24, 8, __value) #define AOAC_RSVD_PAGE3_GET_CMD_ID(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 0, 5) #define AOAC_RSVD_PAGE3_SET_CMD_ID(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 0, 5, __value) #define AOAC_RSVD_PAGE3_GET_CLASS(__h2c) LE_BITS_TO_4BYTE(__h2c + 0X00, 5, 3) #define AOAC_RSVD_PAGE3_SET_CLASS(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 5, 3, __value) #define AOAC_RSVD_PAGE3_GET_LOC_NLO_INFO(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 8, 8) #define AOAC_RSVD_PAGE3_SET_LOC_NLO_INFO(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 8, 8, __value) #define AOAC_RSVD_PAGE3_GET_LOC_AOAC_REPORT(__h2c) \ LE_BITS_TO_4BYTE(__h2c + 0X00, 16, 8) #define AOAC_RSVD_PAGE3_SET_LOC_AOAC_REPORT(__h2c, __value) \ SET_BITS_TO_LE_4BYTE(__h2c + 0X00, 16, 8, __value) #endif