mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-27 21:56:34 +00:00
wifi: ath11k: Send 11d scan start before WMI_START_SCAN_CMDID
Firmwares advertising the support of triggering 11d algorithm on the scan results of a regular scan expects driver to send WMI_11D_SCAN_START_CMDID before sending WMI_START_SCAN_CMDID. Triggering 11d algorithm on the scan results of a normal scan helps in completely avoiding a separate 11d scan for determining regdomain. This indirectly helps in speeding up connections on station interfaces on the chipsets supporting 11D scan. To enable this feature, send WMI_11D_SCAN_START_CMDID just before sending WMI_START_SCAN_CMDID if the firmware advertises WMI_TLV_SERVICE_SUPPORT_11D_FOR_HOST_SCAN service flag. WCN6750 & WCN6855 supports this feature. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01160-QCAMSLSWPLZ-1 Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20230315161817.29627-1-quic_mpubbise@quicinc.com
This commit is contained in:
parent
756a7f9087
commit
e89a51aedf
@ -3755,6 +3755,18 @@ static int ath11k_mac_op_hw_scan(struct ieee80211_hw *hw,
|
||||
int i;
|
||||
u32 scan_timeout;
|
||||
|
||||
/* Firmwares advertising the support of triggering 11D algorithm
|
||||
* on the scan results of a regular scan expects driver to send
|
||||
* WMI_11D_SCAN_START_CMDID before sending WMI_START_SCAN_CMDID.
|
||||
* With this feature, separate 11D scan can be avoided since
|
||||
* regdomain can be determined with the scan results of the
|
||||
* regular scan.
|
||||
*/
|
||||
if (ar->state_11d == ATH11K_11D_PREPARING &&
|
||||
test_bit(WMI_TLV_SERVICE_SUPPORT_11D_FOR_HOST_SCAN,
|
||||
ar->ab->wmi_ab.svc_map))
|
||||
ath11k_mac_11d_scan_start(ar, arvif->vdev_id);
|
||||
|
||||
mutex_lock(&ar->conf_mutex);
|
||||
|
||||
spin_lock_bh(&ar->data_lock);
|
||||
|
||||
@ -2103,6 +2103,7 @@ enum wmi_tlv_service {
|
||||
WMI_TLV_SERVICE_SCAN_CONFIG_PER_CHANNEL = 265,
|
||||
WMI_TLV_SERVICE_REG_CC_EXT_EVENT_SUPPORT = 281,
|
||||
WMI_TLV_SERVICE_BIOS_SAR_SUPPORT = 326,
|
||||
WMI_TLV_SERVICE_SUPPORT_11D_FOR_HOST_SCAN = 357,
|
||||
|
||||
/* The third 128 bits */
|
||||
WMI_MAX_EXT2_SERVICE = 384
|
||||
|
||||
Loading…
Reference in New Issue
Block a user