qcacld-3.0: Select first clean channel for ACS to optimize SAP turn on time
Currently, ACS computation triggers when ACS scan complete event is received after firmware has scanned all channels. This leads to delay in selection on SAP channel. As an optimization, this change selects the first clean channel while scan is still in progress. The criteria for first clean channel is that no beacon/probe response should be received on that channel. If such channel is obtained while scan is in progress, then select this channel as SAP channel and abort ongoing scan. Firmware sends wma_chan_info_event per channel this change uses this event as an indication that scan is completed on that channel. To further increase the optimize the time to get clean channel, sort the ACS frequency list in descending order in ACS SCAN request to firmware. Firmware scans the channel in the order given by host in scan request, as higher band channels are less occupied, the probability of getting clean channel initially will increase, which will lead to selecting the channel in less time and thereby reduce the SAP turn on time. Change-Id: I1a38556862b66943edea08783436f5e1e3a255f6 CRs-Fixed: 3245166
This commit is contained in:

committed by
Madan Koyyalamudi

parent
1981726d18
commit
ef08e7a4c4
@@ -1825,11 +1825,20 @@ static inline bool sap_is_acs_scan_optimize_enable(void)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void wlansap_process_chan_info_event(struct sap_context *sap_ctx,
|
||||
struct csr_roam_info *roam_info);
|
||||
#else
|
||||
static inline bool sap_is_acs_scan_optimize_enable(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline
|
||||
void wlansap_process_chan_info_event(struct sap_context *sap_ctx,
|
||||
struct csr_roam_info *roam_info)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Reference in New Issue
Block a user