qcacld-3.0: CL 1444210 update fw common interface files

Merge WIN's wlanfw_cmn.2.0 WMI message defs

Change-Id: I6489713538ac945386bc9b089a4a014d41281382
CRs-fixed: 865207
This commit is contained in:
Govind Singh 2016-02-01 12:09:31 +05:30
commit c7d519439b
4 changed files with 973 additions and 4 deletions

View file

@ -747,7 +747,28 @@ static uint8_t *get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_BPF_GET_VDEV_STATS_CMDID);
CASE_RETURN_STRING(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID);
CASE_RETURN_STRING(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID);
CASE_RETURN_STRING(WMI_PEER_UPDATE_WDS_ENTRY_CMDID);
CASE_RETURN_STRING(WMI_PEER_ADD_PROXY_STA_ENTRY_CMDID);
CASE_RETURN_STRING(WMI_PDEV_FIPS_CMDID);
CASE_RETURN_STRING(WMI_PDEV_SMART_ANT_ENABLE_CMDID);
CASE_RETURN_STRING(WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID);
CASE_RETURN_STRING(WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID);
CASE_RETURN_STRING(WMI_PDEV_SET_CTL_TABLE_CMDID);
CASE_RETURN_STRING(WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID);
CASE_RETURN_STRING(WMI_PDEV_GET_TPC_CMDID);
CASE_RETURN_STRING(WMI_PDEV_GET_ANI_CCK_CONFIG_CMDID);
CASE_RETURN_STRING(WMI_PDEV_GET_ANI_OFDM_CONFIG_CMDID);
CASE_RETURN_STRING(WMI_VDEV_RATEMASK_CMDID);
CASE_RETURN_STRING(WMI_VDEV_ATF_REQUEST_CMDID);
CASE_RETURN_STRING(WMI_VDEV_SET_DSCP_TID_MAP_CMDID);
CASE_RETURN_STRING(WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID);
CASE_RETURN_STRING(WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID);
CASE_RETURN_STRING(WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID);
CASE_RETURN_STRING(WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID);
CASE_RETURN_STRING(WMI_PEER_ATF_REQUEST_CMDID);
CASE_RETURN_STRING(WMI_FWTEST_CMDID);
CASE_RETURN_STRING(WMI_QBOOST_CFG_CMDID);
CASE_RETURN_STRING(WMI_PDEV_GET_NFCAL_POWER_CMDID);
}
return "Invalid WMI cmd";
}

View file

