mac80211: update brcmfmac including missing boardrev workaround
[openwrt.git] / package / kernel / mac80211 / patches / 600-0029-rt2x00-rt2800lib-fix-VGC-setup-for-RT3883.patch
1 From c49b2d829aa1c816a46a577cdec6d2ff14d9f06e Mon Sep 17 00:00:00 2001
2 From: Gabor Juhos <juhosg@openwrt.org>
3 Date: Tue, 1 Oct 2013 15:40:08 +0200
4 Subject: [PATCH] rt2x00: rt2800lib: fix VGC setup for RT3883
5
6 Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
7 ---
8  drivers/net/wireless/ralink/rt2x00/rt2800lib.c |   11 +++++++++--
9  1 file changed, 9 insertions(+), 2 deletions(-)
10
11 --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
12 +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
13 @@ -4812,7 +4812,8 @@ static u8 rt2800_get_default_vgc(struct
14                 else
15                         vgc = 0x2e + rt2x00dev->lna_gain;
16         } else { /* 5GHZ band */
17 -               if (rt2x00_rt(rt2x00dev, RT3593))
18 +               if (rt2x00_rt(rt2x00dev, RT3593) ||
19 +                   rt2x00_rt(rt2x00dev, RT3883))
20                         vgc = 0x20 + (rt2x00dev->lna_gain * 5) / 3;
21                 else if (rt2x00_rt(rt2x00dev, RT5592))
22                         vgc = 0x24 + (2 * rt2x00dev->lna_gain);
23 @@ -4832,7 +4833,8 @@ static inline void rt2800_set_vgc(struct
24  {
25         if (qual->vgc_level != vgc_level) {
26                 if (rt2x00_rt(rt2x00dev, RT3572) ||
27 -                   rt2x00_rt(rt2x00dev, RT3593)) {
28 +                   rt2x00_rt(rt2x00dev, RT3593) ||
29 +                   rt2x00_rt(rt2x00dev, RT3883)) {
30                         rt2800_bbp_write_with_rx_chain(rt2x00dev, 66,
31                                                        vgc_level);
32                 } else if (rt2x00_rt(rt2x00dev, RT5592)) {
33 @@ -4879,6 +4881,11 @@ void rt2800_link_tuner(struct rt2x00_dev
34                 }
35                 break;
36  
37 +       case RT3883:
38 +               if (qual->rssi > -65)
39 +                       vgc += 0x10;
40 +               break;
41 +
42         case RT5592:
43                 if (qual->rssi > -65)
44                         vgc += 0x20;