qcacmn: Add control frame stats accounting support
Add control frame stats accounting support. Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats path. Accumulate per peer RTS success and failure count only in per PPDU Tx stats path. Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de CRs-Fixed: 3313435
This commit is contained in:

committed by
Madan Koyyalamudi

parent
abbf1c968a
commit
92fc6fa7c1
@@ -630,6 +630,30 @@ hal_update_frame_type_cnt(uint8_t *rx_mpdu_start,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_CTRL_FRAME_STATS
|
||||
static inline void
|
||||
hal_update_rx_ctrl_frame_stats(struct hal_rx_ppdu_info *ppdu_info,
|
||||
uint32_t user_id)
|
||||
{
|
||||
uint16_t fc = ppdu_info->nac_info.frame_control;
|
||||
|
||||
if (HAL_RX_GET_FRAME_CTRL_TYPE(fc) == HAL_RX_FRAME_CTRL_TYPE_CTRL) {
|
||||
if ((fc & QDF_IEEE80211_FC0_SUBTYPE_MASK) ==
|
||||
QDF_IEEE80211_FC0_SUBTYPE_VHT_NDP_AN)
|
||||
ppdu_info->ctrl_frm_info[user_id].ndpa = 1;
|
||||
if ((fc & QDF_IEEE80211_FC0_SUBTYPE_MASK) ==
|
||||
QDF_IEEE80211_FC0_SUBTYPE_BAR)
|
||||
ppdu_info->ctrl_frm_info[user_id].bar = 1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
hal_update_rx_ctrl_frame_stats(struct hal_rx_ppdu_info *ppdu_info,
|
||||
uint32_t user_id)
|
||||
{
|
||||
}
|
||||
#endif /* WLAN_SUPPORT_CTRL_FRAME_STATS */
|
||||
|
||||
/**
|
||||
* hal_rx_status_get_tlv_info() - process receive info TLV
|
||||
* @rx_tlv_hdr: pointer to TLV header
|
||||
@@ -1662,6 +1686,8 @@ hal_rx_status_get_tlv_info_generic_li(void *rx_tlv_hdr, void *ppduinfo,
|
||||
ppdu_info->rx_user_status[user_id].sw_peer_id =
|
||||
HAL_RX_GET_SW_PEER_ID(rx_mpdu_start);
|
||||
|
||||
hal_update_rx_ctrl_frame_stats(ppdu_info, user_id);
|
||||
|
||||
if (ppdu_info->sw_frame_group_id ==
|
||||
HAL_MPDU_SW_FRAME_GROUP_NULL_DATA) {
|
||||
ppdu_info->rx_status.frame_control_info_valid =
|
||||
|
Reference in New Issue
Block a user