]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mt76x0: correct RF access via RF_CSR register.
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 4 Oct 2018 10:04:52 +0000 (12:04 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 13 Oct 2018 15:39:10 +0000 (17:39 +0200)
PCIe version don't use MCU for RF registers access. We need
to correct RF CSR method to support up to 127 RF registers.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
drivers/net/wireless/mediatek/mt76/mt76x02_regs.h

index f8666b42f657023d0f45d6abdfa5dde1b4b3f242..fb2cf3980c095299619b523c5a1b9ac2dc3f7572 100644 (file)
@@ -37,7 +37,7 @@ mt76x0_rf_csr_wr(struct mt76x02_dev *dev, u32 offset, u8 value)
        bank = MT_RF_BANK(offset);
        reg = MT_RF_REG(offset);
 
-       if (WARN_ON_ONCE(reg > 64) || WARN_ON_ONCE(bank) > 8)
+       if (WARN_ON_ONCE(reg > 127) || WARN_ON_ONCE(bank) > 8)
                return -EINVAL;
 
        mutex_lock(&dev->phy_mutex);
@@ -76,7 +76,7 @@ static int mt76x0_rf_csr_rr(struct mt76x02_dev *dev, u32 offset)
        bank = MT_RF_BANK(offset);
        reg = MT_RF_REG(offset);
 
-       if (WARN_ON_ONCE(reg > 64) || WARN_ON_ONCE(bank) > 8)
+       if (WARN_ON_ONCE(reg > 127) || WARN_ON_ONCE(bank) > 8)
                return -EINVAL;
 
        mutex_lock(&dev->phy_mutex);
@@ -119,7 +119,6 @@ rf_wr(struct mt76x02_dev *dev, u32 offset, u8 val)
 
                return mt76_wr_rp(dev, MT_MCU_MEMMAP_RF, &pair, 1);
        } else {
-               WARN_ON_ONCE(1);
                return mt76x0_rf_csr_wr(dev, offset, val);
        }
 }
@@ -138,7 +137,6 @@ rf_rr(struct mt76x02_dev *dev, u32 offset)
                ret = mt76_rd_rp(dev, MT_MCU_MEMMAP_RF, &pair, 1);
                val = pair.value;
        } else {
-               WARN_ON_ONCE(1);
                ret = val = mt76x0_rf_csr_rr(dev, offset);
        }
 
index 24d1e6d747ddc5f1314ce27dfd737dca3f1a850a..f7de77d09d28f94a8cdd634dd4f8fdac4339e642 100644 (file)
 #define MT_TXQ_STA                     0x0434
 #define        MT_RF_CSR_CFG                   0x0500
 #define MT_RF_CSR_CFG_DATA             GENMASK(7, 0)
-#define MT_RF_CSR_CFG_REG_ID           GENMASK(13, 8)
-#define MT_RF_CSR_CFG_REG_BANK         GENMASK(17, 14)
+#define MT_RF_CSR_CFG_REG_ID           GENMASK(14, 8)
+#define MT_RF_CSR_CFG_REG_BANK         GENMASK(17, 15)
 #define MT_RF_CSR_CFG_WR               BIT(30)
 #define MT_RF_CSR_CFG_KICK             BIT(31)