mt76x0: init: simplify mt76x0_init_mac_registers
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Tue, 16 Oct 2018 09:42:32 +0000 (11:42 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 30 Nov 2018 11:21:40 +0000 (12:21 +0100)
Simplify mt76x0_init_mac_registers routine using mt76_set, mt76_clear
and mt76_rmw utility routines

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/init.c

index 74c007c..263d5e8 100644 (file)
@@ -133,8 +133,6 @@ static int mt76x0_init_bbp(struct mt76x02_dev *dev)
 
 static void mt76x0_init_mac_registers(struct mt76x02_dev *dev)
 {
-       u32 reg;
-
        RANDOM_WRITE(dev, common_mac_reg_table);
 
        mt76x02_set_beacon_offsets(dev);
@@ -143,27 +141,22 @@ static void mt76x0_init_mac_registers(struct mt76x02_dev *dev)
        RANDOM_WRITE(dev, mt76x0_mac_reg_table);
 
        /* Release BBP and MAC reset MAC_SYS_CTRL[1:0] = 0x0 */
-       reg = mt76_rr(dev, MT_MAC_SYS_CTRL);
-       reg &= ~0x3;
-       mt76_wr(dev, MT_MAC_SYS_CTRL, reg);
+       mt76_clear(dev, MT_MAC_SYS_CTRL, 0x3);
 
        /* Set 0x141C[15:12]=0xF */
-       reg = mt76_rr(dev, MT_EXT_CCA_CFG);
-       reg |= 0x0000F000;
-       mt76_wr(dev, MT_EXT_CCA_CFG, reg);
+       mt76_set(dev, MT_EXT_CCA_CFG, 0xf000);
 
        mt76_clear(dev, MT_FCE_L2_STUFF, MT_FCE_L2_STUFF_WR_MPDU_LEN_EN);
 
        /*
-               TxRing 9 is for Mgmt frame.
-               TxRing 8 is for In-band command frame.
-               WMM_RG0_TXQMA: This register setting is for FCE to define the rule of TxRing 9.
-               WMM_RG1_TXQMA: This register setting is for FCE to define the rule of TxRing 8.
-       */
-       reg = mt76_rr(dev, MT_WMM_CTRL);
-       reg &= ~0x000003FF;
-       reg |= 0x00000201;
-       mt76_wr(dev, MT_WMM_CTRL, reg);
+        * tx_ring 9 is for mgmt frame
+        * tx_ring 8 is for in-band command frame.
+        * WMM_RG0_TXQMA: this register setting is for FCE to
+        *                define the rule of tx_ring 9
+        * WMM_RG1_TXQMA: this register setting is for FCE to
+        *                define the rule of tx_ring 8
+        */
+       mt76_rmw(dev, MT_WMM_CTRL, 0x3ff, 0x201);
 }
 
 static int mt76x0_init_wcid_mem(struct mt76x02_dev *dev)