aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch')
-rw-r--r--package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch b/package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch
new file mode 100644
index 0000000000..b52451c928
--- /dev/null
+++ b/package/kernel/mac80211/patches/380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch
@@ -0,0 +1,64 @@
+From 14d65775687cb3a6f76a52f48f4be27a522bb396 Mon Sep 17 00:00:00 2001
+From: Balaji Pothunoori <bpothuno@qti.qualcomm.com>
+Date: Thu, 21 Dec 2017 20:00:42 +0530
+Subject: [PATCH] ath10k: advertise TDLS wider bandwidth support for 5GHz
+
+Enable TDLS wider bandwidth support for 5GHz based on firmware wmi capabilities.
+
+This patch is required for chipset QCA9888. Tested with firmware version
+10.4-3.5.1-00018.
+
+Signed-off-by: Balaji Pothunoori <bpothuno@qti.qualcomm.com>
+Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
+---
+ drivers/net/wireless/ath/ath10k/mac.c | 3 ++-
+ drivers/net/wireless/ath/ath10k/wmi.h | 5 +++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath10k/mac.c
++++ b/drivers/net/wireless/ath/ath10k/mac.c
+@@ -8236,7 +8236,8 @@ int ath10k_mac_register(struct ath10k *a
+ if (test_bit(WMI_SERVICE_TDLS, ar->wmi.svc_map) ||
+ test_bit(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, ar->wmi.svc_map)) {
+ ar->hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
+- ieee80211_hw_set(ar->hw, TDLS_WIDER_BW);
++ if (test_bit(WMI_SERVICE_TDLS_WIDER_BANDWIDTH, ar->wmi.svc_map))
++ ieee80211_hw_set(ar->hw, TDLS_WIDER_BW);
+ }
+
+ ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
+--- a/drivers/net/wireless/ath/ath10k/wmi.h
++++ b/drivers/net/wireless/ath/ath10k/wmi.h
+@@ -196,6 +196,7 @@ enum wmi_service {
+ WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
+ WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
+ WMI_SERVICE_MGMT_TX_WMI,
++ WMI_SERVICE_TDLS_WIDER_BANDWIDTH,
+
+ /* keep last */
+ WMI_SERVICE_MAX,
+@@ -337,6 +338,7 @@ enum wmi_10_4_service {
+ WMI_10_4_SERVICE_TDLS_UAPSD_SLEEP_STA,
+ WMI_10_4_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
+ WMI_10_4_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
++ WMI_10_4_SERVICE_TDLS_WIDER_BANDWIDTH,
+ };
+
+ static inline char *wmi_service_name(int service_id)
+@@ -445,6 +447,7 @@ static inline char *wmi_service_name(int
+ SVCSTR(WMI_SERVICE_SMART_LOGGING_SUPPORT);
+ SVCSTR(WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE);
+ SVCSTR(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY);
++ SVCSTR(WMI_SERVICE_TDLS_WIDER_BANDWIDTH);
+ default:
+ return NULL;
+ }
+@@ -741,6 +744,8 @@ static inline void wmi_10_4_svc_map(cons
+ WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE, len);
+ SVCMAP(WMI_10_4_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
+ WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, len);
++ SVCMAP(WMI_10_4_SERVICE_TDLS_WIDER_BANDWIDTH,
++ WMI_SERVICE_TDLS_WIDER_BANDWIDTH, len);
+ }
+
+ #undef SVCMAP