mt76x0: dfs: fix IBI_R11 configuration on non-radar channels
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Sun, 4 Nov 2018 23:18:26 +0000 (00:18 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 30 Nov 2018 11:21:43 +0000 (12:21 +0100)
Fix IBI_R11 configuration on non-radar channels for mt76x0e
driver. This patch improve system stability under heavy load.
Moreover use IBI_R11 name and remove magic numbers for
0x212c register

Fixes: 0c3b3abc9251 ("mt76x0: pci: add DFS support")
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c

index 527e530d480ac5509890fd227840b65bd66f66c6..054609c634a249ee6dca607da99e97aba0ea30de 100644 (file)
@@ -799,7 +799,7 @@ static void mt76x02_dfs_set_bbp_params(struct mt76x02_dev *dev)
 
        /* enable detection*/
        mt76_wr(dev, MT_BBP(DFS, 0), MT_DFS_CH_EN << 16);
-       mt76_wr(dev, 0x212c, 0x0c350001);
+       mt76_wr(dev, MT_BBP(IBI, 11), 0x0c350001);
 }
 
 void mt76x02_phy_dfs_adjust_agc(struct mt76x02_dev *dev)
@@ -850,7 +850,11 @@ void mt76x02_dfs_init_params(struct mt76x02_dev *dev)
                mt76_wr(dev, MT_BBP(DFS, 0), 0);
                /* clear detector status */
                mt76_wr(dev, MT_BBP(DFS, 1), 0xf);
-               mt76_wr(dev, 0x212c, 0);
+               if (mt76_chip(&dev->mt76) == 0x7610 ||
+                   mt76_chip(&dev->mt76) == 0x7630)
+                       mt76_wr(dev, MT_BBP(IBI, 11), 0xfde8081);
+               else
+                       mt76_wr(dev, MT_BBP(IBI, 11), 0);
 
                mt76x02_irq_disable(dev, MT_INT_GPTIMER);
                mt76_rmw_field(dev, MT_INT_TIMER_EN,