qcacmn: Changes to enable CFR on special vap

This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
This commit is contained in:
Nidhi Jain
2022-11-02 09:23:49 +05:30
committed by Madan Koyyalamudi
parent 559514f2b7
commit 2e2003d54f
4 changed files with 20 additions and 7 deletions

View File

@@ -922,12 +922,14 @@ cdp_get_pldev(ol_txrx_soc_handle soc, uint8_t pdev_id)
* @pdev_id: ID of the physical device object
* @enable: Enable or disable CFR
* @filter_val: Flag to select filter for monitor mode
* @cfr_enable_monitor_mode: Flag to be enabled when scan radio is brought up
* in special vap mode
*/
static inline void
cdp_cfr_filter(ol_txrx_soc_handle soc,
uint8_t pdev_id,
bool enable,
struct cdp_monitor_filter *filter_val)
bool enable, struct cdp_monitor_filter *filter_val,
bool cfr_enable_monitor_mode)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
@@ -939,7 +941,8 @@ cdp_cfr_filter(ol_txrx_soc_handle soc,
if (!soc->ops->cfr_ops || !soc->ops->cfr_ops->txrx_cfr_filter)
return;
soc->ops->cfr_ops->txrx_cfr_filter(soc, pdev_id, enable, filter_val);
soc->ops->cfr_ops->txrx_cfr_filter(soc, pdev_id, enable, filter_val,
cfr_enable_monitor_mode);
}
/**

View File

@@ -2060,7 +2060,8 @@ struct cdp_cfr_ops {
void (*txrx_cfr_filter)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id,
bool enable,
struct cdp_monitor_filter *filter_val);
struct cdp_monitor_filter *filter_val,
bool cfr_enable_monitor_mode);
bool (*txrx_get_cfr_rcc)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id);
void (*txrx_set_cfr_rcc)(struct cdp_soc_t *soc_hdl,

View File

@@ -1067,13 +1067,16 @@ QDF_STATUS dp_mon_filter_update_1_0(struct dp_pdev *pdev)
* @pdev_id: id of data path pdev handle
* @enable: Enable/Disable CFR
* @filter_val: Flag to select Filter for monitor mode
* @cfr_enable_monitor_mode: Flag to be enabled when scan radio is brought up
* in special vap mode
*
* Return: void
*/
static void dp_cfr_filter_1_0(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id,
bool enable,
struct cdp_monitor_filter *filter_val)
struct cdp_monitor_filter *filter_val,
bool cfr_enable_monitor_mode)
{
struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
struct dp_pdev *pdev = NULL;
@@ -1091,7 +1094,10 @@ static void dp_cfr_filter_1_0(struct cdp_soc_t *soc_hdl,
mon_pdev = pdev->monitor_pdev;
if (mon_pdev->mvdev) {
dp_mon_info("No action is needed since mon mode is enabled\n");
if (enable && cfr_enable_monitor_mode)
pdev->cfr_rcc_mode = true;
else
pdev->cfr_rcc_mode = false;
return;
}

View File

@@ -3192,13 +3192,16 @@ dp_mon_filter_setup_tx_lite_mon(struct dp_mon_pdev_be *be_mon_pdev)
* @pdev_id: id of data path pdev handle
* @enable: Enable/Disable CFR
* @filter_val: Flag to select Filter for monitor mode
* @cfr_enable_monitor_mode: Flag to be enabled when scan radio is brought up
* in special vap mode
*
* Return: void
*/
static void dp_cfr_filter_2_0(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id,
bool enable,
struct cdp_monitor_filter *filter_val)
struct cdp_monitor_filter *filter_val,
bool cfr_enable_monitor_mode)
{
struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
struct dp_pdev *pdev = NULL;