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

@@ -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;