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:

committed by
Madan Koyyalamudi

parent
559514f2b7
commit
2e2003d54f
@@ -922,12 +922,14 @@ cdp_get_pldev(ol_txrx_soc_handle soc, uint8_t pdev_id)
|
|||||||
* @pdev_id: ID of the physical device object
|
* @pdev_id: ID of the physical device object
|
||||||
* @enable: Enable or disable CFR
|
* @enable: Enable or disable CFR
|
||||||
* @filter_val: Flag to select filter for monitor mode
|
* @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
|
static inline void
|
||||||
cdp_cfr_filter(ol_txrx_soc_handle soc,
|
cdp_cfr_filter(ol_txrx_soc_handle soc,
|
||||||
uint8_t pdev_id,
|
uint8_t pdev_id,
|
||||||
bool enable,
|
bool enable, struct cdp_monitor_filter *filter_val,
|
||||||
struct cdp_monitor_filter *filter_val)
|
bool cfr_enable_monitor_mode)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops) {
|
if (!soc || !soc->ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
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)
|
if (!soc->ops->cfr_ops || !soc->ops->cfr_ops->txrx_cfr_filter)
|
||||||
return;
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -2060,7 +2060,8 @@ struct cdp_cfr_ops {
|
|||||||
void (*txrx_cfr_filter)(struct cdp_soc_t *soc_hdl,
|
void (*txrx_cfr_filter)(struct cdp_soc_t *soc_hdl,
|
||||||
uint8_t pdev_id,
|
uint8_t pdev_id,
|
||||||
bool enable,
|
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,
|
bool (*txrx_get_cfr_rcc)(struct cdp_soc_t *soc_hdl,
|
||||||
uint8_t pdev_id);
|
uint8_t pdev_id);
|
||||||
void (*txrx_set_cfr_rcc)(struct cdp_soc_t *soc_hdl,
|
void (*txrx_set_cfr_rcc)(struct cdp_soc_t *soc_hdl,
|
||||||
|
@@ -1067,13 +1067,16 @@ QDF_STATUS dp_mon_filter_update_1_0(struct dp_pdev *pdev)
|
|||||||
* @pdev_id: id of data path pdev handle
|
* @pdev_id: id of data path pdev handle
|
||||||
* @enable: Enable/Disable CFR
|
* @enable: Enable/Disable CFR
|
||||||
* @filter_val: Flag to select Filter for monitor mode
|
* @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
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void dp_cfr_filter_1_0(struct cdp_soc_t *soc_hdl,
|
static void dp_cfr_filter_1_0(struct cdp_soc_t *soc_hdl,
|
||||||
uint8_t pdev_id,
|
uint8_t pdev_id,
|
||||||
bool enable,
|
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_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
|
||||||
struct dp_pdev *pdev = NULL;
|
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;
|
mon_pdev = pdev->monitor_pdev;
|
||||||
|
|
||||||
if (mon_pdev->mvdev) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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
|
* @pdev_id: id of data path pdev handle
|
||||||
* @enable: Enable/Disable CFR
|
* @enable: Enable/Disable CFR
|
||||||
* @filter_val: Flag to select Filter for monitor mode
|
* @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
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void dp_cfr_filter_2_0(struct cdp_soc_t *soc_hdl,
|
static void dp_cfr_filter_2_0(struct cdp_soc_t *soc_hdl,
|
||||||
uint8_t pdev_id,
|
uint8_t pdev_id,
|
||||||
bool enable,
|
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_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
|
||||||
struct dp_pdev *pdev = NULL;
|
struct dp_pdev *pdev = NULL;
|
||||||
|
Reference in New Issue
Block a user