aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/wireless/ath/ath11k/mac.h
diff options
context:
space:
mode:
authorWen Gong <quic_wgong@quicinc.com>2021-12-07 17:23:36 +0200
committerKalle Valo <quic_kvalo@quicinc.com>2021-12-08 10:33:31 +0200
commit9dcf6808b253a72b2c90eed179863bf5fab7d68c (patch)
tree40a3f96598699b4a249629ea90dab5d31943f68d /drivers/net/wireless/ath/ath11k/mac.h
parentath11k: add configure country code for QCA6390 and WCN6855 (diff)
downloadwireguard-linux-9dcf6808b253a72b2c90eed179863bf5fab7d68c.tar.xz
wireguard-linux-9dcf6808b253a72b2c90eed179863bf5fab7d68c.zip
ath11k: add 11d scan offload support
Add handler for WMI_11D_NEW_COUNTRY_EVENTID, WMI_11D_SCAN_START_CMDID, WMI_11D_SCAN_STOP_CMDID. After vdev create for STATION, send WMI_11D_SCAN_START_CMDID to firmware and wait firmware complete it, the scan from mac80211 also need to wait the 11d scan finished, and send WMI_11D_SCAN_STOP_CMDID to firmware before vdev delete for STATION. Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01230-QCAHSTSWPLZ_V2_TO_X86-1 Signed-off-by: Wen Gong <quic_wgong@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20211201071745.17746-4-quic_wgong@quicinc.com
Diffstat (limited to 'drivers/net/wireless/ath/ath11k/mac.h')
-rw-r--r--drivers/net/wireless/ath/ath11k/mac.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath11k/mac.h b/drivers/net/wireless/ath/ath11k/mac.h
index 359e5e9ca904..035d6738c20b 100644
--- a/drivers/net/wireless/ath/ath11k/mac.h
+++ b/drivers/net/wireless/ath/ath11k/mac.h
@@ -127,6 +127,13 @@ struct ath11k_generic_iter {
extern const struct htt_rx_ring_tlv_filter ath11k_mac_mon_status_filter_default;
+#define ATH11K_SCAN_11D_INTERVAL 600000
+#define ATH11K_11D_INVALID_VDEV_ID 0xFFFF
+
+void ath11k_mac_11d_scan_start(struct ath11k *ar, u32 vdev_id, bool wait);
+void ath11k_mac_11d_scan_stop(struct ath11k *ar);
+void ath11k_mac_11d_scan_stop_all(struct ath11k_base *ab);
+
void ath11k_mac_destroy(struct ath11k_base *ab);
void ath11k_mac_unregister(struct ath11k_base *ab);
int ath11k_mac_register(struct ath11k_base *ab);