qcacmn: Scan radio special vap stats support
-Add flag to inidicate special vap configuration -Add frame type counters while processing tlv WIFIRX_MPDU_START_E -Add function to update special vap rx stats -Add dp pdev param to enable/disable special vap stats reset -Add function to reset special vap stats -Add fucntion to get special vap stats -Add CDP function to retreive special vap stats Change-Id: Ia5de6743e472dc86c9e66b9e789c909a57025e35 CRs-Fixed: 3005425
This commit is contained in:

committed by
Madan Koyyalamudi

parent
693dbbdf2f
commit
1665e7c8e5
@@ -162,6 +162,13 @@
|
||||
/* Max pilot count */
|
||||
#define HAL_RX_MAX_SU_EVM_COUNT 32
|
||||
|
||||
#define HAL_RX_FRAMECTRL_TYPE_MASK 0x0C
|
||||
#define HAL_RX_GET_FRAME_CTRL_TYPE(fc)\
|
||||
(((fc) & HAL_RX_FRAMECTRL_TYPE_MASK) >> 2)
|
||||
#define HAL_RX_FRAME_CTRL_TYPE_MGMT 0x0
|
||||
#define HAL_RX_FRAME_CTRL_TYPE_CTRL 0x1
|
||||
#define HAL_RX_FRAME_CTRL_TYPE_DATA 0x2
|
||||
|
||||
/**
|
||||
* struct hal_rx_mon_desc_info () - HAL Rx Monitor descriptor info
|
||||
*
|
||||
@@ -656,6 +663,12 @@ struct mon_rx_user_info {
|
||||
uint8_t qos_control_info_valid;
|
||||
};
|
||||
|
||||
struct hal_rx_frm_type_info {
|
||||
uint32_t rx_mgmt_cnt;
|
||||
uint32_t rx_ctrl_cnt;
|
||||
uint32_t rx_data_cnt;
|
||||
};
|
||||
|
||||
struct hal_rx_ppdu_info {
|
||||
struct hal_rx_ppdu_common_info com_info;
|
||||
struct mon_rx_status rx_status;
|
||||
@@ -693,6 +706,8 @@ struct hal_rx_ppdu_info {
|
||||
* and for CFR correlation as well
|
||||
*/
|
||||
struct hal_rx_ppdu_cfr_info cfr_info;
|
||||
/* per frame type counts */
|
||||
struct hal_rx_frm_type_info frm_type_info;
|
||||
};
|
||||
|
||||
static inline uint32_t
|
||||
|
@@ -1494,6 +1494,21 @@ hal_rx_status_get_tlv_info_generic_li(void *rx_tlv_hdr, void *ppduinfo,
|
||||
uint8_t *rx_mpdu_start = (uint8_t *)rx_tlv;
|
||||
uint32_t ppdu_id = HAL_RX_GET_PPDU_ID(rx_mpdu_start);
|
||||
uint8_t filter_category = 0;
|
||||
uint16_t frame_ctrl;
|
||||
uint8_t fc_type;
|
||||
|
||||
if (HAL_RX_GET_FC_VALID(rx_mpdu_start)) {
|
||||
frame_ctrl = HAL_RX_GET(rx_mpdu_start,
|
||||
RX_MPDU_INFO_14,
|
||||
MPDU_FRAME_CONTROL_FIELD);
|
||||
fc_type = HAL_RX_GET_FRAME_CTRL_TYPE(frame_ctrl);
|
||||
if (fc_type == HAL_RX_FRAME_CTRL_TYPE_MGMT)
|
||||
ppdu_info->frm_type_info.rx_mgmt_cnt++;
|
||||
else if (fc_type == HAL_RX_FRAME_CTRL_TYPE_CTRL)
|
||||
ppdu_info->frm_type_info.rx_ctrl_cnt++;
|
||||
else if (fc_type == HAL_RX_FRAME_CTRL_TYPE_DATA)
|
||||
ppdu_info->frm_type_info.rx_data_cnt++;
|
||||
}
|
||||
|
||||
ppdu_info->nac_info.fc_valid =
|
||||
HAL_RX_GET_FC_VALID(rx_mpdu_start);
|
||||
|
Reference in New Issue
Block a user