qcacmn: Move the post NOL feature to win code
The macro QCA_SUPPORT_DFS_CHAN_POSTNOL is specific to WIN code. Therefore remove the macro QCA_SUPPORT_DFS_CHAN_POSTNOL and associated code from Common code and add it to component dev. CRs-Fixed: 2829537 Change-Id: Ib49424c44817d6af5e485c87d6f7b08afee4fa11
This commit is contained in:
@@ -2076,6 +2076,23 @@ static inline void dfs_process_phyerr(struct wlan_dfs *dfs,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
||||||
|
/**
|
||||||
|
* dfs_switch_to_postnol_chan_if_nol_expired() - Find if NOL is expired
|
||||||
|
* in the postNOL channel configured. If true, trigger channel change.
|
||||||
|
* @dfs: Pointer to DFS of wlan_dfs structure.
|
||||||
|
*
|
||||||
|
* Return: True, if channel change is triggered, else false.
|
||||||
|
*/
|
||||||
|
bool dfs_switch_to_postnol_chan_if_nol_expired(struct wlan_dfs *dfs);
|
||||||
|
#else
|
||||||
|
static inline bool
|
||||||
|
dfs_switch_to_postnol_chan_if_nol_expired(struct wlan_dfs *dfs)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef QCA_MCL_DFS_SUPPORT
|
#ifdef QCA_MCL_DFS_SUPPORT
|
||||||
/**
|
/**
|
||||||
* dfs_process_phyerr_filter_offload() - Process radar event.
|
* dfs_process_phyerr_filter_offload() - Process radar event.
|
||||||
@@ -3049,84 +3066,11 @@ dfs_bang_radar(struct wlan_dfs *dfs, void *indata, uint32_t insize)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
#if defined(QCA_SUPPORT_DFS_CHAN_POSTNOL)
|
||||||
/**
|
void dfs_postnol_attach(struct wlan_dfs *dfs);
|
||||||
* dfs_set_postnol_freq() - DFS API to set postNOL frequency.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_freq: PostNOL frequency value configured by the user.
|
|
||||||
*/
|
|
||||||
void dfs_set_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t postnol_freq);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dfs_set_postnol_mode() - DFS API to set postNOL mode.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_mode: PostNOL frequency value configured by the user.
|
|
||||||
*/
|
|
||||||
void dfs_set_postnol_mode(struct wlan_dfs *dfs, uint8_t postnol_mode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dfs_set_postnol_cfreq2() - DFS API to set postNOL secondary center frequency.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_cfreq2: PostNOL secondary center frequency value configured by the
|
|
||||||
* user.
|
|
||||||
*/
|
|
||||||
void dfs_set_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t postnol_cfreq2);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dfs_get_postnol_freq() - DFS API to get postNOL frequency.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_freq: PostNOL frequency value configured by the user.
|
|
||||||
*/
|
|
||||||
void dfs_get_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t *postnol_freq);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dfs_get_postnol_mode() - DFS API to get postNOL mode.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_mode: PostNOL frequency value configured by the user.
|
|
||||||
*/
|
|
||||||
void dfs_get_postnol_mode(struct wlan_dfs *dfs, uint8_t *postnol_mode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dfs_get_postnol_cfreq2() - DFS API to get postNOL secondary center frequency.
|
|
||||||
* @dfs: Pointer to wlan_dfs object.
|
|
||||||
* @postnol_cfreq2: PostNOL secondary center frequency value configured by the
|
|
||||||
* user.
|
|
||||||
*/
|
|
||||||
void dfs_get_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t *postnol_cfreq2);
|
|
||||||
#else
|
#else
|
||||||
static inline void
|
static inline void dfs_postnol_attach(struct wlan_dfs *dfs)
|
||||||
dfs_set_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t postnol_freq)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
static inline void
|
|
||||||
dfs_set_postnol_mode(struct wlan_dfs *dfs, uint8_t postnol_mode)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
dfs_set_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t postnol_cfreq2)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
dfs_get_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t *postnol_freq)
|
|
||||||
{
|
|
||||||
*postnol_freq = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
dfs_get_postnol_mode(struct wlan_dfs *dfs, uint8_t *postnol_mode)
|
|
||||||
{
|
|
||||||
*postnol_mode = CH_WIDTH_INVALID;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
dfs_get_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t *postnol_cfreq2)
|
|
||||||
{
|
|
||||||
*postnol_cfreq2 = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* QCA_SUPPORT_DFS_CHAN_POSTNOL */
|
|
||||||
|
|
||||||
#endif /* _DFS_H_ */
|
#endif /* _DFS_H_ */
|
||||||
|
@@ -205,17 +205,6 @@ int dfs_create_object(struct wlan_dfs **dfs)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(QCA_SUPPORT_DFS_CHAN_POSTNOL)
|
|
||||||
static void dfs_postnol_attach(struct wlan_dfs *dfs)
|
|
||||||
{
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_INVALID;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
static inline void dfs_postnol_attach(struct wlan_dfs *dfs)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int dfs_attach(struct wlan_dfs *dfs)
|
int dfs_attach(struct wlan_dfs *dfs)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@@ -932,74 +921,3 @@ uint8_t dfs_get_agile_detector_id(struct wlan_dfs *dfs)
|
|||||||
return dfs->dfs_agile_detector_id;
|
return dfs->dfs_agile_detector_id;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
|
||||||
void dfs_set_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t postnol_freq)
|
|
||||||
{
|
|
||||||
dfs_info(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"dfs_chan_postnol_freq configured as %d", postnol_freq);
|
|
||||||
|
|
||||||
dfs->dfs_chan_postnol_freq = postnol_freq;
|
|
||||||
}
|
|
||||||
|
|
||||||
void dfs_set_postnol_mode(struct wlan_dfs *dfs, uint8_t postnol_mode)
|
|
||||||
{
|
|
||||||
if (dfs->dfs_chan_postnol_cfreq2) {
|
|
||||||
dfs_info(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"postNOL cfreq2 has been set,reset it to change mode");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (postnol_mode) {
|
|
||||||
case DFS_CHWIDTH_20_VAL:
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_20MHZ;
|
|
||||||
break;
|
|
||||||
case DFS_CHWIDTH_40_VAL:
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_40MHZ;
|
|
||||||
break;
|
|
||||||
case DFS_CHWIDTH_80_VAL:
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_80MHZ;
|
|
||||||
break;
|
|
||||||
case DFS_CHWIDTH_160_VAL:
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_160MHZ;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"Invalid postNOL mode configured");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_info(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"DFS postnol mode configured as %d",
|
|
||||||
dfs->dfs_chan_postnol_mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
void dfs_set_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t postnol_cfreq2)
|
|
||||||
{
|
|
||||||
dfs_info(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"dfs_chan_postnol_cfreq2 configured as %d", postnol_cfreq2);
|
|
||||||
|
|
||||||
dfs->dfs_chan_postnol_cfreq2 = postnol_cfreq2;
|
|
||||||
|
|
||||||
if (postnol_cfreq2) {
|
|
||||||
dfs_info(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"postNOL cfreq2 is set, changing mode to 80P80");
|
|
||||||
dfs->dfs_chan_postnol_mode = CH_WIDTH_80P80MHZ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void dfs_get_postnol_freq(struct wlan_dfs *dfs, qdf_freq_t *postnol_freq)
|
|
||||||
{
|
|
||||||
*postnol_freq = dfs->dfs_chan_postnol_freq;
|
|
||||||
}
|
|
||||||
|
|
||||||
void dfs_get_postnol_mode(struct wlan_dfs *dfs, uint8_t *postnol_mode)
|
|
||||||
{
|
|
||||||
*postnol_mode = dfs->dfs_chan_postnol_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
void dfs_get_postnol_cfreq2(struct wlan_dfs *dfs, qdf_freq_t *postnol_cfreq2)
|
|
||||||
{
|
|
||||||
*postnol_cfreq2 = dfs->dfs_chan_postnol_cfreq2;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
@@ -283,127 +283,6 @@ static void dfs_nol_delete(struct wlan_dfs *dfs,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
|
||||||
/**
|
|
||||||
* dfs_switch_to_postnol_chan_if_nol_expired() - Find if NOL is expired
|
|
||||||
* in the postNOL channel configured. If true, trigger channel change.
|
|
||||||
* @dfs: Pointer to DFS of wlan_dfs structure.
|
|
||||||
*
|
|
||||||
* Return: True, if channel change is triggered, else false.
|
|
||||||
*/
|
|
||||||
static bool
|
|
||||||
dfs_switch_to_postnol_chan_if_nol_expired(struct wlan_dfs *dfs)
|
|
||||||
{
|
|
||||||
struct dfs_channel chan;
|
|
||||||
struct dfs_channel *curchan = dfs->dfs_curchan;
|
|
||||||
bool is_curchan_11ac = false, is_curchan_11axa = false;
|
|
||||||
enum wlan_phymode postnol_phymode;
|
|
||||||
|
|
||||||
if (!dfs->dfs_chan_postnol_freq)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (WLAN_IS_CHAN_11AC_VHT20(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AC_VHT40(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AC_VHT80(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AC_VHT160(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AC_VHT80_80(curchan))
|
|
||||||
is_curchan_11ac = true;
|
|
||||||
else if (WLAN_IS_CHAN_11AXA_HE20(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AXA_HE40PLUS(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AXA_HE40MINUS(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AXA_HE80(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AXA_HE160(curchan) ||
|
|
||||||
WLAN_IS_CHAN_11AXA_HE80_80(curchan))
|
|
||||||
is_curchan_11axa = true;
|
|
||||||
|
|
||||||
switch (dfs->dfs_chan_postnol_mode) {
|
|
||||||
case CH_WIDTH_20MHZ:
|
|
||||||
if (is_curchan_11ac)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AC_VHT20;
|
|
||||||
else if (is_curchan_11axa)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AXA_HE20;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case CH_WIDTH_40MHZ:
|
|
||||||
if (is_curchan_11ac)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AC_VHT40;
|
|
||||||
else if (is_curchan_11axa)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AXA_HE40;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case CH_WIDTH_80MHZ:
|
|
||||||
if (is_curchan_11ac)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AC_VHT80;
|
|
||||||
else if (is_curchan_11axa)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AXA_HE80;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case CH_WIDTH_160MHZ:
|
|
||||||
if (is_curchan_11ac)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AC_VHT160;
|
|
||||||
else if (is_curchan_11axa)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AXA_HE160;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case CH_WIDTH_80P80MHZ:
|
|
||||||
if (is_curchan_11ac)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AC_VHT80_80;
|
|
||||||
else if (is_curchan_11axa)
|
|
||||||
postnol_phymode = WLAN_PHYMODE_11AXA_HE80_80;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"Invalid postNOL mode set. Cannot switch to the chan");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_mem_zero(&chan, sizeof(struct dfs_channel));
|
|
||||||
if (QDF_STATUS_SUCCESS !=
|
|
||||||
dfs_mlme_find_dot11_chan_for_freq(
|
|
||||||
dfs->dfs_pdev_obj,
|
|
||||||
dfs->dfs_chan_postnol_freq,
|
|
||||||
dfs->dfs_chan_postnol_cfreq2,
|
|
||||||
postnol_phymode,
|
|
||||||
&chan.dfs_ch_freq,
|
|
||||||
&chan.dfs_ch_flags,
|
|
||||||
&chan.dfs_ch_flagext,
|
|
||||||
&chan.dfs_ch_ieee,
|
|
||||||
&chan.dfs_ch_vhtop_ch_freq_seg1,
|
|
||||||
&chan.dfs_ch_vhtop_ch_freq_seg2,
|
|
||||||
&chan.dfs_ch_mhz_freq_seg1,
|
|
||||||
&chan.dfs_ch_mhz_freq_seg2)) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,
|
|
||||||
"Channel %d not found for mode %d and cfreq2 %d",
|
|
||||||
dfs->dfs_chan_postnol_freq,
|
|
||||||
postnol_phymode,
|
|
||||||
dfs->dfs_chan_postnol_cfreq2);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (WLAN_IS_CHAN_RADAR(&chan))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (global_dfs_to_mlme.mlme_postnol_chan_switch)
|
|
||||||
global_dfs_to_mlme.mlme_postnol_chan_switch(
|
|
||||||
dfs->dfs_pdev_obj,
|
|
||||||
dfs->dfs_chan_postnol_freq,
|
|
||||||
dfs->dfs_chan_postnol_cfreq2,
|
|
||||||
postnol_phymode);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
static inline bool
|
|
||||||
dfs_switch_to_postnol_chan_if_nol_expired(struct wlan_dfs *dfs)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dfs_remove_from_nol() - Remove the freq from NOL list.
|
* dfs_remove_from_nol() - Remove the freq from NOL list.
|
||||||
*
|
*
|
||||||
|
@@ -653,109 +653,6 @@ ucfg_dfs_set_rcac_freq(struct wlan_objmgr_pdev *pdev,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_set_postnol_freq() - Set PostNOL freq.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_freq: User configured freq to switch to, post NOL, in MHZ.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_freq);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_set_postnol_mode() - Set PostNOL mode.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_mode: User configured mode to switch to, post NOL, in MHZ.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t postnol_mode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_set_postnol_cfreq2() - Set PostNOL secondary center frequency.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_freq: User configured secondary center frequency to switch to,
|
|
||||||
* post NOL, in MHZ.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_cfreq2);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_get_postnol_freq() - Get PostNOL freq.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_freq: Pointer to user configured freq to switch to, post NOL.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_freq);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_get_postnol_mode() - Set PostNOL mode.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_mode: Pointer to user configured mode to switch to, post NOL.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t *postnol_mode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ucfg_dfs_get_postnol_cfreq2() - Set PostNOL secondary center frequency.
|
|
||||||
* @pdev: Pointer to DFS pdev object.
|
|
||||||
* @postnol_freq: Pointer to user configured secondary center frequency to
|
|
||||||
* switch to post NOL.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_cfreq2);
|
|
||||||
#else
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_set_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_freq)
|
|
||||||
{
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_set_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t postnol_mode)
|
|
||||||
{
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_set_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_cfreq2)
|
|
||||||
{
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_get_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_freq)
|
|
||||||
{
|
|
||||||
*postnol_freq = 0;
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_get_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t *postnol_mode)
|
|
||||||
{
|
|
||||||
*postnol_mode = CH_WIDTH_INVALID;
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline QDF_STATUS
|
|
||||||
ucfg_dfs_get_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_cfreq2)
|
|
||||||
{
|
|
||||||
*postnol_cfreq2 = 0;
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ucfg_dfs_get_rcac_freq() - Get rcac freq.
|
* ucfg_dfs_get_rcac_freq() - Get rcac freq.
|
||||||
* @pdev: Pointer to DFS pdev object.
|
* @pdev: Pointer to DFS pdev object.
|
||||||
|
@@ -75,7 +75,7 @@ register_dfs_precac_auto_chan_callbacks_freq(struct dfs_to_mlme *mlme_callback)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* register_dfs_postnol_csa_callback - Register postNOL channel switch callbacks
|
* register_dfs_postnol_csa_callback - Register CSA callback
|
||||||
* @mlme_callback: Pointer to dfs_to_mlme.
|
* @mlme_callback: Pointer to dfs_to_mlme.
|
||||||
*/
|
*/
|
||||||
#ifndef QCA_MCL_DFS_SUPPORT
|
#ifndef QCA_MCL_DFS_SUPPORT
|
||||||
|
@@ -538,112 +538,3 @@ bool ucfg_dfs_is_agile_rcac_enabled(struct wlan_objmgr_pdev *pdev)
|
|||||||
qdf_export_symbol(ucfg_dfs_is_agile_rcac_enabled);
|
qdf_export_symbol(ucfg_dfs_is_agile_rcac_enabled);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_freq)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_set_postnol_freq(dfs, postnol_freq);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_set_postnol_freq);
|
|
||||||
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t postnol_mode)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_set_postnol_mode(dfs, postnol_mode);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_set_postnol_mode);
|
|
||||||
|
|
||||||
QDF_STATUS ucfg_dfs_set_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t postnol_cfreq2)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_set_postnol_cfreq2(dfs, postnol_cfreq2);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_set_postnol_cfreq2);
|
|
||||||
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_freq(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_freq)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_get_postnol_freq(dfs, postnol_freq);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_get_postnol_freq);
|
|
||||||
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_mode(struct wlan_objmgr_pdev *pdev,
|
|
||||||
uint8_t *postnol_mode)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_get_postnol_mode(dfs, postnol_mode);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_get_postnol_mode);
|
|
||||||
|
|
||||||
QDF_STATUS ucfg_dfs_get_postnol_cfreq2(struct wlan_objmgr_pdev *pdev,
|
|
||||||
qdf_freq_t *postnol_cfreq2)
|
|
||||||
{
|
|
||||||
struct wlan_dfs *dfs;
|
|
||||||
|
|
||||||
dfs = wlan_pdev_get_dfs_obj(pdev);
|
|
||||||
if (!dfs) {
|
|
||||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "null dfs");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfs_get_postnol_cfreq2(dfs, postnol_cfreq2);
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
qdf_export_symbol(ucfg_dfs_get_postnol_cfreq2);
|
|
||||||
#endif
|
|
||||||
|
@@ -49,6 +49,9 @@
|
|||||||
#include <wlan_dfs_tgt_api.h>
|
#include <wlan_dfs_tgt_api.h>
|
||||||
#include <wlan_objmgr_vdev_obj.h>
|
#include <wlan_objmgr_vdev_obj.h>
|
||||||
#include <wlan_dfs_utils_api.h>
|
#include <wlan_dfs_utils_api.h>
|
||||||
|
#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
|
||||||
|
#include <dfs_postnol_ucfg.h>
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WLAN_SUPPORT_GREEN_AP
|
#ifdef WLAN_SUPPORT_GREEN_AP
|
||||||
|
Reference in New Issue
Block a user