diff options
Diffstat (limited to 'package/kernel/mac80211/patches/380-0006-ath10k-add-support-to-configure-channel-dwell-time.patch')
-rw-r--r-- | package/kernel/mac80211/patches/380-0006-ath10k-add-support-to-configure-channel-dwell-time.patch | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/package/kernel/mac80211/patches/380-0006-ath10k-add-support-to-configure-channel-dwell-time.patch b/package/kernel/mac80211/patches/380-0006-ath10k-add-support-to-configure-channel-dwell-time.patch deleted file mode 100644 index 3451a9930b..0000000000 --- a/package/kernel/mac80211/patches/380-0006-ath10k-add-support-to-configure-channel-dwell-time.patch +++ /dev/null @@ -1,92 +0,0 @@ -From be8cce96f14dc925ecfb702be0392a52cf78adb5 Mon Sep 17 00:00:00 2001 -From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> -Date: Wed, 23 May 2018 11:09:09 +0300 -Subject: [PATCH] ath10k: add support to configure channel dwell time - -Configure channel dwell time from duration of the scan request -received from mac80211 when the duration is non-zero. When the -scan request does not have duration value, use the default ones, -the current implementation. - -Corresponding flag NL80211_EXT_FEATURE_SET_SCAN_DWELL is -advertized. - -Supported Chipsets: - -QCA988X/QCA9887 PCI - -QCA99X0/QCA9984/QCA9888/QCA4019 PCI - -QCA6174/QCA9377 PCI/USB/SDIO - -WCN3990 SNOC - -Tested on QCA9984 with firmware ver 10.4-3.6-0010 - -Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - drivers/net/wireless/ath/ath10k/core.h | 1 + - drivers/net/wireless/ath/ath10k/mac.c | 23 ++++++++++++++++++++--- - 2 files changed, 21 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ath/ath10k/core.h -+++ b/drivers/net/wireless/ath/ath10k/core.h -@@ -43,6 +43,7 @@ - #define WO(_f) ((_f##_OFFSET) >> 2) - - #define ATH10K_SCAN_ID 0 -+#define ATH10K_SCAN_CHANNEL_SWITCH_WMI_EVT_OVERHEAD 10 /* msec */ - #define WMI_READY_TIMEOUT (5 * HZ) - #define ATH10K_FLUSH_TIMEOUT_HZ (5 * HZ) - #define ATH10K_CONNECTION_LOSS_HZ (3 * HZ) ---- a/drivers/net/wireless/ath/ath10k/mac.c -+++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -5597,6 +5597,7 @@ static int ath10k_hw_scan(struct ieee802 - struct wmi_start_scan_arg arg; - int ret = 0; - int i; -+ u32 scan_timeout; - - mutex_lock(&ar->conf_mutex); - -@@ -5647,6 +5648,22 @@ static int ath10k_hw_scan(struct ieee802 - arg.channels[i] = req->channels[i]->center_freq; - } - -+ /* if duration is set, default dwell times will be overwritten */ -+ if (req->duration) { -+ arg.dwell_time_active = req->duration; -+ arg.dwell_time_passive = req->duration; -+ arg.burst_duration_ms = req->duration; -+ -+ scan_timeout = min_t(u32, arg.max_rest_time * -+ (arg.n_channels - 1) + (req->duration + -+ ATH10K_SCAN_CHANNEL_SWITCH_WMI_EVT_OVERHEAD) * -+ arg.n_channels, arg.max_scan_time + 200); -+ -+ } else { -+ /* Add a 200ms margin to account for event/command processing */ -+ scan_timeout = arg.max_scan_time + 200; -+ } -+ - ret = ath10k_start_scan(ar, &arg); - if (ret) { - ath10k_warn(ar, "failed to start hw scan: %d\n", ret); -@@ -5655,10 +5672,8 @@ static int ath10k_hw_scan(struct ieee802 - spin_unlock_bh(&ar->data_lock); - } - -- /* Add a 200ms margin to account for event/command processing */ - ieee80211_queue_delayed_work(ar->hw, &ar->scan.timeout, -- msecs_to_jiffies(arg.max_scan_time + -- 200)); -+ msecs_to_jiffies(scan_timeout)); - - exit: - mutex_unlock(&ar->conf_mutex); -@@ -8267,6 +8282,8 @@ int ath10k_mac_register(struct ath10k *a - } - - wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_VHT_IBSS); -+ wiphy_ext_feature_set(ar->hw->wiphy, -+ NL80211_EXT_FEATURE_SET_SCAN_DWELL); - - /* - * on LL hardware queues are managed entirely by the FW |