mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
qcacld-3.0: CL 1597848 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0 Adding WMI defs for pdev and peer GET_ANTDIV_STATUS_CMD, ANTDIV_INFO_EVENT msgs. Change-Id: Iad3c57f0b4e10e68c86cef175b8cadcfd9e7fe1e CRs-fixed: 865207
This commit is contained in:
parent
8f7bb90760
commit
fcedd3b95c
3 changed files with 149 additions and 1 deletions
|
|
@ -725,6 +725,11 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_tlv_buf_len_param,
|
||||
WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_antdiv_info_req_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_antdiv_info_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_antdiv_info,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
|
|
@ -1021,6 +1026,8 @@ typedef enum {
|
|||
OP(WMI_PDEV_SET_REORDER_TIMEOUT_VAL_CMDID) \
|
||||
OP(WMI_PEER_SET_RX_BLOCKSIZE_CMDID) \
|
||||
OP(WMI_PDEV_SET_WAKEUP_CONFIG_CMDID) \
|
||||
OP(WMI_PEER_ANTDIV_INFO_REQ_CMDID) \
|
||||
OP(WMI_PDEV_GET_ANTDIV_STATUS_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
/*
|
||||
|
|
@ -1175,6 +1182,8 @@ typedef enum {
|
|||
OP(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID) \
|
||||
OP(WMI_READ_DATA_FROM_FLASH_EVENTID) \
|
||||
OP(WMI_SERVICE_AVAILABLE_EVENTID) \
|
||||
OP(WMI_PEER_ANTDIV_INFO_EVENTID) \
|
||||
OP(WMI_PDEV_ANTDIV_STATUS_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
/* TLV definitions of WMI commands */
|
||||
|
|
@ -2326,6 +2335,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_BATCH_SCAN_ENABLE_CMDID);
|
|||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_INFO_REQ_CMDID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_PEER_ANTDIV_INFO_REQ_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_antdiv_info_req_cmd_fixed_param, \
|
||||
wmi_peer_antdiv_info_req_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ANTDIV_INFO_REQ_CMDID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_RMC_SET_MODE_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_rmc_set_mode_cmd_fixed_param, \
|
||||
wmi_rmc_set_mode_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
@ -2534,6 +2549,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_D0_WOW_ENABLE_DISABLE_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_temperature_cmd_fixed_param, wmi_pdev_get_temperature_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TEMPERATURE_CMDID);
|
||||
|
||||
/* Pdev get ANT DIV feature status Cmd */
|
||||
#define WMITLV_TABLE_WMI_PDEV_GET_ANTDIV_STATUS_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param, wmi_pdev_get_antdiv_status_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_ANTDIV_STATUS_CMDID);
|
||||
|
||||
/* Set antenna diversity Cmd */
|
||||
#define WMITLV_TABLE_WMI_SET_ANTENNA_DIVERSITY_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param, wmi_pdev_set_antenna_diversity_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
@ -3443,6 +3463,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AP_PS_EGAP_INFO_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_info, peer_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_INFO_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_PEER_ANTDIV_INFO_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_antdiv_info_event_fixed_param, wmi_peer_antdiv_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_antdiv_info, peer_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ANTDIV_INFO_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_PEER_TX_FAIL_CNT_THR_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tx_fail_cnt_thr_event_fixed_param, wmi_peer_tx_fail_cnt_thr_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_FAIL_CNT_THR_EVENTID);
|
||||
|
|
@ -3604,6 +3629,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_D0_WOW_DISABLE_ACK_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_temperature_event_fixed_param, wmi_pdev_temperature_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TEMPERATURE_EVENTID);
|
||||
|
||||
/* Pdev get ANT DIV feature status event */
|
||||
#define WMITLV_TABLE_WMI_PDEV_ANTDIV_STATUS_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param, wmi_pdev_antdiv_status_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANTDIV_STATUS_EVENTID);
|
||||
|
||||
/* mDNS offload stats event */
|
||||
#define WMITLV_TABLE_WMI_MDNS_STATS_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mdns_stats_event_fixed_param, wmi_mdns_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
|
|||
|
|
@ -349,6 +349,8 @@ typedef enum {
|
|||
WMI_PDEV_SET_REORDER_TIMEOUT_VAL_CMDID,
|
||||
/** WMI command for WOW gpio and type */
|
||||
WMI_PDEV_SET_WAKEUP_CONFIG_CMDID,
|
||||
/* Get current ANT's per chain's RSSI info */
|
||||
WMI_PDEV_GET_ANTDIV_STATUS_CMDID,
|
||||
|
||||
/* VDEV (virtual device) specific commands */
|
||||
/** vdev create */
|
||||
|
|
@ -453,6 +455,11 @@ typedef enum {
|
|||
WMI_PEER_REORDER_QUEUE_REMOVE_CMDID,
|
||||
/** specify a limit for rx A-MPDU block size */
|
||||
WMI_PEER_SET_RX_BLOCKSIZE_CMDID,
|
||||
/**
|
||||
* request peer antdiv info from FW. FW shall respond with
|
||||
* PEER_ANTDIV_INFO_EVENTID
|
||||
*/
|
||||
WMI_PEER_ANTDIV_INFO_REQ_CMDID,
|
||||
|
||||
|
||||
/* beacon/management specific commands */
|
||||
|
|
@ -1064,6 +1071,8 @@ typedef enum {
|
|||
WMI_PDEV_SET_HW_MODE_RESP_EVENTID,
|
||||
WMI_PDEV_HW_MODE_TRANSITION_EVENTID,
|
||||
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID,
|
||||
/** Report ANT DIV feature's status */
|
||||
WMI_PDEV_ANTDIV_STATUS_EVENTID,
|
||||
|
||||
/* VDEV specific events */
|
||||
/** VDEV started event in response to VDEV_START request */
|
||||
|
|
@ -1119,6 +1128,8 @@ typedef enum {
|
|||
WMI_PEER_RATECODE_LIST_EVENTID,
|
||||
WMI_WDS_PEER_EVENTID,
|
||||
WMI_PEER_STA_PS_STATECHG_EVENTID,
|
||||
/** Peer Ant Div Info Event with rssi per chain, etc */
|
||||
WMI_PEER_ANTDIV_INFO_EVENTID,
|
||||
|
||||
/* beacon/mgmt specific events */
|
||||
/** RX management frame. the entire frame is carried along with the event. */
|
||||
|
|
@ -11112,6 +11123,69 @@ typedef struct {
|
|||
*/
|
||||
} wmi_peer_info_event_fixed_param;
|
||||
|
||||
/**
|
||||
* WMI_PEER_ANTDIV_INFO_REQ_CMDID
|
||||
* Request FW to provide peer info
|
||||
*/
|
||||
typedef struct {
|
||||
/**
|
||||
* TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_peer_antdiv_info_req_cmd_fixed_param
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
/**
|
||||
* In order to get the peer antdiv info for a single peer, host shall
|
||||
* issue the peer_mac_address of that peer. For getting the
|
||||
* info all peers, the host shall issue 0xFFFFFFFF as the mac
|
||||
* address. The firmware will return the peer info for all the
|
||||
* peers on the specified vdev_id
|
||||
*/
|
||||
wmi_mac_addr peer_mac_address;
|
||||
/** vdev id */
|
||||
A_UINT32 vdev_id;
|
||||
} wmi_peer_antdiv_info_req_cmd_fixed_param;
|
||||
|
||||
/** FW response with the peer antdiv info */
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_peer_antdiv_info_event_fixed_param
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
/** number of peers in peer_info */
|
||||
A_UINT32 num_peers;
|
||||
/** VDEV to which the peer belongs to */
|
||||
A_UINT32 vdev_id;
|
||||
/**
|
||||
* This TLV is followed by another TLV of array of structs
|
||||
* wmi_peer_antdiv_info peer_antdiv_info[];
|
||||
*/
|
||||
} wmi_peer_antdiv_info_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_peer_antdiv_info
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
/** mac addr of the peer */
|
||||
wmi_mac_addr peer_mac_address;
|
||||
/**
|
||||
* per chain rssi of the peer, for up to 8 chains.
|
||||
* Each chain's entry reports the RSSI for different bandwidths:
|
||||
* bits 7:0 -> primary 20 MHz
|
||||
* bits 15:8 -> secondary 20 MHz of 40 MHz channel (if applicable)
|
||||
* bits 23:16 -> secondary 40 MHz of 80 MHz channel (if applicable)
|
||||
* bits 31:24 -> secondary 80 MHz of 160 MHz channel (if applicable)
|
||||
* Each of these 8-bit RSSI reports is in dB units, with respect to
|
||||
* the noise floor.
|
||||
* 0x80 means invalid.
|
||||
* All unused bytes within used chain_rssi indices shall be
|
||||
* set to 0x80.
|
||||
* All unused chain_rssi indices shall be set to 0x80808080.
|
||||
*/
|
||||
A_INT32 chain_rssi[8];
|
||||
} wmi_peer_antdiv_info;
|
||||
|
||||
/** FW response when tx failure count has reached threshold
|
||||
* for a peer */
|
||||
typedef struct {
|
||||
|
|
@ -13231,6 +13305,50 @@ typedef struct {
|
|||
A_UINT32 pdev_id;
|
||||
} wmi_pdev_temperature_event_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
ANTDIV_HW_CFG_STATUS,
|
||||
ANTDIV_SW_CFG_STATUS,
|
||||
ANTDIV_MAX_STATUS_TYPE_NUM
|
||||
} ANTDIV_STATUS_TYPE;
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
/* Status event ID - see ANTDIV_STATUS_TYPE */
|
||||
A_UINT32 status_event_id;
|
||||
/**
|
||||
* pdev_id for identifying the MAC
|
||||
* See macros starting with WMI_PDEV_ID_ for values.
|
||||
*/
|
||||
A_UINT32 pdev_id;
|
||||
} wmi_pdev_get_antdiv_status_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
/* ANT DIV feature enabled or not */
|
||||
A_UINT32 support;
|
||||
A_UINT32 chain_num; /* how many chain supported */
|
||||
/* how many ANT supported, 32 max */
|
||||
A_UINT32 ant_num;
|
||||
/**
|
||||
* Each entry is for a tx/rx chain, and contains a bitmap
|
||||
* identifying the antennas attached to that tx/rx chain.
|
||||
*/
|
||||
A_UINT32 selectable_ant_mask[8];
|
||||
/**
|
||||
* pdev_id for identifying the MAC
|
||||
* See macros starting with WMI_PDEV_ID_ for values.
|
||||
*/
|
||||
A_UINT32 pdev_id;
|
||||
} wmi_pdev_antdiv_status_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_dhcp_server_offload_cmd_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
|
|
|
|||
|
|
@ -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_ 279
|
||||
#define __WMI_REVISION_ 280
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue