qcacmn: Support for history based scan request

Userspace/framework tracks last few days(e.g: 10 days) history of
connected APs and maintains best 10 channels out of that list by
considering multiple parameters like scoring, location etc.
It's likely to find an AP in one of these channels when a scan issued.
So, framework issues first scan request with a maximum of 10 channels
in the below cases currently,
1. When the wifi is turned on
2. When the wifi is in disconnected state and user turns on the screen.

Host driver shouldn't add any more channels to this scan request as
it's expected to complete the scan as soon as possible to connect
quickly to the known APs. Don't add 6g RNR channels also in the
scan request.
Further scans from framework would be full scans or with list a
of channels(more than 10) and RNR channels can be added to them.

Also, don't add all 6g channels if userspace hasn't given any as
the current framework/kernels are matured enough decide whether to
issue scan with 6g channels or not. RNR channels can be added as
mentioned. Remove SCAN_MODE_6G_NO_OPERATION as it's not needed
anymore with this.

Also, 6ghz scan functionality gets enahanced depending on various
requirements. This can be moved to a separate file so that core
scan_manager.c file won't be bloated with new code.

Change-Id: I1800a3e95e438720f94d8eec3544023cab16b081
CRs-Fixed: 2805900
This commit is contained in:
Srinivas Dasari
2020-10-24 23:38:40 +05:30
committed by snandini
父節點 f7f344ef2c
當前提交 bac5be8a23
共有 5 個文件被更改,包括 365 次插入291 次删除

查看文件

@@ -29,14 +29,12 @@
* @SCAN_MODE_6G_NO_CHANNEL: Remove 6GHz channels in the scan request
* @SCAN_MODE_6G_PSC_CHANNEL: Allow/Add 6Ghz PSC channels to scan request
* @SCAN_MODE_6G_ALL_CHANNEL: Allow all the 6Ghz channels
* @SCAN_MODE_6G_NO_OPERATION: Don't perform any action keep channel list as is
*/
enum scan_mode_6ghz {
SCAN_MODE_6G_NO_CHANNEL,
SCAN_MODE_6G_PSC_CHANNEL,
SCAN_MODE_6G_ALL_CHANNEL,
SCAN_MODE_6G_NO_OPERATION,
SCAN_MODE_6G_MAX = SCAN_MODE_6G_NO_OPERATION,
SCAN_MODE_6G_MAX = SCAN_MODE_6G_ALL_CHANNEL,
};
/*
@@ -1204,14 +1202,13 @@ enum scan_mode_6ghz {
* <ini>
* scan_mode_6ghz - 6ghz Scan mode
* @Min: 0
* @Max: 3
* @Max: 2
* @Default: 1
*
* Configure the 6Ghz scan mode
* 0 - Remove 6GHz channels in the scan request
* 1 - Allow/Add 6Ghz PSC channels to scan request
* 2 - Allow all the 6Ghz channels
* 3 - Don't perform any action keep channel list as is
*
* Related: SCAN
*