ath10k: add per peer htt tx stats support for 10.4
Per peer tx stats are part of 'HTT_10_4_T2H_MSG_TYPE_PEER_STATS' event, Firmware sends one HTT event for every four PPDUs. HTT payload has success pkts/bytes, failed pkts/bytes, retry pkts/bytes and rate info per ppdu. Peer stats are enabled through 'WMI_SERVICE_PEER_STATS', which are nowadays enabled by default. Parse peer stats and update the tx rate information per STA. tx rate, Peer stats are tested on QCA4019 with Firmware version 10.4-3.2.1-00028. Signed-off-by: Anilkumar Kolli <akolli@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
3fea18d079
commit
cec17c3821
@@ -419,6 +419,7 @@ enum htt_10_4_t2h_msg_type {
|
||||
HTT_10_4_T2H_MSG_TYPE_STATS_NOUPLOAD = 0x18,
|
||||
/* 0x19 to 0x2f are reserved */
|
||||
HTT_10_4_T2H_MSG_TYPE_TX_MODE_SWITCH_IND = 0x30,
|
||||
HTT_10_4_T2H_MSG_TYPE_PEER_STATS = 0x31,
|
||||
/* keep this last */
|
||||
HTT_10_4_T2H_NUM_MSGS
|
||||
};
|
||||
@@ -453,6 +454,7 @@ enum htt_t2h_msg_type {
|
||||
HTT_T2H_MSG_TYPE_TX_FETCH_IND,
|
||||
HTT_T2H_MSG_TYPE_TX_FETCH_CONFIRM,
|
||||
HTT_T2H_MSG_TYPE_TX_MODE_SWITCH_IND,
|
||||
HTT_T2H_MSG_TYPE_PEER_STATS,
|
||||
/* keep this last */
|
||||
HTT_T2H_NUM_MSGS
|
||||
};
|
||||
@@ -1470,6 +1472,28 @@ struct htt_channel_change {
|
||||
__le32 phymode;
|
||||
} __packed;
|
||||
|
||||
struct htt_per_peer_tx_stats_ind {
|
||||
__le32 succ_bytes;
|
||||
__le32 retry_bytes;
|
||||
__le32 failed_bytes;
|
||||
u8 ratecode;
|
||||
u8 flags;
|
||||
__le16 peer_id;
|
||||
__le16 succ_pkts;
|
||||
__le16 retry_pkts;
|
||||
__le16 failed_pkts;
|
||||
__le16 tx_duration;
|
||||
__le32 reserved1;
|
||||
__le32 reserved2;
|
||||
} __packed;
|
||||
|
||||
struct htt_peer_tx_stats {
|
||||
u8 num_ppdu;
|
||||
u8 ppdu_len;
|
||||
u8 version;
|
||||
u8 payload[0];
|
||||
} __packed;
|
||||
|
||||
union htt_rx_pn_t {
|
||||
/* WEP: 24-bit PN */
|
||||
u32 pn24;
|
||||
@@ -1521,6 +1545,7 @@ struct htt_resp {
|
||||
struct htt_tx_fetch_confirm tx_fetch_confirm;
|
||||
struct htt_tx_mode_switch_ind tx_mode_switch_ind;
|
||||
struct htt_channel_change chan_change;
|
||||
struct htt_peer_tx_stats peer_tx_stats;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
|
Reference in New Issue
Block a user