qcacmn: Add RX ops to invoke DFS/REG APIs

Provide Global function pointers for accessing DFS/REG APIs that
1. Build channel list as per the configured HW Mode.
2. Reinitialize DFS timers after mode switch.
3. Reset ADFS Config.

CRs-Fixed: 2481535
Change-Id: Ied4d13b0c3ce39e696f273a7ac1f51962671c734
This commit is contained in:
Priyadarshnee S 2019-07-23 15:22:32 +05:30 • committed by nshrivas
commit 9d2d6e928b
2 changed files with 11 additions and 0 deletions

View file

@ -982,6 +982,8 @@ struct wlan_lmac_if_reg_rx_ops {
struct cur_regdmn_info *cur_regdmn);
QDF_STATUS (*reg_enable_dfs_channels)(struct wlan_objmgr_pdev *pdev,
bool dfs_enable);
QDF_STATUS (*reg_modify_pdev_chan_range)(struct
wlan_objmgr_pdev *pdev);
};
#ifdef CONVERGED_P2P_ENABLE
@ -1253,8 +1255,10 @@ struct wlan_lmac_if_wifi_pos_rx_ops {
* @dfs_dfs_cac_complete_ind: Process cac complete indication.
* @dfs_agile_precac_start: Initiate Agile PreCAC run.
* @dfs_set_agile_precac_state: Set agile precac state.
* @dfs_reset_adfs_config: Reset agile dfs variables.
* @dfs_dfs_ocac_complete_ind: Process offchan cac complete indication.
* @dfs_stop: Clear dfs timers.
* @dfs_reinit_timers: Reinitialize DFS timers.
* @dfs_enable_stadfs: Enable/Disable STADFS capability.
* @dfs_is_stadfs_enabled: Get STADFS capability value.
* @dfs_process_phyerr_filter_offload:Process radar event.
@ -1308,6 +1312,7 @@ struct wlan_lmac_if_dfs_rx_ops {
QDF_STATUS (*dfs_agile_precac_start)(struct wlan_objmgr_pdev *pdev);
QDF_STATUS (*dfs_set_agile_precac_state)(struct wlan_objmgr_pdev *pdev,
int agile_precac_state);
QDF_STATUS (*dfs_reset_adfs_config)(struct wlan_objmgr_psoc *psoc);
QDF_STATUS
(*dfs_dfs_ocac_complete_ind)(struct wlan_objmgr_pdev *pdev,
struct vdev_adfs_complete_status *ocac_st);
@ -1348,6 +1353,7 @@ struct wlan_lmac_if_dfs_rx_ops {
uint32_t vdev_id);
#endif
QDF_STATUS (*dfs_stop)(struct wlan_objmgr_pdev *pdev);
QDF_STATUS (*dfs_reinit_timers)(struct wlan_objmgr_pdev *pdev);
void (*dfs_enable_stadfs)(struct wlan_objmgr_pdev *pdev, bool val);
bool (*dfs_is_stadfs_enabled)(struct wlan_objmgr_pdev *pdev);
QDF_STATUS (*dfs_process_phyerr_filter_offload)(

View file

@ -323,6 +323,9 @@ static void wlan_lmac_if_umac_reg_rx_ops_register(
rx_ops->reg_rx_ops.reg_enable_dfs_channels =
ucfg_reg_enable_dfs_channels;
rx_ops->reg_rx_ops.reg_modify_pdev_chan_range =
wlan_reg_modify_pdev_chan_range;
}
#ifdef CONVERGED_P2P_ENABLE
@ -394,6 +397,7 @@ wlan_lmac_if_umac_dfs_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
tgt_dfs_set_agile_precac_state;
dfs_rx_ops->dfs_start_precac_timer = utils_dfs_start_precac_timer;
dfs_rx_ops->dfs_cancel_precac_timer = utils_dfs_cancel_precac_timer;
dfs_rx_ops->dfs_reset_adfs_config = ucfg_dfs_reset_agile_config;
dfs_rx_ops->dfs_override_precac_timeout =
ucfg_dfs_override_precac_timeout;
dfs_rx_ops->dfs_set_precac_enable = ucfg_dfs_set_precac_enable;
@ -405,6 +409,7 @@ wlan_lmac_if_umac_dfs_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
dfs_rx_ops->dfs_dfs_cac_complete_ind = tgt_dfs_cac_complete;
dfs_rx_ops->dfs_dfs_ocac_complete_ind = tgt_dfs_ocac_complete;
dfs_rx_ops->dfs_stop = tgt_dfs_stop;
dfs_rx_ops->dfs_reinit_timers = ucfg_dfs_reinit_timers;
dfs_rx_ops->dfs_enable_stadfs = tgt_dfs_enable_stadfs;
dfs_rx_ops->dfs_is_stadfs_enabled = tgt_dfs_is_stadfs_enabled;
dfs_rx_ops->dfs_process_phyerr_filter_offload =