diff options
| author | spuligil <spuligil@codeaurora.org> | 2019-08-07 06:05:44 -0700 |
|---|---|---|
| committer | spuligil <spuligil@codeaurora.org> | 2019-08-07 06:05:44 -0700 |
| commit | ed201de568f0470fb5b006daa6423f0b045612e9 (patch) | |
| tree | 36ba8fdcd8a39880b43f067926aadee569b3f03a | |
| parent | 9d21716dc902b3792abb5a2c255aa369d3eb175e (diff) | |
fw-api: CL 7808518 - update fw common interface files
HTT stats: add ack RSSI and tx chain info to ppdu_stats_user_cmpltn_common
Change-Id: Ia1f4f48d66209f8bdc6cae6c84a8d65277a935e9
CRs-Fixed: 2262693
| -rw-r--r-- | fw/htt_ppdu_stats.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/fw/htt_ppdu_stats.h b/fw/htt_ppdu_stats.h index 9cc2677de5d7..91eb1d1b6783 100644 --- a/fw/htt_ppdu_stats.h +++ b/fw/htt_ppdu_stats.h @@ -26,6 +26,9 @@ #include <htt.h> #include <htt_stats.h> +#define HTT_STATS_MAX_CHAINS 8 +#define HTT_STATS_NUM_SUPPORTED_BW_SMART_ANTENNA 4 /* 20, 40, 80, 160 MHz */ + #define HTT_BA_64_BIT_MAP_SIZE_DWORDS 2 #define HTT_BA_256_BIT_MAP_SIZE_DWORDS 8 enum htt_ppdu_stats_tlv_tag { @@ -1510,6 +1513,84 @@ typedef enum HTT_PPDU_STATS_RESP_TYPE HTT_PPDU_STATS_RESP_TYPE; ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_RESP_TYPE_S)); \ } while (0) +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_M 0xffffffff +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_S 0 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CHAIN_RSSI_S)); \ + } while (0) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_M 0xffffffff +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_S 0 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_TX_ANTENNA_MASK_S)); \ + } while (0) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_M 0x00010000 +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_S 16 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_IS_TRAINING_S)); \ + } while (0) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_M 0x0000ffff +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_S 0 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PENDING_TRAINING_PKTS_S)); \ + } while (0) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_M 0xffffffff +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_S 0 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_MAX_RATES_S)); \ + } while (0) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_M 0xffffffff +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_S 0 + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_GET(_var) \ + (((_var) & HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_M) >> \ + HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_S) + +#define HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER, _val); \ + ((_var) |= ((_val) << HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_S)); \ + } while (0) + enum HTT_PPDU_STATS_USER_COMPLETION_STATUS { HTT_PPDU_STATS_USER_STATUS_OK, HTT_PPDU_STATS_USER_STATUS_FILTERED, @@ -1564,6 +1645,36 @@ typedef struct { reserved0: 19; }; }; + + /* + * ack RSSI per chain for last transmission to the peer-TID + * (value in dB w.r.t noise floor) + */ + A_UINT32 chain_rssi[HTT_STATS_MAX_CHAINS]; + + /* Tx Antenna mask for last packet transmission */ + A_UINT32 tx_antenna_mask; + + /* For SmartAntenna + * BIT [15:0] :- pending_training_pkts + * Holds number of pending training packets during training. + * BIT [16] :- is_training + * This flag indicates if peer is under training. + * BIT [31:17] :- reserved1 + */ + A_UINT32 pending_training_pkts:16, + is_training:1, + reserved1:15; + + /* + * Max rates configured per BW: + * for BW supported by Smart Antenna - 20MHZ, 40MHZ and 80MHZ and 160MHZ + * (Note: 160 MHz is currently not supported by Smart Antenna) + */ + A_UINT32 max_rates[HTT_STATS_NUM_SUPPORTED_BW_SMART_ANTENNA]; + + /* PER of the last transmission to the peer-TID (in percent) */ + A_UINT32 current_rate_per; } htt_ppdu_stats_user_cmpltn_common_tlv; #define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M 0x000000ff |
