mt76: mt76x02: move MT_CH_TIME_CFG init to mt76x02_mac_cc_reset
authorFelix Fietkau <nbd@nbd.name>
Thu, 5 Sep 2019 17:30:21 +0000 (19:30 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Nov 2019 12:23:49 +0000 (13:23 +0100)
Reduces code duplication and adds missing bits for USB variants

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/pci.c
drivers/net/wireless/mediatek/mt76/mt76x0/usb.c
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c
drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c

index f42450b..9f224f0 100644 (file)
@@ -132,15 +132,6 @@ static int mt76x0e_register_device(struct mt76x02_dev *dev)
        mt76_clear(dev, 0x110, BIT(9));
        mt76_set(dev, MT_MAX_LEN_CFG, BIT(13));
 
-       mt76_wr(dev, MT_CH_TIME_CFG,
-               MT_CH_TIME_CFG_TIMER_EN |
-               MT_CH_TIME_CFG_TX_AS_BUSY |
-               MT_CH_TIME_CFG_RX_AS_BUSY |
-               MT_CH_TIME_CFG_NAV_AS_BUSY |
-               MT_CH_TIME_CFG_EIFS_AS_BUSY |
-               MT_CH_CCA_RC_EN |
-               FIELD_PREP(MT_CH_TIME_CFG_CH_TIMER_CLR, 1));
-
        err = mt76x0_register_device(dev);
        if (err < 0)
                return err;
index 54f9c0c..259bd2a 100644 (file)
@@ -165,13 +165,6 @@ static int mt76x0u_init_hardware(struct mt76x02_dev *dev, bool reset)
                FIELD_PREP(MT_TXOP_TRUN_EN, 0x3f) |
                FIELD_PREP(MT_TXOP_EXT_CCA_DLY, 0x58));
 
-       mt76_wr(dev, MT_CH_TIME_CFG,
-               MT_CH_TIME_CFG_TIMER_EN |
-               MT_CH_TIME_CFG_TX_AS_BUSY |
-               MT_CH_TIME_CFG_RX_AS_BUSY |
-               MT_CH_TIME_CFG_NAV_AS_BUSY |
-               MT_CH_TIME_CFG_EIFS_AS_BUSY);
-
        return 0;
 }
 
index e49d013..d32efc0 100644 (file)
@@ -1148,6 +1148,15 @@ void mt76x02_mac_cc_reset(struct mt76x02_dev *dev)
 {
        dev->mt76.survey_time = ktime_get_boottime();
 
+       mt76_wr(dev, MT_CH_TIME_CFG,
+               MT_CH_TIME_CFG_TIMER_EN |
+               MT_CH_TIME_CFG_TX_AS_BUSY |
+               MT_CH_TIME_CFG_RX_AS_BUSY |
+               MT_CH_TIME_CFG_NAV_AS_BUSY |
+               MT_CH_TIME_CFG_EIFS_AS_BUSY |
+               MT_CH_CCA_RC_EN |
+               FIELD_PREP(MT_CH_TIME_CFG_CH_TIMER_CLR, 1));
+
        /* channel cycle counters read-and-clear */
        mt76_rr(dev, MT_CH_BUSY);
        mt76_rr(dev, MT_CH_IDLE);
index 3cf5496..33fcec9 100644 (file)
@@ -133,15 +133,6 @@ int mt76x2_mac_reset(struct mt76x02_dev *dev, bool hard)
        for (i = 0; i < 16; i++)
                mt76_rr(dev, MT_TX_STAT_FIFO);
 
-       mt76_wr(dev, MT_CH_TIME_CFG,
-               MT_CH_TIME_CFG_TIMER_EN |
-               MT_CH_TIME_CFG_TX_AS_BUSY |
-               MT_CH_TIME_CFG_RX_AS_BUSY |
-               MT_CH_TIME_CFG_NAV_AS_BUSY |
-               MT_CH_TIME_CFG_EIFS_AS_BUSY |
-               MT_CH_CCA_RC_EN |
-               FIELD_PREP(MT_CH_TIME_CFG_CH_TIMER_CLR, 1));
-
        mt76x02_set_tx_ackto(dev);
 
        return 0;
index e305b37..2910068 100644 (file)
@@ -184,13 +184,6 @@ int mt76x2u_init_hardware(struct mt76x02_dev *dev)
        mt76x02_phy_set_rxpath(dev);
        mt76x02_phy_set_txdac(dev);
 
-       mt76_wr(dev, MT_CH_TIME_CFG,
-               MT_CH_TIME_CFG_TIMER_EN |
-               MT_CH_TIME_CFG_TX_AS_BUSY |
-               MT_CH_TIME_CFG_RX_AS_BUSY |
-               MT_CH_TIME_CFG_NAV_AS_BUSY |
-               MT_CH_TIME_CFG_EIFS_AS_BUSY);
-
        return mt76x2u_mac_stop(dev);
 }