qcacmn: Make lite mon enum generic

-Some of the lite monitor enums can be used outside of
 lite monitor feature, make such enums generic.
-Some enums are redundant, remove such enums and make use
 of existing ones

Change-Id: I5125384ac5c4c55a57998fb5be5ee1ecb3e61147
CRs-Fixed: 3190754
This commit is contained in:
Jeevan Kukkalli
2022-05-06 00:17:53 +05:30
committed by Madan Koyyalamudi
parent 68d53d1631
commit ec2838ac4d
3 changed files with 43 additions and 42 deletions

View File

@@ -30,6 +30,9 @@
#define CDP_LITE_MON_PEER_MAX 16
#define CDP_MON_FRM_TYPE_MAX 3
#define CDP_MON_FRM_FILTER_MODE_MAX 4
#define CDP_LITE_MON_LEN_64B 0x40
#define CDP_LITE_MON_LEN_128B 0x80
#define CDP_LITE_MON_LEN_256B 0x100
@@ -40,20 +43,6 @@
/* This should align with nac mac type enumerations in ieee80211_ioctl.h */
#define CDP_LITE_MON_PEER_MAC_TYPE_CLIENT 2
/* lite mon filter modes */
enum cdp_lite_mon_filter_mode {
/* mode filter pass */
CDP_LITE_MON_MODE_FP = 0,
/* mode monitor direct */
CDP_LITE_MON_MODE_MD = 1,
/* mode monitor other */
CDP_LITE_MON_MODE_MO = 2,
/* mode filter pass monitor other */
CDP_LITE_MON_MODE_FP_MO = 3,
/* max filter modes */
CDP_LITE_MON_MODE_MAX = 4,
};
/* lite mon frame levels */
enum cdp_lite_mon_level {
/* level invalid */
@@ -66,18 +55,6 @@ enum cdp_lite_mon_level {
CDP_LITE_MON_LEVEL_PPDU = 3,
};
/* lite mon frame types */
enum cdp_lite_mon_frm_type {
/* frm type mgmt */
CDP_LITE_MON_FRM_TYPE_MGMT = 0,
/* frm type ctrl */
CDP_LITE_MON_FRM_TYPE_CTRL = 1,
/* frm type data */
CDP_LITE_MON_FRM_TYPE_DATA = 2,
/* max frame types */
CDP_LITE_MON_FRM_TYPE_MAX = 3,
};
/* lite mon peer action */
enum cdp_lite_mon_peer_action {
/* peer add */
@@ -472,10 +449,10 @@ struct cdp_lite_mon_filter_config {
uint8_t disable;
uint8_t level;
uint8_t metadata;
uint16_t mgmt_filter[CDP_LITE_MON_MODE_MAX];
uint16_t ctrl_filter[CDP_LITE_MON_MODE_MAX];
uint16_t data_filter[CDP_LITE_MON_MODE_MAX];
uint16_t len[CDP_LITE_MON_FRM_TYPE_MAX];
uint16_t mgmt_filter[CDP_MON_FRM_FILTER_MODE_MAX];
uint16_t ctrl_filter[CDP_MON_FRM_FILTER_MODE_MAX];
uint16_t data_filter[CDP_MON_FRM_FILTER_MODE_MAX];
uint16_t len[CDP_MON_FRM_TYPE_MAX];
uint8_t debug;
uint8_t vdev_id;
};

View File

@@ -35,6 +35,30 @@
#define DP_MON_MSDU_LOGGING 0
#define DP_MON_MPDU_LOGGING 1
/* monitor frame filter modes */
enum dp_mon_frm_filter_mode {
/* mode filter pass */
DP_MON_FRM_FILTER_MODE_FP = 0,
/* mode monitor direct */
DP_MON_FRM_FILTER_MODE_MD = 1,
/* mode monitor other */
DP_MON_FRM_FILTER_MODE_MO = 2,
/* mode filter pass monitor other */
DP_MON_FRM_FILTER_MODE_FP_MO = 3,
};
/* mpdu filter categories */
enum dp_mpdu_filter_category {
/* category filter pass */
DP_MPDU_FILTER_CATEGORY_FP = 0,
/* category monitor direct */
DP_MPDU_FILTER_CATEGORY_MD = 1,
/* category monitor other */
DP_MPDU_FILTER_CATEGORY_MO = 2,
/* category filter pass monitor override */
DP_MPDU_FILTER_CATEGORY_FP_MO = 3,
};
/**
* struct dp_mon_filter_be - Monitor TLV filter
* @rx_tlv_filter: Rx MON TLV filter

View File

@@ -2304,38 +2304,38 @@ dp_mon_filter_setup_rx_lite_mon(struct dp_mon_pdev_be *be_mon_pdev)
if (config->rx_config.fp_enabled) {
rx_tlv_filter->tlv_filter.enable_fp = 1;
rx_tlv_filter->tlv_filter.fp_mgmt_filter =
config->rx_config.mgmt_filter[CDP_LITE_MON_MODE_FP];
config->rx_config.mgmt_filter[DP_MON_FRM_FILTER_MODE_FP];
rx_tlv_filter->tlv_filter.fp_ctrl_filter =
config->rx_config.ctrl_filter[CDP_LITE_MON_MODE_FP];
config->rx_config.ctrl_filter[DP_MON_FRM_FILTER_MODE_FP];
rx_tlv_filter->tlv_filter.fp_data_filter =
config->rx_config.data_filter[CDP_LITE_MON_MODE_FP];
config->rx_config.data_filter[DP_MON_FRM_FILTER_MODE_FP];
}
/* configure md filters if enabled */
if (config->rx_config.md_enabled) {
rx_tlv_filter->tlv_filter.enable_md = 1;
rx_tlv_filter->tlv_filter.md_mgmt_filter =
config->rx_config.mgmt_filter[CDP_LITE_MON_MODE_MD];
config->rx_config.mgmt_filter[DP_MON_FRM_FILTER_MODE_MD];
rx_tlv_filter->tlv_filter.md_ctrl_filter =
config->rx_config.ctrl_filter[CDP_LITE_MON_MODE_MD];
config->rx_config.ctrl_filter[DP_MON_FRM_FILTER_MODE_MD];
rx_tlv_filter->tlv_filter.md_data_filter =
config->rx_config.data_filter[CDP_LITE_MON_MODE_MD];
config->rx_config.data_filter[DP_MON_FRM_FILTER_MODE_MD];
}
/* configure mo filters if enabled */
if (config->rx_config.mo_enabled) {
rx_tlv_filter->tlv_filter.enable_mo = 1;
rx_tlv_filter->tlv_filter.mo_mgmt_filter =
config->rx_config.mgmt_filter[CDP_LITE_MON_MODE_MO];
config->rx_config.mgmt_filter[DP_MON_FRM_FILTER_MODE_MO];
rx_tlv_filter->tlv_filter.mo_ctrl_filter =
config->rx_config.ctrl_filter[CDP_LITE_MON_MODE_MO];
config->rx_config.ctrl_filter[DP_MON_FRM_FILTER_MODE_MO];
rx_tlv_filter->tlv_filter.mo_data_filter =
config->rx_config.data_filter[CDP_LITE_MON_MODE_MO];
config->rx_config.data_filter[DP_MON_FRM_FILTER_MODE_MO];
}
mgmt_len = config->rx_config.len[CDP_LITE_MON_FRM_TYPE_MGMT];
ctrl_len = config->rx_config.len[CDP_LITE_MON_FRM_TYPE_CTRL];
data_len = config->rx_config.len[CDP_LITE_MON_FRM_TYPE_DATA];
mgmt_len = config->rx_config.len[WLAN_FC0_TYPE_MGMT];
ctrl_len = config->rx_config.len[WLAN_FC0_TYPE_CTRL];
data_len = config->rx_config.len[WLAN_FC0_TYPE_DATA];
/* if full len is configured for any of the types, subscribe
* for full dma length else set it to min dma length(fw sets
* full length by default) to avoid unnecessary dma since we