qcacmn: Add usenol support for full offload
In fulloffload mode, based on the value of the usenol variable decide whether to add the channel to NOL or not. In future, we need to merge this code with non-full offload. That will remove redundant code. Change-Id: I2bb403c3983a4a1eac906e6c13a3ec6a13fdc436 CRs-fixed: 2102829
This commit is contained in:
@@ -228,15 +228,15 @@ QDF_STATUS utils_dfs_get_update_nol_flag(struct wlan_objmgr_pdev *pdev,
|
||||
bool *nol_flag);
|
||||
|
||||
/**
|
||||
* utils_dfs_get_rn_use_nol() - Get usenol.
|
||||
* utils_dfs_get_dfs_use_nol() - Get usenol.
|
||||
* @pdev: Pointer to DFS pdev object.
|
||||
* @rn_use_nol: Pointer to rn_use_nol.
|
||||
* @dfs_use_nol: Pointer to dfs_use_nol.
|
||||
*
|
||||
* wrapper function for dfs_get_rn_use_nol(). this
|
||||
* wrapper function for dfs_get_dfs_use_nol(). this
|
||||
* function called from outside of dfs component.
|
||||
*/
|
||||
QDF_STATUS utils_dfs_get_rn_use_nol(struct wlan_objmgr_pdev *pdev,
|
||||
int *rn_use_nol);
|
||||
QDF_STATUS utils_dfs_get_dfs_use_nol(struct wlan_objmgr_pdev *pdev,
|
||||
int *dfs_use_nol);
|
||||
|
||||
/**
|
||||
* utils_dfs_get_nol_timeout() - Get NOL timeout.
|
||||
|
@@ -233,12 +233,34 @@ QDF_STATUS tgt_dfs_process_radar_ind(struct wlan_objmgr_pdev *pdev,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
dfs_process_radar_found_indication(dfs, radar_found);
|
||||
dfs_mlme_mark_dfs(pdev, dfs->dfs_curchan->dfs_ch_ieee,
|
||||
dfs->dfs_curchan->dfs_ch_freq,
|
||||
dfs->dfs_curchan->dfs_ch_vhtop_ch_freq_seg2,
|
||||
dfs->dfs_curchan->dfs_ch_flags);
|
||||
/*
|
||||
* Check if the current channel is a non DFS channel
|
||||
*/
|
||||
if (!(IEEE80211_IS_CHAN_DFS(dfs->dfs_curchan) ||
|
||||
((IEEE80211_IS_CHAN_11AC_VHT160(dfs->dfs_curchan) ||
|
||||
IEEE80211_IS_CHAN_11AC_VHT80_80(dfs->dfs_curchan)) &&
|
||||
IEEE80211_IS_CHAN_DFS_CFREQ2(dfs->dfs_curchan)))) {
|
||||
dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS, "radar event on a non-DFS channel");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
if (dfs->dfs_use_nol) {
|
||||
dfs_process_radar_found_indication(dfs, radar_found);
|
||||
dfs_mlme_mark_dfs(pdev, dfs->dfs_curchan->dfs_ch_ieee,
|
||||
dfs->dfs_curchan->dfs_ch_freq,
|
||||
dfs->dfs_curchan->dfs_ch_vhtop_ch_freq_seg2,
|
||||
dfs->dfs_curchan->dfs_ch_flags);
|
||||
} else{
|
||||
|
||||
/* We are in test mode and should send a CSA back
|
||||
* to same channel.
|
||||
*/
|
||||
qdf_timer_stop(&dfs->wlan_dfstesttimer);
|
||||
dfs->wlan_dfstest = 1;
|
||||
dfs->wlan_dfstest_ieeechan = dfs->dfs_curchan->dfs_ch_ieee;
|
||||
dfs->wlan_dfstesttime = 1; /* 1ms */
|
||||
qdf_timer_mod(&dfs->wlan_dfstesttimer, dfs->wlan_dfstesttime);
|
||||
}
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
EXPORT_SYMBOL(tgt_dfs_process_radar_ind);
|
||||
|
@@ -193,7 +193,7 @@ QDF_STATUS utils_dfs_get_usenol(struct wlan_objmgr_pdev *pdev, uint16_t *usenol)
|
||||
if (!dfs)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
*usenol = dfs_get_usenol(dfs);
|
||||
*usenol = dfs_get_use_nol(dfs);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -243,8 +243,8 @@ QDF_STATUS utils_dfs_get_update_nol_flag(struct wlan_objmgr_pdev *pdev,
|
||||
}
|
||||
EXPORT_SYMBOL(utils_dfs_get_update_nol_flag);
|
||||
|
||||
QDF_STATUS utils_dfs_get_rn_use_nol(struct wlan_objmgr_pdev *pdev,
|
||||
int *rn_use_nol)
|
||||
QDF_STATUS utils_dfs_get_dfs_use_nol(struct wlan_objmgr_pdev *pdev,
|
||||
int *dfs_use_nol)
|
||||
{
|
||||
struct wlan_dfs *dfs;
|
||||
|
||||
@@ -252,11 +252,11 @@ QDF_STATUS utils_dfs_get_rn_use_nol(struct wlan_objmgr_pdev *pdev,
|
||||
if (!dfs)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
*rn_use_nol = dfs_get_rn_use_nol(dfs);
|
||||
*dfs_use_nol = dfs_get_use_nol(dfs);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
EXPORT_SYMBOL(utils_dfs_get_rn_use_nol);
|
||||
EXPORT_SYMBOL(utils_dfs_get_dfs_use_nol);
|
||||
|
||||
QDF_STATUS utils_dfs_get_nol_timeout(struct wlan_objmgr_pdev *pdev,
|
||||
int *dfs_nol_timeout)
|
||||
|
مرجع در شماره جدید
Block a user