fw-api: CL 2914574 - update fw common interface files

rx PHY err RSSI values for chains 4-7

Change-Id: I126748318904565d6229a2209e810b9246c00ce4
CRs-Fixed: 1107600
This commit is contained in:
Sandeep Puligilla
2017-03-09 11:01:11 -08:00
committed by Gerrit - the friendly Code Review server
parent 6605796332
commit 38f52ce2c7
3 changed files with 74 additions and 3 deletions

View File

@@ -809,6 +809,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_get_arp_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_iface_offload_stats,
WMITLV_TAG_STRUC_wmi_request_stats_cmd_sub_struc_param,
WMITLV_TAG_STRUC_rssi_ctl_ext,
WMITLV_TAG_STRUC_wmi_single_phyerr_ext_rx_hdr,
} WMITLV_TAG_ID;
/*
@@ -3377,7 +3379,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CHAN_INFO_EVENTID);
/* Phy Error Event */
#define WMITLV_TABLE_WMI_PHYERR_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_comb_phyerr_rx_hdr, wmi_comb_phyerr_rx_hdr, hdr, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_single_phyerr_ext_rx_hdr, single_phyerr_ext, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PHYERR_EVENTID);
/* TX Pause/Unpause event */
@@ -3425,7 +3428,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
/* Management Rx Event */
#define WMITLV_TABLE_WMI_MGMT_RX_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_rx_hdr, wmi_mgmt_rx_hdr, hdr, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_ctl_ext, rssi_ctl_ext, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
/* TBTT offset Event */

View File

@@ -3040,6 +3040,7 @@ typedef struct {
/** flag indicating that the the mgmt frame (probe req/beacon) is received in the context of matched network by FW ENLO */
#define WMI_MGMT_RX_HDR_ENLO 0x02
#define MAX_ANTENNA_EIGHT 8
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mgmt_rx_hdr */
@@ -3089,8 +3090,22 @@ typedef struct {
/* This TLV is followed by array of bytes:
* A_UINT8 bufp[]; <-- management frame buffer
*/
/* This TLV is optionally followed by array of struct:
* wmi_rssi_ctl_ext rssi_ctl_ext;
*/
} wmi_mgmt_rx_hdr;
/*
* Instead of universally increasing the RX_HDR_HEADROOM size which may cause problems for older targets,
* this new ext_hdr can be used for extending the header and will be only applicable for new targets.
*/
typedef struct
{
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_rssi_ctl_ext */
/** RSSI of PRI 20MHz for each chain, in dB w.r.t. noise floor */
A_UINT32 rssi_ctl_ext[MAX_ANTENNA_EIGHT - ATH_MAX_ANTENNA];
} wmi_rssi_ctl_ext;
typedef struct {
/** TSF timestamp */
A_UINT32 tsf_timestamp;
@@ -3151,6 +3166,41 @@ typedef struct {
A_UINT32 buf_len;
} wmi_single_phyerr_rx_hdr;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_single_phyerr_ext_rx_hdr */
/**
* RSSI on chain 4 through 7 in dB w.r.t noise floor.
*
* This is formatted the same as the PPDU_START RX descriptor
* field:
*
* [7:0]: pri20
* [15:8]: sec20
* [23:16]: sec40
* [31:24]: sec80
*/
A_UINT32 rssi_chain4;
A_UINT32 rssi_chain5;
A_UINT32 rssi_chain6;
A_UINT32 rssi_chain7;
/**
* Last calibrated NF value for chain 4 through 7 in dbm
*
* nf_list_3:
* + [15:0] - chain 4
* + [31:16] - chain 5
*
* nf_list_4:
* + [15:0] - chain 6
* + [31:16] - chain 7
*
* Each chain's noise floor is stored as a sign-extended (negative)
* value in dBm units.
*/
A_UINT32 nf_list_3;
A_UINT32 nf_list_4;
} wmi_single_phyerr_ext_rx_hdr;
#define WMI_UNIFIED_FREQINFO_1_LO 0x000000ff
#define WMI_UNIFIED_FREQINFO_1_LO_S 0
#define WMI_UNIFIED_FREQINFO_1_HI 0x0000ff00
@@ -3216,10 +3266,23 @@ typedef struct {
#define WMI_UNIFIED_CHAIN_3 0xffff0000
#define WMI_UNIFIED_CHAIN_3_S 16
#define WMI_UNIFIED_CHAIN_4 0x0000ffff
#define WMI_UNIFIED_CHAIN_4_S 0
#define WMI_UNIFIED_CHAIN_5 0xffff0000
#define WMI_UNIFIED_CHAIN_5_S 16
#define WMI_UNIFIED_CHAIN_6 0x0000ffff
#define WMI_UNIFIED_CHAIN_6_S 0
#define WMI_UNIFIED_CHAIN_7 0xffff0000
#define WMI_UNIFIED_CHAIN_7_S 16
#define WMI_UNIFIED_CHAIN_0_FIELD nf_list_1
#define WMI_UNIFIED_CHAIN_1_FIELD nf_list_1
#define WMI_UNIFIED_CHAIN_2_FIELD nf_list_2
#define WMI_UNIFIED_CHAIN_3_FIELD nf_list_2
#define WMI_UNIFIED_CHAIN_4_FIELD nf_list_3
#define WMI_UNIFIED_CHAIN_5_FIELD nf_list_3
#define WMI_UNIFIED_CHAIN_6_FIELD nf_list_4
#define WMI_UNIFIED_CHAIN_7_FIELD nf_list_4
#define WMI_UNIFIED_NF_CHAIN_GET(hdr, c) \
((int16_t) (WMI_F_MS((hdr)->WMI_UNIFIED_CHAIN_##c##_FIELD, \
@@ -3298,6 +3361,10 @@ typedef struct {
* header - payload, header - payload...
* (The header is of type: wmi_single_phyerr_rx_hdr)
* A_UINT8 bufp[];
* The extension hdr will repeat num_phyerr_events of times
* and will have 1:1 mapping with above header. i.e the 1st
* ext_rx_hdr will belong to 1st phyerr_rx_hdr and so on.
* wmi_single_phyerr_ext_rx_hdr single_phyerr_ext;
*/
} wmi_comb_phyerr_rx_hdr;

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_ 362
#define __WMI_REVISION_ 363
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work