@ -615,6 +615,48 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_peer_delete_resp_event_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_dense_thres_param,
WMITLV_TAG_STRUC_enlo_candidate_score_param,
WMITLV_TAG_STRUC_wmi_peer_update_wds_entry_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_config_ratemask_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_fips_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_smart_ant_enable_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_smart_ant_set_rx_antenna_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_tx_antenna_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_train_antenna_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_node_config_ops_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_set_ant_switch_tbl_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_set_ctl_table_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_fwtest_set_param_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_atf_request_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_atf_request_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_get_ani_cck_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_get_ani_ofdm_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_inst_rssi_stats_resp_fixed_param,
WMITLV_TAG_STRUC_wmi_med_util_report_event_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_sta_ps_statechange_event_fixed_param,
WMITLV_TAG_STRUC_wmi_wds_addr_event_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_ratecode_list_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param,
WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param,
WMITLV_TAG_STRUC_wmi_ani_cck_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_channel_hopping_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_fips_event_fixed_param,
WMITLV_TAG_STRUC_wmi_atf_peer_info,
WMITLV_TAG_STRUC_wmi_pdev_get_tpc_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_filter_nrp_config_cmd_fixed_param,
WMITLV_TAG_STRUC_WMI_QBOOST_CFG_CMD_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_smart_ant_gpio_handle,
WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_tx_antenna_series,
WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_train_antenna_param,
WMITLV_TAG_STRUC_wmi_pdev_set_ant_ctrl_chain,
WMITLV_TAG_STRUC_wmi_peer_cck_ofdm_rate_info,
WMITLV_TAG_STRUC_wmi_peer_mcs_rate_info,
WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBr,
WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBm,
WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_freqNum,
WMITLV_TAG_STRUC_wmi_mu_report_total_mu,
WMITLV_TAG_STRUC_wmi_vdev_set_dscp_tid_map_cmd_fixed_param,
} WMITLV_TAG_ID;
@ -859,7 +901,28 @@ typedef enum {
OP(WMI_BPF_GET_CAPABILITY_CMDID) \
OP(WMI_BPF_GET_VDEV_STATS_CMDID) \
OP(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID) \
OP(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID)
OP(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID) \
OP(WMI_PEER_UPDATE_WDS_ENTRY_CMDID) \
OP(WMI_PEER_ADD_PROXY_STA_ENTRY_CMDID) \
OP(WMI_PDEV_FIPS_CMDID) \
OP(WMI_PDEV_SMART_ANT_ENABLE_CMDID) \
OP(WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID) \
OP(WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID) \
OP(WMI_PDEV_SET_CTL_TABLE_CMDID) \
OP(WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID) \
OP(WMI_PDEV_GET_TPC_CMDID) \
OP(WMI_PDEV_GET_ANI_CCK_CONFIG_CMDID) \
OP(WMI_PDEV_GET_ANI_OFDM_CONFIG_CMDID) \
OP(WMI_VDEV_RATEMASK_CMDID) \
OP(WMI_VDEV_ATF_REQUEST_CMDID) \
OP(WMI_VDEV_SET_DSCP_TID_MAP_CMDID) \
OP(WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID) \
OP(WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID) \
OP(WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID) \
OP(WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID) \
OP(WMI_PEER_ATF_REQUEST_CMDID) \
OP(WMI_FWTEST_CMDID) \
OP(WMI_QBOOST_CFG_CMDID)
/*
* IMPORTANT: Please add _ALL_ WMI Events Here.
@ -983,7 +1046,17 @@ typedef enum {
OP(WMI_BPF_CAPABILIY_INFO_EVENTID) \
OP(WMI_BPF_VDEV_STATS_INFO_EVENTID) \
OP(WMI_VDEV_DELETE_RESP_EVENTID) \
OP(WMI_PEER_DELETE_RESP_EVENTID)
OP(WMI_PEER_DELETE_RESP_EVENTID) \
OP(WMI_PDEV_FIPS_EVENTID) \
OP(WMI_PDEV_CHANNEL_HOPPING_EVENTID) \
OP(WMI_PDEV_ANI_CCK_LEVEL_EVENTID) \
OP(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID) \
OP(WMI_PDEV_TPC_EVENTID) \
OP(WMI_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENTID) \
OP(WMI_PEER_RATECODE_LIST_EVENTID) \
OP(WMI_WDS_PEER_EVENTID) \
OP(WMI_PEER_STA_PS_STATECHG_EVENTID) \
OP(WMI_INST_RSSI_STATS_EVENTID)
/* TLV definitions of WMI commands */
@ -2271,6 +2344,119 @@ WMITLV_CREATE_PARAM_STRUC(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_del_vdev_instructions_cmd_fixed_param, wmi_bpf_del_vdev_instructions_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID);
/* Enable/Disable Smart Antenna */
#define WMITLV_TABLE_WMI_PDEV_SMART_ANT_ENABLE_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_smart_ant_enable_cmd_fixed_param, wmi_pdev_smart_ant_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_smart_ant_gpio_handle, gpio_handle, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SMART_ANT_ENABLE_CMDID);
/* Set Smart Antenna RX antenna */
#define WMITLV_TABLE_WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_smart_ant_set_rx_antenna_cmd_fixed_param, wmi_pdev_smart_ant_set_rx_antenna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID);
/* Override the antenna switch table */
#define WMITLV_TABLE_WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_ant_switch_tbl_cmd_fixed_param, wmi_pdev_set_ant_switch_tbl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_set_ant_ctrl_chain, ant_ctrl_chain, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID);
/* Override the CTL table */
#define WMITLV_TABLE_WMI_PDEV_SET_CTL_TABLE_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_ctl_table_cmd_fixed_param, wmi_pdev_set_ctl_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ctl_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_CTL_TABLE_CMDID);
/* Override the array gain table */
#define WMITLV_TABLE_WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param, wmi_pdev_set_mimogain_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, arraygain_tbl, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID);
/* FIPS cmd */
#define WMITLV_TABLE_WMI_PDEV_FIPS_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_fips_cmd_fixed_param, wmi_pdev_fips_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_FIPS_CMDID);
/* get CCK ANI level */
#define WMITLV_TABLE_WMI_PDEV_GET_ANI_CCK_CONFIG_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_get_ani_cck_config_cmd_fixed_param, wmi_pdev_get_ani_cck_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_ANI_CCK_CONFIG_CMDID);
/* get OFDM ANI level */
#define WMITLV_TABLE_WMI_PDEV_GET_ANI_OFDM_CONFIG_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_get_ani_ofdm_config_cmd_fixed_param, wmi_pdev_get_ani_ofdm_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_ANI_OFDM_CONFIG_CMDID);
/* TxPPDU TPC cmd */
#define WMITLV_TABLE_WMI_PDEV_GET_TPC_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_get_tpc_cmd_fixed_param, wmi_pdev_get_tpc_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_CMDID);
#define WMITLV_TABLE_WMI_VDEV_RATEMASK_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_config_ratemask_fixed_param, wmi_vdev_config_ratemask_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_RATEMASK_CMDID);
/* ATF VDEV REQUEST commands */
#define WMITLV_TABLE_WMI_VDEV_ATF_REQUEST_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_atf_request_fixed_param, wmi_vdev_atf_request_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ATF_REQUEST_CMDID);
/* Command to send the DSCP-to-TID map to the target for VAP */
#define WMITLV_TABLE_WMI_VDEV_SET_DSCP_TID_MAP_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_set_dscp_tid_map_cmd_fixed_param, wmi_vdev_set_dscp_tid_map_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_DSCP_TID_MAP_CMDID);
/* Configure filter for Neighbor Rx Pkt (smart mesh selective listening) */
#define WMITLV_TABLE_WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_filter_nrp_config_cmd_fixed_param, wmi_vdev_filter_nrp_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID);
/* update a wds (4 address) entry */
#define WMITLV_TABLE_WMI_PEER_UPDATE_WDS_ENTRY_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_update_wds_entry_cmd_fixed_param, wmi_peer_update_wds_entry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_UPDATE_WDS_ENTRY_CMDID);
/* add a proxy sta entry */
#define WMITLV_TABLE_WMI_PEER_ADD_PROXY_STA_ENTRY_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_create_cmd_fixed_param, wmi_peer_create_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ADD_PROXY_STA_ENTRY_CMDID);
/* Set Smart Antenna TX antenna */
#define WMITLV_TABLE_WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len,WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_tx_antenna_cmd_fixed_param, wmi_peer_smart_ant_set_tx_antenna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_smart_ant_set_tx_antenna_series, antenna_series, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID);
/* Set Smart Antenna TX train info */
#define WMITLV_TABLE_WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_train_antenna_cmd_fixed_param, wmi_peer_smart_ant_set_train_antenna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_smart_ant_set_train_antenna_param, antenna_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID);
/* Set SA node config options */
#define WMITLV_TABLE_WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_node_config_ops_cmd_fixed_param, wmi_peer_smart_ant_set_node_config_ops_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, args, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID);
/* Q-Boost configuration test commands */
#define WMITLV_TABLE_WMI_QBOOST_CFG_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_WMI_QBOOST_CFG_CMD_fixed_param, WMI_QBOOST_CFG_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_QBOOST_CFG_CMDID);
/* set debug and tuning parameters */
#define WMITLV_TABLE_WMI_FWTEST_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_fwtest_set_param_cmd_fixed_param, wmi_fwtest_set_param_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_FWTEST_CMDID);
/* ATF PEER REQUEST commands. */
#define WMITLV_TABLE_WMI_PEER_ATF_REQUEST_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_atf_request_fixed_param, wmi_peer_atf_request_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_atf_peer_info, peer_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ATF_REQUEST_CMDID)
/* Set rssi monitoring config Cmd */
#define WMITLV_TABLE_WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rssi_breach_monitor_config_fixed_param, wmi_rssi_breach_monitor_config_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@ -3094,6 +3280,54 @@ WMITLV_CREATE_PARAM_STRUC(WMI_BPF_CAPABILIY_INFO_EVENTID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_vdev_stats_info_evt_fixed_param, wmi_bpf_vdev_stats_info_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_VDEV_STATS_INFO_EVENTID);
/* FIPS event */
#define WMITLV_TABLE_WMI_PDEV_FIPS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_fips_event_fixed_param, wmi_pdev_fips_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_FIPS_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_CHANNEL_HOPPING_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_channel_hopping_event_fixed_param, wmi_pdev_channel_hopping_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHANNEL_HOPPING_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_ANI_CCK_LEVEL_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ani_cck_event_fixed_param, wmi_ani_cck_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_CCK_LEVEL_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_ANI_OFDM_LEVEL_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param, wmi_ani_ofdm_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_TPC_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param, wmi_pdev_tpc_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, tpc, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TPC_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_event_fixed_param, wmi_pdev_nfcal_power_all_channels_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_nfcal_power_all_channels_nfdBr, nfdbr, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_nfcal_power_all_channels_nfdBm, nfdbm, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_nfcal_power_all_channels_freqNum, freqnum, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENTID);
#define WMITLV_TABLE_WMI_PEER_RATECODE_LIST_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_ratecode_list_event_fixed_param, wmi_peer_ratecode_list_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_cck_ofdm_rate_info, ratecode_legacy, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_mcs_rate_info, ratecode_mcs, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_RATECODE_LIST_EVENTID);
#define WMITLV_TABLE_WMI_WDS_PEER_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_wds_addr_event_fixed_param, wmi_wds_addr_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WDS_PEER_EVENTID);
#define WMITLV_TABLE_WMI_PEER_STA_PS_STATECHG_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_sta_ps_statechange_event_fixed_param, wmi_peer_sta_ps_statechange_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_PS_STATECHG_EVENTID);
#define WMITLV_TABLE_WMI_INST_RSSI_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_inst_rssi_stats_resp_fixed_param, wmi_inst_rssi_stats_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_INST_RSSI_STATS_EVENTID);
#ifdef __cplusplus
}
#endif

