qcacmn: Add states events and API declarations for RCAC SM
As part of the Rolling CAC State Machine, introduce three state enums (INIT, RUNNING and COMPLETE) and the corresponding state events. Introduce generic APIs such as dfs_rcac_sm_create, dfs_rcac_sm_destroy and dfs_rcac_sm_deliver_evt for rolling CAC State machine operations. CRs-Fixed: 2659666 Change-Id: I528db71aa7d21dced7e47ff4f9cccfbfe94c8c21
这个提交包含在:
@@ -198,6 +198,9 @@ static QDF_STATUS dfs_psoc_obj_create_notification(struct wlan_objmgr_psoc *psoc
|
||||
/* Initialize Rolling CAC timer */
|
||||
dfs_rcac_timer_init(dfs_soc_obj);
|
||||
|
||||
/* DFS Rolling CAC SM initialization */
|
||||
dfs_rcac_sm_create(dfs_soc_obj);
|
||||
|
||||
dfs_debug(NULL, WLAN_DEBUG_DFS1,
|
||||
"DFS obj attach to psoc successfully");
|
||||
|
||||
@@ -225,6 +228,9 @@ static QDF_STATUS dfs_psoc_obj_destroy_notification(struct wlan_objmgr_psoc *pso
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
/* Delete DFS Rolling CAC SM */
|
||||
dfs_rcac_sm_destroy(dfs_soc_obj);
|
||||
|
||||
dfs_rcac_timer_deinit(dfs_soc_obj);
|
||||
dfs_zero_cac_timer_detach(dfs_soc_obj);
|
||||
|
||||
|
@@ -1618,3 +1618,27 @@ void utils_dfs_reset_dfs_prevchan(struct wlan_objmgr_pdev *pdev)
|
||||
|
||||
dfs_reset_dfs_prevchan(dfs);
|
||||
}
|
||||
|
||||
#ifdef QCA_SUPPORT_ADFS_RCAC
|
||||
void utils_dfs_rcac_sm_deliver_evt(struct wlan_objmgr_pdev *pdev,
|
||||
enum dfs_rcac_sm_evt event,
|
||||
uint16_t event_data_len,
|
||||
void *event_data)
|
||||
{
|
||||
struct wlan_dfs *dfs;
|
||||
|
||||
if (!tgt_dfs_is_pdev_5ghz(pdev))
|
||||
return;
|
||||
|
||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
||||
if (!dfs) {
|
||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "dfs is null");
|
||||
return;
|
||||
}
|
||||
|
||||
dfs_rcac_sm_deliver_evt(dfs->dfs_soc_obj,
|
||||
event,
|
||||
event_data_len,
|
||||
event_data);
|
||||
}
|
||||
#endif /* QCA_SUPPORT_ADFS_RCAC */
|
||||
|
在新工单中引用
屏蔽一个用户