qcacmn: removal of pre-lithium Spooftest code
Add spoof test code under the macros : Spoof and partial offload Change-Id: I17c2c911b41cefc9160885cd028cdebb0225d0da
This commit is contained in:

committed by
Madan Koyyalamudi

parent
d0b50dd6b8
commit
102c051570
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
@@ -409,6 +410,20 @@ static QDF_STATUS target_send_dfs_offload_enable_cmd(
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
|
static void target_if_register_dfs_tx_ops_send_avg(
|
||||||
|
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops)
|
||||||
|
{
|
||||||
|
dfs_tx_ops->dfs_send_avg_radar_params_to_fw =
|
||||||
|
&target_if_dfs_send_avg_params_to_fw;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline void target_if_register_dfs_tx_ops_send_avg(
|
||||||
|
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QDF_STATUS target_if_register_dfs_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
|
QDF_STATUS target_if_register_dfs_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
|
||||||
{
|
{
|
||||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||||
@@ -435,8 +450,9 @@ QDF_STATUS target_if_register_dfs_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
|
|||||||
&target_if_dfs_set_phyerr_filter_offload;
|
&target_if_dfs_set_phyerr_filter_offload;
|
||||||
|
|
||||||
dfs_tx_ops->dfs_get_caps = &target_if_dfs_get_caps;
|
dfs_tx_ops->dfs_get_caps = &target_if_dfs_get_caps;
|
||||||
dfs_tx_ops->dfs_send_avg_radar_params_to_fw =
|
|
||||||
&target_if_dfs_send_avg_params_to_fw;
|
target_if_register_dfs_tx_ops_send_avg(dfs_tx_ops);
|
||||||
|
|
||||||
dfs_tx_ops->dfs_is_tgt_offload = &target_if_dfs_offload;
|
dfs_tx_ops->dfs_is_tgt_offload = &target_if_dfs_offload;
|
||||||
dfs_tx_ops->dfs_is_tgt_radar_found_chan_freq_eq_center_freq =
|
dfs_tx_ops->dfs_is_tgt_radar_found_chan_freq_eq_center_freq =
|
||||||
&target_if_dfs_is_radar_found_chan_freq_eq_center_freq;
|
&target_if_dfs_is_radar_found_chan_freq_eq_center_freq;
|
||||||
|
@@ -1421,6 +1421,20 @@ void dfs_radarfound_action_generic(struct wlan_dfs *dfs, uint8_t seg_id)
|
|||||||
qdf_mem_free(radar_found);
|
qdf_mem_free(radar_found);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
|
static bool dfs_is_spoof_needed(struct wlan_dfs *dfs)
|
||||||
|
{
|
||||||
|
return ((utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_FCC_DOMAIN) &&
|
||||||
|
(lmac_is_host_dfs_check_support_enabled(dfs->dfs_pdev_obj)) &&
|
||||||
|
(dfs->dfs_spoof_test_done ? dfs->dfs_use_nol : 1));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline bool dfs_is_spoof_needed(struct wlan_dfs *dfs)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dfs_radar_found_action() - Radar found action
|
* dfs_radar_found_action() - Radar found action
|
||||||
* @dfs: Pointer to wlan_dfs structure.
|
* @dfs: Pointer to wlan_dfs structure.
|
||||||
@@ -1436,10 +1450,7 @@ static void dfs_radar_found_action(struct wlan_dfs *dfs,
|
|||||||
* average radar parameters to FW and start the host status
|
* average radar parameters to FW and start the host status
|
||||||
* wait timer.
|
* wait timer.
|
||||||
*/
|
*/
|
||||||
if (!bangradar &&
|
if (!bangradar && dfs_is_spoof_needed(dfs)) {
|
||||||
(utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_FCC_DOMAIN) &&
|
|
||||||
lmac_is_host_dfs_check_support_enabled(dfs->dfs_pdev_obj) &&
|
|
||||||
(dfs->dfs_spoof_test_done ? dfs->dfs_use_nol : 1)) {
|
|
||||||
dfs_radarfound_action_fcc(dfs, seg_id);
|
dfs_radarfound_action_fcc(dfs, seg_id);
|
||||||
} else {
|
} else {
|
||||||
dfs_radarfound_action_generic(dfs, seg_id);
|
dfs_radarfound_action_generic(dfs, seg_id);
|
||||||
|
@@ -174,8 +174,10 @@ struct dfs_to_mlme {
|
|||||||
uint64_t dfs_ch_flags,
|
uint64_t dfs_ch_flags,
|
||||||
int *cac_timeout);
|
int *cac_timeout);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
QDF_STATUS (*mlme_rebuild_chan_list_with_non_dfs_channels)
|
QDF_STATUS (*mlme_rebuild_chan_list_with_non_dfs_channels)
|
||||||
(struct wlan_objmgr_pdev *pdev);
|
(struct wlan_objmgr_pdev *pdev);
|
||||||
|
#endif
|
||||||
QDF_STATUS (*mlme_restart_vaps_with_non_dfs_chan)
|
QDF_STATUS (*mlme_restart_vaps_with_non_dfs_chan)
|
||||||
(struct wlan_objmgr_pdev *pdev, int no_chans_avail);
|
(struct wlan_objmgr_pdev *pdev, int no_chans_avail);
|
||||||
bool (*mlme_check_allowed_prim_chanlist)
|
bool (*mlme_check_allowed_prim_chanlist)
|
||||||
@@ -194,8 +196,10 @@ struct dfs_to_mlme {
|
|||||||
(struct wlan_objmgr_pdev *pdev);
|
(struct wlan_objmgr_pdev *pdev);
|
||||||
void (*mlme_release_radar_mode_switch_lock)
|
void (*mlme_release_radar_mode_switch_lock)
|
||||||
(struct wlan_objmgr_pdev *pdev);
|
(struct wlan_objmgr_pdev *pdev);
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
QDF_STATUS (*mlme_proc_spoof_success)
|
QDF_STATUS (*mlme_proc_spoof_success)
|
||||||
(struct wlan_objmgr_pdev *pdev);
|
(struct wlan_objmgr_pdev *pdev);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct dfs_to_mlme global_dfs_to_mlme;
|
extern struct dfs_to_mlme global_dfs_to_mlme;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
*
|
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -120,6 +120,22 @@ register_dfs_callbacks_for_freq(struct dfs_to_mlme *mlme_callback)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
|
static void register_dfs_callbacks_spoof_success_failure(
|
||||||
|
struct dfs_to_mlme *tmp_dfs_to_mlme)
|
||||||
|
{
|
||||||
|
tmp_dfs_to_mlme->mlme_rebuild_chan_list_with_non_dfs_channels =
|
||||||
|
mlme_dfs_rebuild_chan_list_with_non_dfs_channels;
|
||||||
|
tmp_dfs_to_mlme->mlme_proc_spoof_success =
|
||||||
|
mlme_dfs_proc_spoof_success;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline void register_dfs_callbacks_spoof_success_failure(
|
||||||
|
struct dfs_to_mlme *tmp_dfs_to_mlme)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef MOBILE_DFS_SUPPORT
|
#ifndef MOBILE_DFS_SUPPORT
|
||||||
void register_dfs_callbacks(void)
|
void register_dfs_callbacks(void)
|
||||||
{
|
{
|
||||||
@@ -143,8 +159,9 @@ void register_dfs_callbacks(void)
|
|||||||
tmp_dfs_to_mlme->mlme_nol_timeout_notification =
|
tmp_dfs_to_mlme->mlme_nol_timeout_notification =
|
||||||
mlme_dfs_nol_timeout_notification;
|
mlme_dfs_nol_timeout_notification;
|
||||||
tmp_dfs_to_mlme->mlme_clist_update = mlme_dfs_clist_update;
|
tmp_dfs_to_mlme->mlme_clist_update = mlme_dfs_clist_update;
|
||||||
tmp_dfs_to_mlme->mlme_rebuild_chan_list_with_non_dfs_channels =
|
|
||||||
mlme_dfs_rebuild_chan_list_with_non_dfs_channels;
|
register_dfs_callbacks_spoof_success_failure(tmp_dfs_to_mlme);
|
||||||
|
|
||||||
tmp_dfs_to_mlme->mlme_restart_vaps_with_non_dfs_chan =
|
tmp_dfs_to_mlme->mlme_restart_vaps_with_non_dfs_chan =
|
||||||
mlme_dfs_restart_vaps_with_non_dfs_chan;
|
mlme_dfs_restart_vaps_with_non_dfs_chan;
|
||||||
tmp_dfs_to_mlme->mlme_is_opmode_sta =
|
tmp_dfs_to_mlme->mlme_is_opmode_sta =
|
||||||
@@ -166,8 +183,6 @@ void register_dfs_callbacks(void)
|
|||||||
mlme_release_radar_mode_switch_lock;
|
mlme_release_radar_mode_switch_lock;
|
||||||
tmp_dfs_to_mlme->mlme_mark_dfs =
|
tmp_dfs_to_mlme->mlme_mark_dfs =
|
||||||
mlme_dfs_mark_dfs;
|
mlme_dfs_mark_dfs;
|
||||||
tmp_dfs_to_mlme->mlme_proc_spoof_success =
|
|
||||||
mlme_dfs_proc_spoof_success;
|
|
||||||
/*
|
/*
|
||||||
* Register precac auto channel switch feature related callbacks
|
* Register precac auto channel switch feature related callbacks
|
||||||
*/
|
*/
|
||||||
|
@@ -1922,8 +1922,10 @@ struct wlan_lmac_if_dfs_rx_ops {
|
|||||||
QDF_STATUS (*dfs_is_phyerr_filter_offload)(
|
QDF_STATUS (*dfs_is_phyerr_filter_offload)(
|
||||||
struct wlan_objmgr_psoc *psoc,
|
struct wlan_objmgr_psoc *psoc,
|
||||||
bool *is_phyerr_filter_offload);
|
bool *is_phyerr_filter_offload);
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
QDF_STATUS (*dfs_action_on_status)(struct wlan_objmgr_pdev *pdev,
|
QDF_STATUS (*dfs_action_on_status)(struct wlan_objmgr_pdev *pdev,
|
||||||
u_int32_t *dfs_status_check);
|
u_int32_t *dfs_status_check);
|
||||||
|
#endif
|
||||||
QDF_STATUS (*dfs_override_status_timeout)(
|
QDF_STATUS (*dfs_override_status_timeout)(
|
||||||
struct wlan_objmgr_pdev *pdev,
|
struct wlan_objmgr_pdev *pdev,
|
||||||
int status_timeout);
|
int status_timeout);
|
||||||
|
@@ -638,6 +638,19 @@ wlan_lmac_if_mgmt_txrx_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
|
|||||||
return wlan_lmac_if_mgmt_rx_reo_rx_ops_register(mgmt_txrx_rx_ops);
|
return wlan_lmac_if_mgmt_rx_reo_rx_ops_register(mgmt_txrx_rx_ops);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
|
static void dfs_action_on_status_assign(
|
||||||
|
struct wlan_lmac_if_dfs_rx_ops *dfs_rx_ops)
|
||||||
|
{
|
||||||
|
dfs_rx_ops->dfs_action_on_status = tgt_dfs_action_on_status_from_fw;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline void dfs_action_on_status_assign(
|
||||||
|
struct wlan_lmac_if_dfs_rx_ops *dfs_rx_ops)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static QDF_STATUS
|
static QDF_STATUS
|
||||||
wlan_lmac_if_umac_dfs_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
|
wlan_lmac_if_umac_dfs_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
|
||||||
{
|
{
|
||||||
@@ -678,7 +691,9 @@ wlan_lmac_if_umac_dfs_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
|
|||||||
tgt_dfs_process_phyerr_filter_offload;
|
tgt_dfs_process_phyerr_filter_offload;
|
||||||
dfs_rx_ops->dfs_is_phyerr_filter_offload =
|
dfs_rx_ops->dfs_is_phyerr_filter_offload =
|
||||||
tgt_dfs_is_phyerr_filter_offload;
|
tgt_dfs_is_phyerr_filter_offload;
|
||||||
dfs_rx_ops->dfs_action_on_status = tgt_dfs_action_on_status_from_fw;
|
|
||||||
|
dfs_action_on_status_assign(dfs_rx_ops);
|
||||||
|
|
||||||
dfs_rx_ops->dfs_override_status_timeout =
|
dfs_rx_ops->dfs_override_status_timeout =
|
||||||
ucfg_dfs_set_override_status_timeout;
|
ucfg_dfs_set_override_status_timeout;
|
||||||
dfs_rx_ops->dfs_get_override_status_timeout =
|
dfs_rx_ops->dfs_get_override_status_timeout =
|
||||||
|
Reference in New Issue
Block a user