kmod-sched-cake: bump to 20180827
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / patches / 380-0002-ath10k-advertise-TDLS-wider-bandwidth-support-for-5G.patch
1 From 14d65775687cb3a6f76a52f48f4be27a522bb396 Mon Sep 17 00:00:00 2001
2 From: Balaji Pothunoori <bpothuno@qti.qualcomm.com>
3 Date: Thu, 21 Dec 2017 20:00:42 +0530
4 Subject: [PATCH] ath10k: advertise TDLS wider bandwidth support for 5GHz
5
6 Enable TDLS wider bandwidth support for 5GHz based on firmware wmi capabilities.
7
8 This patch is required for chipset QCA9888. Tested with firmware version
9 10.4-3.5.1-00018.
10
11 Signed-off-by: Balaji Pothunoori <bpothuno@qti.qualcomm.com>
12 Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 ---
14 drivers/net/wireless/ath/ath10k/mac.c | 3 ++-
15 drivers/net/wireless/ath/ath10k/wmi.h | 5 +++++
16 2 files changed, 7 insertions(+), 1 deletion(-)
17
18 --- a/drivers/net/wireless/ath/ath10k/mac.c
19 +++ b/drivers/net/wireless/ath/ath10k/mac.c
20 @@ -8236,7 +8236,8 @@ int ath10k_mac_register(struct ath10k *a
21 if (test_bit(WMI_SERVICE_TDLS, ar->wmi.svc_map) ||
22 test_bit(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, ar->wmi.svc_map)) {
23 ar->hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
24 - ieee80211_hw_set(ar->hw, TDLS_WIDER_BW);
25 + if (test_bit(WMI_SERVICE_TDLS_WIDER_BANDWIDTH, ar->wmi.svc_map))
26 + ieee80211_hw_set(ar->hw, TDLS_WIDER_BW);
27 }
28
29 ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
30 --- a/drivers/net/wireless/ath/ath10k/wmi.h
31 +++ b/drivers/net/wireless/ath/ath10k/wmi.h
32 @@ -196,6 +196,7 @@ enum wmi_service {
33 WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
34 WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
35 WMI_SERVICE_MGMT_TX_WMI,
36 + WMI_SERVICE_TDLS_WIDER_BANDWIDTH,
37
38 /* keep last */
39 WMI_SERVICE_MAX,
40 @@ -337,6 +338,7 @@ enum wmi_10_4_service {
41 WMI_10_4_SERVICE_TDLS_UAPSD_SLEEP_STA,
42 WMI_10_4_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
43 WMI_10_4_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
44 + WMI_10_4_SERVICE_TDLS_WIDER_BANDWIDTH,
45 };
46
47 static inline char *wmi_service_name(int service_id)
48 @@ -445,6 +447,7 @@ static inline char *wmi_service_name(int
49 SVCSTR(WMI_SERVICE_SMART_LOGGING_SUPPORT);
50 SVCSTR(WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE);
51 SVCSTR(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY);
52 + SVCSTR(WMI_SERVICE_TDLS_WIDER_BANDWIDTH);
53 default:
54 return NULL;
55 }
56 @@ -741,6 +744,8 @@ static inline void wmi_10_4_svc_map(cons
57 WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE, len);
58 SVCMAP(WMI_10_4_SERVICE_TDLS_EXPLICIT_MODE_ONLY,
59 WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, len);
60 + SVCMAP(WMI_10_4_SERVICE_TDLS_WIDER_BANDWIDTH,
61 + WMI_SERVICE_TDLS_WIDER_BANDWIDTH, len);
62 }
63
64 #undef SVCMAP