static void mt76x0_init_mac_registers(struct mt76x02_dev *dev)
 {
-       u32 reg;
-
        RANDOM_WRITE(dev, common_mac_reg_table);
 
        mt76x02_set_beacon_offsets(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)