qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability: WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows whether FW supports reporting of CCA busy info for each 20 MHz subband of wideband scan channel or not. WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this host knows whether FW supports VDEV param channel width switch with OMN/OMI notification or not 2. Register osif callback to send scan done indication to upper layer 3. Add 2 new scan flags pause_home_channel and report_cca_busy_for_each_20 MHz Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4 CRs-Fixed: 3460901
This commit is contained in:

zatwierdzone przez
Madan Koyyalamudi

rodzic
6bc59d4929
commit
df618544a3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -607,8 +607,15 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev,
|
||||
if (!req->scan_req.scan_f_passive)
|
||||
req->scan_req.dwell_time_active =
|
||||
scan_obj->scan_def.conc_active_dwell;
|
||||
req->scan_req.dwell_time_passive =
|
||||
scan_obj->scan_def.conc_passive_dwell;
|
||||
/*
|
||||
* Irrespective of any concurrency, if a scan request is
|
||||
* triggered to get channel utilization for the current
|
||||
* connected channel, passive scan dwell time should be
|
||||
* MLME_GET_CHAN_STATS_PASSIVE_SCAN_TIME
|
||||
*/
|
||||
if (!req->scan_req.scan_f_pause_home_channel)
|
||||
req->scan_req.dwell_time_passive =
|
||||
scan_obj->scan_def.conc_passive_dwell;
|
||||
req->scan_req.max_rest_time =
|
||||
scan_obj->scan_def.conc_max_rest_time;
|
||||
req->scan_req.min_rest_time =
|
||||
@@ -797,7 +804,14 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev,
|
||||
if (sta_active) {
|
||||
req->scan_req.dwell_time_active_6g =
|
||||
scan_obj->scan_def.active_dwell_time_6g_conc;
|
||||
req->scan_req.dwell_time_passive_6g =
|
||||
/*
|
||||
* Irrespective of any concurrency, if a scan request is
|
||||
* triggered to get channel utilization for the current
|
||||
* connected channel, 6g passive scan dwell time should be
|
||||
* MLME_GET_CHAN_STATS_WIDE_BAND_PASSIVE_SCAN_TIME
|
||||
*/
|
||||
if (!req->scan_req.scan_f_pause_home_channel)
|
||||
req->scan_req.dwell_time_passive_6g =
|
||||
scan_obj->scan_def.passive_dwell_time_6g_conc;
|
||||
}
|
||||
}
|
||||
|
@@ -1048,6 +1048,10 @@ enum scan_request_type {
|
||||
* @scan_f_2ghz: scan 2.4 GHz channels
|
||||
* @scan_f_5ghz: scan 5 GHz channels
|
||||
* @scan_f_wide_band: scan in 40 MHz or higher bandwidth
|
||||
* @scan_f_pause_home_channel: To pause home channel in FW when scan channel is
|
||||
* same as home channel
|
||||
* @scan_f_report_cca_busy_for_each_20mhz: Allow FW to report CCA busy for each
|
||||
* possible 20Mhz subbands of the wideband scan channel
|
||||
* @scan_flags: variable to read and set scan_f_* flags in one shot
|
||||
* can be used to dump all scan_f_* flags for debug
|
||||
* @scan_policy_high_accuracy:
|
||||
@@ -1074,7 +1078,6 @@ enum scan_request_type {
|
||||
* @hint_s_ssid: short SSID hints
|
||||
* @hint_bssid: BSSID hints
|
||||
*/
|
||||
|
||||
struct scan_req_params {
|
||||
uint32_t scan_id;
|
||||
uint32_t scan_req_id;
|
||||
@@ -1140,7 +1143,9 @@ struct scan_req_params {
|
||||
scan_f_forced:1,
|
||||
scan_f_2ghz:1,
|
||||
scan_f_5ghz:1,
|
||||
scan_f_wide_band:1;
|
||||
scan_f_wide_band:1,
|
||||
scan_f_pause_home_channel:1,
|
||||
scan_f_report_cca_busy_for_each_20mhz:1;
|
||||
};
|
||||
uint32_t scan_flags;
|
||||
};
|
||||
|
Reference in New Issue
Block a user