View file

@ -303,6 +303,26 @@ typedef enum {
WMI_PDEV_GET_TEMPERATURE_CMDID,
/* Set LED flashing behavior */
WMI_PDEV_SET_LED_FLASHING_CMDID,
/** Enable/Disable Smart Antenna */
WMI_PDEV_SMART_ANT_ENABLE_CMDID,
/** Set Smart Antenna RX antenna*/
WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID,
/** Override the antenna switch table */
WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID,
/** Override the CTL table */
WMI_PDEV_SET_CTL_TABLE_CMDID,
/** Override the array gain table */
WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID,
/** FIPS test mode command */
WMI_PDEV_FIPS_CMDID,
/** get CCK ANI level */
WMI_PDEV_GET_ANI_CCK_CONFIG_CMDID,
/** get OFDM ANI level */
WMI_PDEV_GET_ANI_OFDM_CONFIG_CMDID,
/** NF Cal Power dBr/dBm */
WMI_PDEV_GET_NFCAL_POWER_CMDID,
/** TxPPDU TPC */
WMI_PDEV_GET_TPC_CMDID,
/* VDEV(virtual device) specific commands */
/** vdev create */
@ -342,6 +362,16 @@ typedef enum {
*/
WMI_VDEV_SET_IE_CMDID,
WMI_VDEV_RATEMASK_CMDID,
/** ATF VDEV REQUEST commands. */
WMI_VDEV_ATF_REQUEST_CMDID,
/** Command to send the DSCP-to-TID map to the target for VAP */
WMI_VDEV_SET_DSCP_TID_MAP_CMDID,
/*
* Configure filter for Neighbor Rx Pkt
* (smart mesh selective listening)
*/
WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID,
/* peer specific commands */
/** create a peer */
@ -372,6 +402,19 @@ typedef enum {
* The justified rate means the the user-rate is justified by PER.
*/
WMI_PEER_SET_RATE_REPORT_CONDITION_CMDID,
/** update a wds (4 address) entry */
WMI_PEER_UPDATE_WDS_ENTRY_CMDID,
/** add a proxy sta entry */
WMI_PEER_ADD_PROXY_STA_ENTRY_CMDID,
/** Set Smart Antenna TX antenna */
WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID,
/** Set Smart Antenna TX train info */
WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID,
/** Set SA node config options */
WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID,
/** ATF PEER REQUEST commands */
WMI_PEER_ATF_REQUEST_CMDID,
/* beacon/management specific commands */
/** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */
@ -718,6 +761,10 @@ typedef enum {
WMI_FWTEST_P2P_SET_NOA_PARAM_CMDID,
/* UNIT Tests */
WMI_UNIT_TEST_CMDID,
/* set debug and tuning parameters */
WMI_FWTEST_CMDID,
/* Q-Boost configuration test commands */
WMI_QBOOST_CFG_CMDID,
/** TDLS Configuration */
/** enable/disable TDLS */
@ -916,6 +963,23 @@ typedef enum {
*/
WMI_SERVICE_READY_EXT_EVENTID,
/** FIPS test mode event */
WMI_PDEV_FIPS_EVENTID,
/** Channel hopping avoidance */
WMI_PDEV_CHANNEL_HOPPING_EVENTID,
/** CCK ANI level event */
WMI_PDEV_ANI_CCK_LEVEL_EVENTID,
/** OFDM ANI level event */
WMI_PDEV_ANI_OFDM_LEVEL_EVENTID,
/** Tx PPDU params */
WMI_PDEV_TPC_EVENTID,
/** NF Cal Power in DBR/DBM for all channels */
WMI_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENTID,
/* VDEV specific events */
/** VDEV started event in response to VDEV_START request */
WMI_VDEV_START_RESP_EVENTID =
@ -966,6 +1030,11 @@ typedef enum {
/* FW response to Host for peer delete cmdid */
WMI_PEER_DELETE_RESP_EVENTID,
/** Valid rate code list for peer */
WMI_PEER_RATECODE_LIST_EVENTID,
WMI_WDS_PEER_EVENTID,
WMI_PEER_STA_PS_STATECHG_EVENTID,
/* beacon/mgmt specific events */
/** RX management frame. the entire frame is carried along with the event. */
WMI_MGMT_RX_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MGMT),
@ -1050,6 +1119,9 @@ typedef enum {
/** Event indicating the DIAG logs/events supported by FW */
WMI_DIAG_EVENT_LOG_SUPPORTED_EVENTID,
/* Instantaneous RSSI event */
WMI_INST_RSSI_STATS_EVENTID,
/** NLO specific events */
/** NLO match event after the first match */
WMI_NLO_MATCH_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_NLO_OFL),
@ -2820,6 +2892,67 @@ typedef struct {
A_UINT32 scan_start;
} wmi_pdev_scan_cmd;
/* WMI support for setting ratemask in target */
typedef struct {
A_UINT32 tlv_header;
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_vdev_config_ratemask_fixed_param
*/
A_UINT32 vdev_id;
/*
* 0 - cck/ofdm
* 1 - HT
* 2 - VHT */
A_UINT32 type;
A_UINT32 mask_lower32;
A_UINT32 mask_higher32;
} wmi_vdev_config_ratemask_cmd_fixed_param;
/* nrp action - Filter Neighbor Rx Packets - add/remove filter */
enum {
WMI_FILTER_NRP_ACTION_ADD = 0x1,
WMI_FILTER_NRP_ACTION_REMOVE = 0x2,
WMI_FILTER_NRP_ACTION_GET_LIST = 0x3,
}; /* nrp - Neighbor Rx Packets */
/* nrp type - Filter Neighbor Rx Packets - ap/client addr */
enum {
WMI_FILTER_NRP_TYPE_AP_BSSID = 0x1,
WMI_FILTER_NRP_TYPE_STA_MACADDR = 0x2,
};
/* nrp flag - Filter Neighbor Rx Packets
* (capture flag, 2 & 3 not initially supported)
*/
enum {
WMI_FILTER_NRP_CAPTURE_ONLY_RX_PACKETS = 0x1,
WMI_FILTER_NRP_CAPTURE_ONLY_TX_PACKETS = 0x2,
WMI_FILTER_NRP_CAPTURE_BOTH_TXRX_PACKETS = 0x3,
};
/* Filter for Neighbor Rx Packets */
typedef struct {
A_UINT32 tlv_header;
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_vdev_filter_nrp_config_cmd_fixed_param
*/
A_UINT32 vdev_id;
/* AP Bssid or Client Mac-addr */
wmi_mac_addr addr;
/* Add/Remove NRF Filter */
A_UINT32 action; /* WMI_FILTER_NRP_ACTION enum */
/* client/ap filter */
A_UINT32 type; /* WMI_FILTER_NRP_TYPE enum */
/* optional - tx/rx capture */
A_UINT32 flag; /* WMI_FILTER_NRP_CAPTURE enum */
/* BSSID index - index of the BSSID register */
A_UINT32 bssid_idx;
} wmi_vdev_filter_nrp_config_cmd_fixed_param;
/*Command to set/unset chip in quiet mode*/
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_quiet_cmd_fixed_param */
@ -3463,6 +3596,17 @@ typedef struct {
A_UINT32 dscp_to_tid_map[WMI_DSCP_MAP_MAX];
} wmi_pdev_set_dscp_tid_map_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header;
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_vdev_set_dscp_tid_map_cmd_fixed_param
*/
A_UINT32 vdev_id;
/** map indicating DSCP to TID conversion */
A_UINT32 dscp_to_tid_map[WMI_DSCP_MAP_MAX];
} wmi_vdev_set_dscp_tid_map_cmd_fixed_param;
/** Fixed rate (rate-code) for broadcast/ multicast data frames */
/* @brief bcast_mcast_data_rate - set the rates for the bcast/ mcast frames
* @details
@ -5857,6 +6001,30 @@ typedef struct {
wmi_mac_addr peer_macaddr;
} wmi_peer_q_empty_callback_event;
/*
* Command to update an already existing WDS entry. Different address setting
* combinations are possible.
*
* Valid wds and peer -> Associated WDS entry peer ptr & flags will be updated.
* Valid wds and null peer -> Associated WDS entry flags will be updated.
* Null wds and Valid peer-> Flags will be updated for all WDS entries
* behind the peer.
* Null wds and peer -> Flags will be updated for all WDS entries.
*/
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_update_wds_entry_cmd_fixed_param
*/
A_UINT32 tlv_header;
/** peer MAC address */
wmi_mac_addr peer_macaddr;
/** wds MAC addr */
wmi_mac_addr wds_macaddr;
/* Flags associated with WDS entry */
A_UINT32 flags;
} wmi_peer_update_wds_entry_cmd_fixed_param;
/**
* Channel info WMI event
*/
@ -12668,6 +12836,552 @@ typedef struct wmi_bpf_del_vdev_instructions_cmd_s {
A_UINT32 filter_id; /* BPF_FILTER_ID_ALL means delete all */
} wmi_bpf_del_vdev_instructions_cmd_fixed_param;
#define AES_BLOCK_LEN 16 /* in bytes */
#define FIPS_KEY_LENGTH_128 16 /* in bytes */
#define FIPS_KEY_LENGTH_256 32 /* in bytes */
#define FIPS_ENCRYPT_CMD 0
#define FIPS_DECRYPT_CMD 1
#define FIPS_ENGINE_AES_CTR 0
#define FIPS_ENGINE_AES_MIC 1
#define FIPS_ERROR_OPER_TIMEOUT 1
/* WMI_PDEV_FIPS_CMDID */
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_fips_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 fips_cmd; /* FIPS_ENCRYPT or FIPS_DECRYPT */
/* FIPS_ENGINE_AES_CTR or FIPS_ENGINE_AES_MIC */
A_UINT32 mode;
/* FIPS_KEY_LENGTH_128 or FIPS_KEY_LENGTH_256 (units = bytes) */
A_UINT32 key_len;
A_UINT8 key[WMI_MAX_KEY_LEN]; /* Key */
A_UINT32 data_len; /* data length */
/*
* Following this structure is the TLV:
* A_UINT32 data[1]; - In Data (keep this in the end)
*/
} wmi_pdev_fips_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_smart_ant_enable_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 enable; /* 1:enable, 0:disable */
/* 1:GPIO parallel mode, 0:GPIO serial mode */
A_UINT32 mode;
A_UINT32 rx_antenna; /* rx antenna */
A_UINT32 tx_default_antenna; /* tx default antenna */
/*
* Following this structure is the TLV:
* wmi_pdev_smart_ant_gpio_handle
*/
} wmi_pdev_smart_ant_enable_cmd_fixed_param;
/** GPIO pins/function values to control antennas */
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_smart_ant_gpio_handle
*/
A_UINT32 tlv_header;
/* For serial: index 0-strobe index 1-data, For Parallel: per stream */
A_UINT32 gpio_pin;
A_UINT32 gpio_func; /* GPIO function values for Smart Antenna */
} wmi_pdev_smart_ant_gpio_handle;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_smart_ant_set_rx_antenna_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id;
A_UINT32 rx_antenna;
} wmi_pdev_smart_ant_set_rx_antenna_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_tx_antenna_cmd_fixed_param
*/
A_UINT32 tlv_header;
/** unique id identifying the vdev, generated by the caller */
A_UINT32 vdev_id;
/** peer MAC address */
wmi_mac_addr peer_macaddr;
/*
* Following this structure is the TLV:
* wmi_peer_smart_ant_set_tx_antenna_series
*/
} wmi_peer_smart_ant_set_tx_antenna_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_tx_antenna_series
*/
A_UINT32 tlv_header;
/* antenna array */
A_UINT32 antenna_series;
} wmi_peer_smart_ant_set_tx_antenna_series;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_train_antenna_param
*/
A_UINT32 tlv_header;
/* rate array */
A_UINT32 train_rate_series;
/* antenna array */
A_UINT32 train_antenna_series;
/* Rate flags */
/* TODO: For future use? */
A_UINT32 rc_flags;
} wmi_peer_smart_ant_set_train_antenna_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_train_antenna_cmd_fixed_param
*/
A_UINT32 tlv_header;
/** unique id identifying the VDEV, generated by the caller */
A_UINT32 vdev_id;
/** peer MAC address */
wmi_mac_addr peer_macaddr;
/* num packets; 0-stop training */
A_UINT32 num_pkts;
/*
* Following this structure is the TLV:
* wmi_peer_smart_ant_set_train_antenna_param
*/
} wmi_peer_smart_ant_set_train_antenna_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_smart_ant_set_node_config_ops_cmd_fixed_param
*/
A_UINT32 tlv_header;
/** unique id identifying the vdev, generated by the caller */
A_UINT32 vdev_id;
/** peer MAC address */
wmi_mac_addr peer_macaddr;
/* command id*/
A_UINT32 cmd_id;
/* number of arguments passed */
A_UINT32 args_count;
/*
* Following this structure is the TLV:
* A_UINT32 args[]; // argument list
*/
} wmi_peer_smart_ant_set_node_config_ops_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_set_ant_ctrl_chain
*/
A_UINT32 tlv_header;
A_UINT32 antCtrlChain;
} wmi_pdev_set_ant_ctrl_chain;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_set_ant_switch_tbl_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 antCtrlCommon1;
A_UINT32 antCtrlCommon2;
/*
* Following this structure is the TLV:
* wmi_pdev_set_ant_ctrl_chain
*/
} wmi_pdev_set_ant_switch_tbl_cmd_fixed_param;
typedef struct {
/* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_set_ctl_table_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
/** len of CTL info */
A_UINT32 ctl_len;
/* ctl array (len adjusted to number of words)
* Following this structure is the TLV:
* A_UINT32 ctl_info[1];
*/
} wmi_pdev_set_ctl_table_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 mimogain_info; /* see WMI_MIMOGAIN macros */
/*
* Bit 7:0 len of array gain table
* Bit 8 bypass multi chain gain or not
*/
/*
* array gain table(s) (len adjusted to number of words).
* Following this structure is the TLV:
* A_UINT32 arraygain_tbl[1];
*/
} wmi_pdev_set_mimogain_table_cmd_fixed_param;
#define WMI_MIMOGAIN_ARRAY_GAIN_LEN_S 0
#define WMI_MIMOGAIN_ARRAY_GAIN_LEN (0xff << WMI_MIMOGAIN_ARRAY_GAIN_LEN_S)
#define WMI_MIMOGAIN_ARRAY_GAIN_LEN_GET(x) WMI_F_MS(x, WMI_MIMOGAIN_ARRAY_GAIN_LEN)
#define WMI_MIMOGAIN_ARRAY_GAIN_LEN_SET(x, z) WMI_F_RMW(x, z, WMI_MIMOGAIN_ARRAY_GAIN_LEN)
#define WMI_MIMOGAIN_MULTI_CHAIN_BYPASS_S 8
#define WMI_MIMOGAIN_MULTI_CHAIN_BYPASS (0x1 << WMI_MIMOGAIN_MULTI_CHAIN_BYPASS_S)
#define WMI_MIMOGAIN_MULTI_CHAIN_BYPASS_GET(x) WMI_F_MS(x, WMI_MIMOGAIN_MULTI_CHAIN_BYPASS)
#define WMI_MIMOGAIN_MULTI_CHAIN_BYPASS_SET(x, z) WMI_F_RMW(x, z, WMI_MIMOGAIN_MULTI_CHAIN_BYPASS)
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_fwtest_set_param_cmd_fixed_param
*/
A_UINT32 tlv_header;
/** parameter id */
A_UINT32 param_id;
/** parameter value */
A_UINT32 param_value;
} wmi_fwtest_set_param_cmd_fixed_param;
/* Expressed in 1 part in 1000 (permille) */
#define WMI_ATF_DENOMINATION 1000
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_atf_peer_info
*/
A_UINT32 tlv_header;
wmi_mac_addr peer_macaddr;
A_UINT32 atf_units; /* Based on 1 part in 1000 (per mille) */
A_UINT32 atf_groupid; /* Group Id of the peers for ATF SSID grouping */
/* Peer congestion threshold for future use */
A_UINT32 atf_units_reserved;
} wmi_atf_peer_info;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_atf_request_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 num_peers;
/*
* Following this structure is the TLV:
* struct wmi_atf_peer_info peer_info[1];
*/
} wmi_peer_atf_request_fixed_param;
/* Equal distribution of ATF air time within an VDEV. */
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_vdev_atf_request_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 vdev_id;
A_UINT32 peer_atf_units; /* Per peer ATF units (per mille). */
} wmi_vdev_atf_request_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_get_ani_cck_config_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
/** parameter */
A_UINT32 param;
} wmi_pdev_get_ani_cck_config_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_get_ani_ofdm_config_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
/** parameter */
A_UINT32 param;
} wmi_pdev_get_ani_ofdm_config_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_WMI_QBOOST_CFG_CMD_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 vdev_id;
A_UINT32 qb_enable;
wmi_mac_addr peer_macaddr;
} WMI_QBOOST_CFG_CMD_fixed_param;
#define WMI_INST_STATS_INVALID_RSSI 0
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_inst_rssi_stats_resp_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 iRSSI; /* dBm above the noise floor */
/* peer MAC address */
wmi_mac_addr peer_macaddr;
} wmi_inst_rssi_stats_resp_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_cck_ofdm_rate_info
*/
A_UINT32 tlv_header;
A_UINT32 ratecode_legacy; /* Rate code for CCK OFDM */
} wmi_peer_cck_ofdm_rate_info;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_mcs_rate_info
*/
A_UINT32 tlv_header;
A_UINT32 ratecode_20; /* Rate code for 20MHz BW */
A_UINT32 ratecode_40; /* Rate code for 40MHz BW */
A_UINT32 ratecode_80; /* Rate code for 80MHz BW */
} wmi_peer_mcs_rate_info;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_ratecode_list_event_fixed_param
*/
A_UINT32 tlv_header;
wmi_mac_addr peer_macaddr;
A_UINT32 ratecount; /* Max Rate count for each mode */
/*
* Following this structure are the TLV
* struct wmi_peer_cck_ofdm_rate_info;
* struct wmi_peer_mcs_rate_info;
*/
} wmi_peer_ratecode_list_event_fixed_param;
typedef struct wmi_wds_addr_event {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_wds_addr_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 event_type[4];
wmi_mac_addr peer_mac;
wmi_mac_addr dest_mac;
} wmi_wds_addr_event_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_sta_ps_statechange_event_fixed_param
*/
A_UINT32 tlv_header;
wmi_mac_addr peer_macaddr;
A_UINT32 peer_ps_state;
} wmi_peer_sta_ps_statechange_event_fixed_param;
/* WMI_PDEV_FIPS_EVENTID */
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_fips_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
/* Error status: 0 (no err), 1, or OPER_TIMEOUT */
A_UINT32 error_status;
A_UINT32 data_len; /* Data length */
/*
* Following this structure is the TLV:
* A_UINT32 data[1]; // Out Data (keep this in the end)
*/
} wmi_pdev_fips_event_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_channel_hopping_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
/* Noise threshold iterations with high values */
A_UINT32 noise_floor_report_iter;
/* Total noise threshold iterations */
A_UINT32 noise_floor_total_iter;
} wmi_pdev_channel_hopping_event_fixed_param;
enum {
WMI_PDEV_RESERVE_AST_ENTRY_OK,
WMI_PDEV_RESERVE_AST_ENTRY_HASH_COLLISION,
WMI_PDEV_RESERVE_AST_ENTRY_CROSSING_AXI_BOUNDARY,
};
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_get_tpc_cmd_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 rate_flags;
/**
* FLAG_ONE_CHAIN 0x001 - one chain mask
* FLAG_TWO_CHAIN 0x005 - two chain mask
* FLAG_THREE_CHAIN 0x007 - three chain mask
* FLAG_FOUR_CHAIN 0x00F - four chain mask
* FLAG_STBC 0x010 - STBC is set
* FLAG_40MHZ 0x020
* FLAG_80MHZ 0x040
* FLAG_160MHZ 0x080
* FLAG_TXBF 0x0100 - Tx Bf enabled
* FLAG_RTSENA 0x0200 - RTS enabled
* FLAG_CTSENA 0x0400 - CTS enabled
* FLAG_LDPC 0x0800 - LDPC set
* FLAG_SERIES1 0x1000 -
* FLAG_SGI 0x2000 - Short gaurd interval
* FLAG_MU2 0x4000 - MU2 data
* FLAG_MU3 0x8000 - MU3 data
* */
A_UINT32 nss;
/**
* NSS 0x0 - 0x3
* */
A_UINT32 preamble;
/**
* PREAM_OFDM - 0x0
* PREAM_CCK - 0x1
* PREAM_HT - 0x2
* PREAM_VHT - 0x3
* */
A_UINT32 hw_rate;
/**
* *** HW_OFDM_RATE ***
* OFDM_48_MBPS - 0x0
* OFDM_24_MBPS - 0x1
* OFDM_12_MBPS - 0x2
* OFDM_6_MBPS - 0x3
* OFDM_54_MBPS - 0x4
* OFDM_36_MBPS - 0x5
* OFDM_18_MBPS - 0x6
* OFDM_9_MBPS - 0x7
*
* *** HW_CCK_RATE ***
* CCK_11_LONG_MBPS - 0x0
* CCK_5_5_LONG_MBPS - 0x1
* CCK_2_LONG_MBPS - 0x2
* CCK_1_LONG_MBPS - 0x3
* CCK_11_SHORT_MBPS - 0x4
* CCK_5_5_SHORT_MBPS - 0x5
* CCK_2_SHORT_MBPS - 0x6
*
* *** HW_HT / VHT_RATE ***
* MCS 0x0 - 0x9
* */
} wmi_pdev_get_tpc_cmd_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 reserved0; /* for future need */
/*
* Following this structure is the TLV:
* A_UINT32 tpc[1];
*/
} wmi_pdev_tpc_event_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 mac_id; /* MAC ID */
A_UINT32 nfdBr_len;
A_UINT32 nfdBm_len;
A_UINT32 freqNum_len;
/*
* Following this structure is the TLV:
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBr;
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBm;
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_freqNum;
*/
} wmi_pdev_nfcal_power_all_channels_event_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBr
*/
A_UINT32 tlv_header;
A_UINT32 nfdBr;
} wmi_pdev_nfcal_power_all_channels_nfdBr;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_nfdBm
*/
A_UINT32 tlv_header;
A_UINT32 nfdBm;
} wmi_pdev_nfcal_power_all_channels_nfdBm;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_nfcal_power_all_channels_freqNum
*/
A_UINT32 tlv_header;
A_UINT32 freqNum;
} wmi_pdev_nfcal_power_all_channels_freqNum;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_ani_cck_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 cck_level;
} wmi_ani_cck_event_fixed_param;
typedef struct {
/*
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param
*/
A_UINT32 tlv_header;
A_UINT32 ofdm_level;
} wmi_ani_ofdm_event_fixed_param;
/* ADD NEW DEFS HERE */
/*****************************************************************************

View file

@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility */
#define __WMI_REVISION_ 196
#define __WMI_REVISION_ 197
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work