76c3a033f6
The upstream ath10k driver disables the intermediate softqueues for some devices. This patch reverts that behaviour and always enables the softqueues (and associated bufferbloat fixes). We have had reports of people running this with good results: https://lists.bufferbloat.net/pipermail/make-wifi-fast/2017-September/001497.html This also refreshes mac80211 patches. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
|
@@ -8007,6 +8007,21 @@ static int ath10k_mac_init_rd(struct ath
|
|
return 0;
|
|
}
|
|
|
|
+#ifdef CPTCFG_MAC80211_LEDS
|
|
+static const struct ieee80211_tpt_blink ath10k_tpt_blink[] = {
|
|
+ { .throughput = 0 * 1024, .blink_time = 334 },
|
|
+ { .throughput = 1 * 1024, .blink_time = 260 },
|
|
+ { .throughput = 2 * 1024, .blink_time = 220 },
|
|
+ { .throughput = 5 * 1024, .blink_time = 190 },
|
|
+ { .throughput = 10 * 1024, .blink_time = 170 },
|
|
+ { .throughput = 25 * 1024, .blink_time = 150 },
|
|
+ { .throughput = 54 * 1024, .blink_time = 130 },
|
|
+ { .throughput = 120 * 1024, .blink_time = 110 },
|
|
+ { .throughput = 265 * 1024, .blink_time = 80 },
|
|
+ { .throughput = 586 * 1024, .blink_time = 50 },
|
|
+};
|
|
+#endif
|
|
+
|
|
int ath10k_mac_register(struct ath10k *ar)
|
|
{
|
|
static const u32 cipher_suites[] = {
|
|
@@ -8244,6 +8259,12 @@ int ath10k_mac_register(struct ath10k *a
|
|
ar->hw->wiphy->cipher_suites = cipher_suites;
|
|
ar->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
|
|
|
|
+#ifdef CPTCFG_MAC80211_LEDS
|
|
+ ieee80211_create_tpt_led_trigger(ar->hw,
|
|
+ IEEE80211_TPT_LEDTRIG_FL_RADIO, ath10k_tpt_blink,
|
|
+ ARRAY_SIZE(ath10k_tpt_blink));
|
|
+#endif
|
|
+
|
|
ret = ieee80211_register_hw(ar->hw);
|
|
if (ret) {
|
|
ath10k_err(ar, "failed to register ieee80211: %d\n", ret);
|