aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch')
-rw-r--r--package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch49
1 files changed, 0 insertions, 49 deletions
diff --git a/package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch b/package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch
deleted file mode 100644
index 3d687f8341..0000000000
--- a/package/kernel/mac80211/patches/subsys/328-mac80211-extend-AQL-aggregation-estimation-to-HE-and.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Thu, 27 Aug 2020 12:44:36 +0200
-Subject: [PATCH] mac80211: extend AQL aggregation estimation to HE and fix
- unit mismatch
-
-The unit of the return value of ieee80211_get_rate_duration is nanoseconds, not
-milliseconds. Adjust the duration checks to account for that.
-For higher data rates, allow larger estimated aggregation sizes, and add some
-values for HE as well, which can use much larger aggregates.
-Since small packets with high data rates can now lead to duration values too
-small for info->tx_time_est, return a minimum of 4us.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/airtime.c
-+++ b/net/mac80211/airtime.c
-@@ -668,20 +668,26 @@ u32 ieee80211_calc_expected_tx_airtime(s
- * This will not be very accurate, but much better than simply
- * assuming un-aggregated tx in all cases.
- */
-- if (duration > 400) /* <= VHT20 MCS2 1S */
-+ if (duration > 400 * 1024) /* <= VHT20 MCS2 1S */
- agg_shift = 1;
-- else if (duration > 250) /* <= VHT20 MCS3 1S or MCS1 2S */
-+ else if (duration > 250 * 1024) /* <= VHT20 MCS3 1S or MCS1 2S */
- agg_shift = 2;
-- else if (duration > 150) /* <= VHT20 MCS5 1S or MCS3 2S */
-+ else if (duration > 150 * 1024) /* <= VHT20 MCS5 1S or MCS2 2S */
- agg_shift = 3;
-- else
-+ else if (duration > 70 * 1024) /* <= VHT20 MCS5 2S */
- agg_shift = 4;
-+ else if (stat.encoding != RX_ENC_HE ||
-+ duration > 20 * 1024) /* <= HE40 MCS6 2S */
-+ agg_shift = 5;
-+ else
-+ agg_shift = 6;
-
- duration *= len;
- duration /= AVG_PKT_SIZE;
- duration /= 1024;
-+ duration += (overhead >> agg_shift);
-
-- return duration + (overhead >> agg_shift);
-+ return max_t(u32, duration, 4);
- }
-
- if (!conf)