package/button-hotplug: handle KEY_RESTART and KEY_WPS_BUTTON codes as well
[openwrt.git] / package / mac80211 / patches / 562-ath9k_4ms_limit_table.patch
1 --- a/drivers/net/wireless/ath/ath9k/xmit.c
2 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
3 @@ -71,24 +71,36 @@ static void ath_tx_rc_status(struct ath_
4 int nbad, int txok, bool update_rc);
5
6 enum {
7 - MCS_DEFAULT,
8 + MCS_HT20,
9 + MCS_HT20_SGI,
10 MCS_HT40,
11 MCS_HT40_SGI,
12 };
13
14 -static int ath_max_4ms_framelen[3][16] = {
15 - [MCS_DEFAULT] = {
16 - 3216, 6434, 9650, 12868, 19304, 25740, 28956, 32180,
17 - 6430, 12860, 19300, 25736, 38600, 51472, 57890, 64320,
18 +static u16 ath_max_4ms_framelen[4][32] = {
19 + [MCS_HT20] = {
20 + 3212, 6432, 9648, 12864, 19300, 25736, 28952, 32172,
21 + 6424, 12852, 19280, 25708, 38568, 51424, 57852, 64280,
22 + 9628, 19260, 28896, 38528, 57792, 65532, 65532, 65532,
23 + 12828, 25656, 38488, 51320, 65532, 65532, 65532, 65532,
24 + },
25 + [MCS_HT20_SGI] = {
26 + 3572, 7144, 10720, 14296, 21444, 28596, 32172, 35744,
27 + 7140, 14284, 21428, 28568, 42856, 57144, 64288, 65532,
28 + 10700, 21408, 32112, 42816, 64228, 65532, 65532, 65532,
29 + 14256, 28516, 42780, 57040, 65532, 65532, 65532, 65532,
30 },
31 [MCS_HT40] = {
32 - 6684, 13368, 20052, 26738, 40104, 53476, 60156, 66840,
33 - 13360, 26720, 40080, 53440, 80160, 106880, 120240, 133600,
34 + 6680, 13360, 20044, 26724, 40092, 53456, 60140, 65532,
35 + 13348, 26700, 40052, 53400, 65532, 65532, 65532, 65532,
36 + 20004, 40008, 60016, 65532, 65532, 65532, 65532, 65532,
37 + 26644, 53292, 65532, 65532, 65532, 65532, 65532, 65532,
38 },
39 [MCS_HT40_SGI] = {
40 - /* TODO: Only MCS 7 and 15 updated, recalculate the rest */
41 - 6684, 13368, 20052, 26738, 40104, 53476, 60156, 74200,
42 - 13360, 26720, 40080, 53440, 80160, 106880, 120240, 148400,
43 + 7420, 14844, 22272, 29696, 44544, 59396, 65532, 65532,
44 + 14832, 29668, 44504, 59340, 65532, 65532, 65532, 65532,
45 + 22232, 44464, 65532, 65532, 65532, 65532, 65532, 65532,
46 + 29616, 59232, 65532, 65532, 65532, 65532, 65532, 65532,
47 }
48 };
49
50 @@ -538,12 +550,13 @@ static u32 ath_lookup_rate(struct ath_so
51 break;
52 }
53
54 - if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI)
55 - modeidx = MCS_HT40_SGI;
56 - else if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
57 + if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
58 modeidx = MCS_HT40;
59 else
60 - modeidx = MCS_DEFAULT;
61 + modeidx = MCS_HT20;
62 +
63 + if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI)
64 + modeidx++;
65
66 frmlen = ath_max_4ms_framelen[modeidx][rates[i].idx];
67 max_4ms_framelen = min(max_4ms_framelen, frmlen);
This page took 0.041901 seconds and 5 git commands to generate.