mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
fw-api: CL 5592172 - update fw common interface files
WMI,HTT: add ack RSSI in tx completion reports Change-Id: I0158fcf1398593d7c618aea4d7999d53f47512f5 CRs-Fixed: 2262693
This commit is contained in:
parent
2c92b59329
commit
81a513c334
5 changed files with 70 additions and 15 deletions
55
fw/htt.h
55
fw/htt.h
|
|
@ -172,9 +172,10 @@
|
|||
* 3.55 Add initiator / responder flags to RX_DELBA indication
|
||||
* 3.56 Fix HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE bit-mask defs
|
||||
* 3.57 Add support for in-band data within HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND
|
||||
* 3.58 Add optional MSDU ack RSSI array to end of HTT_T2H TX_COMPL_IND msg
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 57
|
||||
#define HTT_CURRENT_VERSION_MINOR 58
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
|
|
@ -8067,22 +8068,27 @@ PREPACK struct htt_txq_group {
|
|||
* The following diagram shows the format of the TX completion indication sent
|
||||
* from the target to the host
|
||||
*
|
||||
* |31 27|26|25|24|23 16| 15 |14 11|10 8|7 0|
|
||||
* |------------------------------------------------------------|
|
||||
* header: | rsvd |TP|A1|A0| num | t_i| tid |status| msg_type |
|
||||
* |------------------------------------------------------------|
|
||||
* payload: | MSDU1 ID | MSDU0 ID |
|
||||
* |------------------------------------------------------------|
|
||||
* : MSDU3 ID : MSDU2 ID :
|
||||
* |------------------------------------------------------------|
|
||||
* | struct htt_tx_compl_ind_append_retries |
|
||||
* |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
|
||||
* | struct htt_tx_compl_ind_append_tx_tstamp |
|
||||
* |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
|
||||
* |31 28|27|26|25|24|23 16| 15 |14 11|10 8|7 0|
|
||||
* |-------------------------------------------------------------|
|
||||
* header: |rsvd |A2|TP|A1|A0| num | t_i| tid |status| msg_type |
|
||||
* |-------------------------------------------------------------|
|
||||
* payload: | MSDU1 ID | MSDU0 ID |
|
||||
* |-------------------------------------------------------------|
|
||||
* : MSDU3 ID : MSDU2 ID :
|
||||
* |-------------------------------------------------------------|
|
||||
* | struct htt_tx_compl_ind_append_retries |
|
||||
* |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
|
||||
* | struct htt_tx_compl_ind_append_tx_tstamp |
|
||||
* |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
|
||||
* | MSDU1 ACK RSSI | MSDU0 ACK RSSI |
|
||||
* |-------------------------------------------------------------|
|
||||
* : MSDU3 ACK RSSI : MSDU2 ACK RSSI :
|
||||
* |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
|
||||
* Where:
|
||||
* A0 = append (a.k.a. append0)
|
||||
* A1 = append1
|
||||
* TP = MSDU tx power presence
|
||||
* A2 = append2
|
||||
*
|
||||
* The following field definitions describe the format of the TX completion
|
||||
* indication sent from the target to the host
|
||||
|
|
@ -8136,6 +8142,19 @@ PREPACK struct htt_txq_group {
|
|||
* which MSDU ID.
|
||||
* Value: 0 indicates MSDU tx power reports are not appended,
|
||||
* 1 indicates MSDU tx power reports are appended
|
||||
* - append2
|
||||
* Bits 27:27
|
||||
* Purpose: Indicate whether data ACK RSSI is appended for each MSDU in
|
||||
* TX_COMP_IND message. The order of the per-MSDU ACK RSSI report
|
||||
* matches the order of the MSDU IDs. Although the ACK RSSI is the
|
||||
* same for all MSDUs witin a single PPDU, the RSSI is duplicated
|
||||
* for each MSDU, for convenience.
|
||||
* The ACK RSSI values are valid when status is COMPLETE_OK (and
|
||||
* this append2 bit is set).
|
||||
* The ACK RSSI values are SNR in dB, i.e. are the RSSI in units of
|
||||
* dB above the noise floor.
|
||||
* Value: 0 indicates MSDU ACK RSSI values are not appended,
|
||||
* 1 indicates MSDU ACK RSSI values are appended.
|
||||
* Payload fields:
|
||||
* - hmsdu_id
|
||||
* Bits 15:0
|
||||
|
|
@ -8157,6 +8176,8 @@ PREPACK struct htt_txq_group {
|
|||
#define HTT_TX_COMPL_IND_APPEND1_M 0x02000000
|
||||
#define HTT_TX_COMPL_IND_TX_POWER_S 26
|
||||
#define HTT_TX_COMPL_IND_TX_POWER_M 0x04000000
|
||||
#define HTT_TX_COMPL_IND_APPEND2_S 27
|
||||
#define HTT_TX_COMPL_IND_APPEND2_M 0x08000000
|
||||
|
||||
#define HTT_TX_COMPL_IND_STATUS_SET(_info, _val) \
|
||||
do { \
|
||||
|
|
@ -8208,6 +8229,14 @@ PREPACK struct htt_txq_group {
|
|||
} while (0)
|
||||
#define HTT_TX_COMPL_IND_TX_POWER_GET(_info) \
|
||||
(((_info) & HTT_TX_COMPL_IND_TX_POWER_M) >> HTT_TX_COMPL_IND_TX_POWER_S)
|
||||
#define HTT_TX_COMPL_IND_APPEND2_SET(_info, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_TX_COMPL_IND_APPEND2, _val); \
|
||||
((_info) |= ((_val) << HTT_TX_COMPL_IND_APPEND2_S)); \
|
||||
} while (0)
|
||||
#define HTT_TX_COMPL_IND_APPEND2_GET(_info) \
|
||||
(((_info) & HTT_TX_COMPL_IND_APPEND2_M) >> HTT_TX_COMPL_IND_APPEND2_S)
|
||||
|
||||
#define HTT_TX_COMPL_INV_TX_POWER 0xffff
|
||||
|
||||
#define HTT_TX_COMPL_CTXT_SZ sizeof(A_UINT16)
|
||||
|
|
|
|||
|
|
@ -267,6 +267,7 @@ typedef enum {
|
|||
WMI_SERVICE_PEER_CHWIDTH_CHANGE = 171, /* Support for host to update/re-intersect the node capability */
|
||||
WMI_SERVICE_WLAN_HPCS_PULSE=172, /* Support for High Precision Clock Synchronization feature */
|
||||
WMI_SERVICE_PER_VDEV_CHAINMASK_CONFIG_SUPPORT=173, /* Support for configuring chainmask per VDEV */
|
||||
WMI_SERVICE_TX_DATA_MGMT_ACK_RSSI=174, /* ACK RSSI indication to host for host TX data and mgmt frame */
|
||||
|
||||
/******* ADD NEW SERVICES HERE *******/
|
||||
|
||||
|
|
|
|||
|
|
@ -3981,7 +3981,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OFFCHAN_DATA_TX_COMPLETION_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_tx_compl_bundle_event_fixed_param, wmi_mgmt_tx_compl_bundle_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, desc_ids, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, status, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ppdu_id, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ppdu_id, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ack_rssi, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID);
|
||||
|
||||
/* VDEV Start response Event */
|
||||
|
|
|
|||
|
|
@ -2845,6 +2845,15 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_FLAG_EAPOL_AC_OVERRIDE_S 16
|
||||
#define WMI_RSRC_CFG_FLAG_EAPOL_AC_OVERRIDE_M 0x30000
|
||||
|
||||
/*
|
||||
* If TX_ACK_RSSI is set, then the target should populate the ack_rssi
|
||||
* field within the WMI_MGMT_TX_COMPLETION_EVENT message, the ack_rssi
|
||||
* TLV within the WMI_MGMT_TX_BUNDLE_COMPLETION_EVENT message, and the
|
||||
* "MSDU ACK RSSI" array within the HTT_T2H TX_COMPL_IND message.
|
||||
*/
|
||||
#define WMI_RSRC_CFG_FLAG_TX_ACK_RSSI_S 18
|
||||
#define WMI_RSRC_CFG_FLAG_TX_ACK_RSSI_M 0x40000
|
||||
|
||||
A_UINT32 flag1;
|
||||
|
||||
/** @brief smart_ant_cap - Smart Antenna capabilities information
|
||||
|
|
@ -3073,6 +3082,12 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_FLAG_EAPOL_AC_OVERRIDE_GET(word32) \
|
||||
WMI_RSRC_CFG_FLAG_GET((word32), EAPOL_AC_OVERRIDE)
|
||||
|
||||
#define WMI_RSRC_CFG_FLAG_TX_ACK_RSSI_SET(word32, value) \
|
||||
WMI_RSRC_CFG_FLAG_SET((word32), TX_ACK_RSSI, (value))
|
||||
#define WMI_RSRC_CFG_FLAG_TX_ACK_RSSI_GET(word32) \
|
||||
WMI_RSRC_CFG_FLAG_GET((word32), TX_ACK_RSSI)
|
||||
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */
|
||||
|
||||
|
|
@ -5547,6 +5562,13 @@ typedef struct {
|
|||
* A ppdu_id value of 0x0 is invalid, and should be ignored.
|
||||
*/
|
||||
A_UINT32 ppdu_id;
|
||||
/* ack_rssi
|
||||
* TX mgmt ack RSSI report to host.
|
||||
* Only valid when status == COMPLETE_OK and the ACK_RSSI report is enabled
|
||||
* ACK RSSI is reported as SNR dB, i.e. how many dB the RSSI is above
|
||||
* the noise floor.
|
||||
*/
|
||||
A_UINT32 ack_rssi;
|
||||
} wmi_mgmt_tx_compl_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -5571,6 +5593,8 @@ typedef struct {
|
|||
* A_UINT32 desc_ids[num_reports]; <- from tx_send_cmd
|
||||
* A_UINT32 status[num_reports]; <- WMI_MGMT_TX_COMP_STATUS_TYPE
|
||||
* A_UINT32 ppdu_id[num_reports]; <- list of PPDU IDs
|
||||
* A_UINT32 ack_rssi[num_reports]; <- list of ack RSSI
|
||||
* RSSI units = dB w.r.t. noise floor
|
||||
*/
|
||||
} wmi_mgmt_tx_compl_bundle_event_fixed_param;
|
||||
|
||||
|
|
|
|||
|
|
@ -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_ 585
|
||||
#define __WMI_REVISION_ 586
|
||||
|
||||
/** 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