qcacld-3.0: Move pre cac success code to pre cac component
Move pre cac success code to pre cac component. Change-Id: I9d4f6c52ada96905e185fecef6556c59e05ab284 CRs-Fixed: 3199947
This commit is contained in:

committed by
Madan Koyyalamudi

parent
8ed92a56e6
commit
2bbdc1835e
@@ -28,6 +28,150 @@
|
||||
|
||||
struct pre_cac_ops *glbl_pre_cac_ops;
|
||||
|
||||
void pre_cac_set_freq(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return;
|
||||
|
||||
vdev_priv->pre_cac_freq = freq;
|
||||
}
|
||||
|
||||
qdf_freq_t pre_cac_get_freq(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return 0;
|
||||
|
||||
return vdev_priv->pre_cac_freq;
|
||||
}
|
||||
|
||||
void pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return;
|
||||
|
||||
vdev_priv->freq_before_pre_cac = freq;
|
||||
}
|
||||
|
||||
qdf_freq_t pre_cac_get_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return 0;
|
||||
|
||||
return vdev_priv->freq_before_pre_cac;
|
||||
}
|
||||
|
||||
void pre_cac_adapter_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
if (!vdev) {
|
||||
pre_cac_debug("vdev is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return;
|
||||
|
||||
vdev_priv->is_pre_cac_adapter = status;
|
||||
}
|
||||
|
||||
bool pre_cac_adapter_is_active(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
if (!vdev) {
|
||||
pre_cac_debug("vdev is NULL");
|
||||
return false;
|
||||
}
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return false;
|
||||
|
||||
return vdev_priv->is_pre_cac_adapter;
|
||||
}
|
||||
|
||||
void pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
if (!vdev) {
|
||||
pre_cac_debug("vdev is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return;
|
||||
|
||||
vdev_priv->pre_cac_complete = status;
|
||||
}
|
||||
|
||||
bool pre_cac_complete_get(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct pre_cac_vdev_priv *vdev_priv;
|
||||
|
||||
vdev_priv = pre_cac_vdev_get_priv(vdev);
|
||||
if (!vdev_priv)
|
||||
return false;
|
||||
|
||||
return vdev_priv->pre_cac_complete;
|
||||
}
|
||||
|
||||
static void pre_cac_complete(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS status)
|
||||
{
|
||||
if (glbl_pre_cac_ops &&
|
||||
glbl_pre_cac_ops->pre_cac_complete_cb)
|
||||
glbl_pre_cac_ops->pre_cac_complete_cb(vdev, status);
|
||||
}
|
||||
|
||||
static void pre_cac_handle_success(void *data)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev = (struct wlan_objmgr_vdev *)data;
|
||||
|
||||
pre_cac_complete(vdev, QDF_STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
static void pre_cac_conditional_csa_ind(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id, bool status)
|
||||
{
|
||||
if (glbl_pre_cac_ops &&
|
||||
glbl_pre_cac_ops->pre_cac_conditional_csa_ind_cb)
|
||||
glbl_pre_cac_ops->pre_cac_conditional_csa_ind_cb(psoc,
|
||||
vdev_id, status);
|
||||
}
|
||||
|
||||
void pre_cac_handle_cac_end(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = wlan_vdev_get_psoc(vdev);
|
||||
struct pre_cac_psoc_priv *psoc_priv = pre_cac_psoc_get_priv(psoc);
|
||||
|
||||
pre_cac_conditional_csa_ind(psoc, vdev->vdev_objmgr.vdev_id, true);
|
||||
|
||||
qdf_create_work(0, &psoc_priv->pre_cac_work,
|
||||
pre_cac_handle_success,
|
||||
vdev);
|
||||
qdf_sched_work(0, &psoc_priv->pre_cac_work);
|
||||
}
|
||||
|
||||
static void pre_cac_get_vdev_id_handler(struct wlan_objmgr_psoc *psoc,
|
||||
void *obj, void *args)
|
||||
{
|
||||
|
@@ -61,9 +61,17 @@
|
||||
/**
|
||||
* struct pre_cac_vdev_priv - Private object to be stored in vdev
|
||||
* @is_pre_cac_on: status of pre_cac
|
||||
* @pre_cac_complete: pre cac complete status
|
||||
* @is_pre_cac_adapter: pre cac adapter status
|
||||
* @freq_before_pre_cac: frequency before pre cac
|
||||
* @pre_cac_freq: pre cac frequency
|
||||
*/
|
||||
struct pre_cac_vdev_priv {
|
||||
bool is_pre_cac_on;
|
||||
bool pre_cac_complete;
|
||||
bool is_pre_cac_adapter;
|
||||
qdf_freq_t freq_before_pre_cac;
|
||||
qdf_freq_t pre_cac_freq;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -225,4 +233,84 @@ QDF_STATUS pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status);
|
||||
*/
|
||||
void pre_cac_get_vdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *vdev_id);
|
||||
|
||||
/**
|
||||
* pre_cac_handle_cac_end() - Handle pre cac end
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void pre_cac_handle_cac_end(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pre_cac_complete_set() - Set pre cac complete status
|
||||
* @vdev: vdev object manager
|
||||
* @status: status
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status);
|
||||
|
||||
/**
|
||||
* pre_cac_complete_get() - Get pre cac complete status
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac complete status
|
||||
*/
|
||||
bool pre_cac_complete_get(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pre_cac_adapter_set() - Set pre cac adapter flag
|
||||
* @vdev: vdev object manager
|
||||
* @status: status
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void pre_cac_adapter_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status);
|
||||
|
||||
/**
|
||||
* pre_cac_adapter_is_active() - Get pre cac adapter status
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac adapter status
|
||||
*/
|
||||
bool pre_cac_adapter_is_active(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pre_cac_set_freq_before_pre_cac() - Set frequency before pre cac
|
||||
* @vdev: vdev object manager
|
||||
* @freq: frequency before pre cac
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* pre_cac_get_freq_before_pre_cac() - Get frequency before pre cac
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: frequency before pre cac
|
||||
*/
|
||||
qdf_freq_t pre_cac_get_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pre_cac_set_freq() - Set pre cac frequency
|
||||
* @vdev: vdev object manager
|
||||
* @freq: pre cac frequency
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void pre_cac_set_freq(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* pre_cac_get_freq() - Get pre cac frequency
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac frequency
|
||||
*/
|
||||
qdf_freq_t pre_cac_get_freq(struct wlan_objmgr_vdev *vdev);
|
||||
#endif /* end of _WLAN_PRE_CAC_MAIN_H_ */
|
||||
|
@@ -40,6 +40,51 @@ bool wlan_pre_cac_get_status(struct wlan_objmgr_psoc *psoc);
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlan_pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status);
|
||||
|
||||
/**
|
||||
* wlan_pre_cac_handle_cac_end() - Handle pre cac end
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_pre_cac_handle_cac_end(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* wlan_pre_cac_complete_set() - Set pre cac complete status
|
||||
* @vdev: vdev object manager
|
||||
* @status: status
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status);
|
||||
|
||||
/**
|
||||
* wlan_pre_cac_complete_get() - Get pre cac complete status
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac complete status
|
||||
*/
|
||||
bool wlan_pre_cac_complete_get(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* pre_cac_set_freq_before_pre_cac() - Set frequency before pre cac
|
||||
* @vdev: vdev object manager
|
||||
* @freq: frequency
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* pre_cac_get_freq_before_pre_cac() - Get frequency before pre cac
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: Frequency before pre cac
|
||||
*/
|
||||
qdf_freq_t
|
||||
wlan_pre_cac_get_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev);
|
||||
#else
|
||||
static inline bool wlan_pre_cac_get_status(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
@@ -51,5 +96,34 @@ wlan_pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_pre_cac_handle_cac_end(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
}
|
||||
|
||||
static inline bool
|
||||
wlan_pre_cac_complete_get(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
}
|
||||
|
||||
static inline qdf_freq_t
|
||||
wlan_pre_cac_get_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* PRE_CAC_SUPPORT */
|
||||
#endif /* _WLAN_PRE_CAC_API_H_ */
|
||||
|
@@ -17,10 +17,19 @@
|
||||
#ifndef _WLAN_PRE_CAC_PUBLIC_STRUCT_H_
|
||||
#define _WLAN_PRE_CAC_PUBLIC_STRUCT_H_
|
||||
|
||||
#include "wlan_objmgr_psoc_obj.h"
|
||||
|
||||
/**
|
||||
* pre_cac_ops: pre cac osif callbacks
|
||||
* @pre_cac_send_conditional_freq_switch_status: send conditional frequency
|
||||
* switch status
|
||||
* @pre_cac_complete_cb: Pre cac complete callback
|
||||
*/
|
||||
struct pre_cac_ops {
|
||||
void (*pre_cac_conditional_csa_ind_cb)(
|
||||
struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
||||
bool status);
|
||||
void (*pre_cac_complete_cb)(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS status);
|
||||
};
|
||||
|
||||
#endif /* _WLAN_PRE_CAC_PUBLIC_STRUCT_H_ */
|
||||
|
@@ -106,6 +106,70 @@ ucfg_pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status)
|
||||
*/
|
||||
void ucfg_pre_cac_get_vdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *vdev_id);
|
||||
|
||||
/**
|
||||
* ucfg_pre_cac_adapter_set() - Set pre cac adapter flag
|
||||
* @vdev: vdev object manager
|
||||
* @status: status
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_pre_cac_adapter_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status);
|
||||
|
||||
/**
|
||||
* ucfg_pre_cac_adapter_is_active() - Get pre cac adapter status
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac complete status
|
||||
*/
|
||||
bool ucfg_pre_cac_adapter_is_active(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
#if defined(FEATURE_SAP_COND_CHAN_SWITCH)
|
||||
/**
|
||||
* pre_cac_set_freq_before_pre_cac() - Set frequency before pre cac
|
||||
* @vdev: vdev object manager
|
||||
* @freq: frequency
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq);
|
||||
#else
|
||||
static inline void
|
||||
ucfg_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ucfg_pre_cac_set_freq() - Set pre cac frequency
|
||||
* @vdev: vdev object manager
|
||||
* @freq: pre cac frequency
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_pre_cac_set_freq(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* ucfg_pre_cac_get_freq() - Get pre cac frequency
|
||||
* @vdev: vdev object manager
|
||||
*
|
||||
* Return: pre cac frequency
|
||||
*/
|
||||
qdf_freq_t ucfg_pre_cac_get_freq(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* ucfg_pre_cac_complete_set() - Set pre cac complete status
|
||||
* @vdev: vdev object manager
|
||||
* @status: status
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status);
|
||||
#else
|
||||
static inline
|
||||
QDF_STATUS ucfg_pre_cac_init(void)
|
||||
@@ -148,5 +212,23 @@ ucfg_pre_cac_get_vdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *vdev_id)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void
|
||||
ucfg_pre_cac_set_freq(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
}
|
||||
|
||||
static inline qdf_freq_t
|
||||
ucfg_pre_cac_get_freq(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void
|
||||
ucfg_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
}
|
||||
#endif /* PRE_CAC_SUPPORT */
|
||||
#endif /* _WLAN_PRE_CAC_UCFG_API_H_ */
|
||||
|
@@ -30,3 +30,31 @@ QDF_STATUS wlan_pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status)
|
||||
{
|
||||
return pre_cac_set_status(vdev, status);
|
||||
}
|
||||
|
||||
void wlan_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
pre_cac_set_freq_before_pre_cac(vdev, freq);
|
||||
}
|
||||
|
||||
qdf_freq_t wlan_pre_cac_get_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return pre_cac_get_freq_before_pre_cac(vdev);
|
||||
}
|
||||
|
||||
void wlan_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
pre_cac_complete_set(vdev, status);
|
||||
}
|
||||
|
||||
bool wlan_pre_cac_complete_get(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return pre_cac_complete_get(vdev);
|
||||
}
|
||||
|
||||
void wlan_pre_cac_handle_cac_end(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
pre_cac_handle_cac_end(vdev);
|
||||
}
|
||||
|
||||
|
@@ -21,6 +21,40 @@
|
||||
#include "../../core/src/wlan_pre_cac_main.h"
|
||||
#include "wlan_pre_cac_ucfg_api.h"
|
||||
|
||||
void ucfg_pre_cac_complete_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
pre_cac_complete_set(vdev, status);
|
||||
}
|
||||
|
||||
void ucfg_pre_cac_set_freq(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
pre_cac_set_freq(vdev, freq);
|
||||
}
|
||||
|
||||
qdf_freq_t ucfg_pre_cac_get_freq(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return pre_cac_get_freq(vdev);
|
||||
}
|
||||
|
||||
void ucfg_pre_cac_set_freq_before_pre_cac(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_freq_t freq)
|
||||
{
|
||||
return pre_cac_set_freq_before_pre_cac(vdev, freq);
|
||||
}
|
||||
|
||||
void ucfg_pre_cac_adapter_set(struct wlan_objmgr_vdev *vdev,
|
||||
bool status)
|
||||
{
|
||||
pre_cac_adapter_set(vdev, status);
|
||||
}
|
||||
|
||||
bool ucfg_pre_cac_adapter_is_active(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return pre_cac_adapter_is_active(vdev);
|
||||
}
|
||||
|
||||
void ucfg_pre_cac_get_vdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *vdev_id)
|
||||
{
|
||||
@@ -35,10 +69,12 @@ int ucfg_pre_cac_validate_and_get_freq(struct wlan_objmgr_pdev *pdev,
|
||||
pre_cac_chan_freq);
|
||||
}
|
||||
|
||||
#if defined(FEATURE_SAP_COND_CHAN_SWITCH)
|
||||
QDF_STATUS ucfg_pre_cac_set_status(struct wlan_objmgr_vdev *vdev, bool status)
|
||||
{
|
||||
return pre_cac_set_status(vdev, status);
|
||||
}
|
||||
#endif
|
||||
|
||||
bool ucfg_pre_cac_is_active(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
|
Reference in New Issue
Block a user