mt76: mt7615: add mt7663e support to mt7615_{driver,firmware}_own
authorLorenzo Bianconi <lorenzo@kernel.org>
Tue, 17 Mar 2020 16:41:23 +0000 (17:41 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 17 Mar 2020 16:47:56 +0000 (17:47 +0100)
Extend mt7615_driver_own and mt7615_firmware_own in order to reuse
them adding mt7663e support to mt7615 driver

Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Co-developed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c

index 4ce3d24..9d044f2 100644 (file)
@@ -1175,11 +1175,13 @@ static void mt7622_trigger_hif_int(struct mt7615_dev *dev, bool en)
 
 static int mt7615_driver_own(struct mt7615_dev *dev)
 {
-       mt76_wr(dev, MT_CFG_LPCR_HOST, MT_CFG_LPCR_HOST_DRV_OWN);
+       u32 addr;
+
+       addr = is_mt7663(&dev->mt76) ? MT_CONN_HIF_ON_LPCTL : MT_CFG_LPCR_HOST;
+       mt76_wr(dev, addr, MT_CFG_LPCR_HOST_DRV_OWN);
 
        mt7622_trigger_hif_int(dev, true);
-       if (!mt76_poll_msec(dev, MT_CFG_LPCR_HOST,
-                           MT_CFG_LPCR_HOST_FW_OWN, 0, 3000)) {
+       if (!mt76_poll_msec(dev, addr, MT_CFG_LPCR_HOST_FW_OWN, 0, 3000)) {
                dev_err(dev->mt76.dev, "Timeout for driver own\n");
                return -EIO;
        }
@@ -1190,9 +1192,12 @@ static int mt7615_driver_own(struct mt7615_dev *dev)
 
 static int mt7615_firmware_own(struct mt7615_dev *dev)
 {
+       u32 addr;
+
+       addr = is_mt7663(&dev->mt76) ? MT_CONN_HIF_ON_LPCTL : MT_CFG_LPCR_HOST;
        mt7622_trigger_hif_int(dev, true);
 
-       mt76_wr(dev, MT_CFG_LPCR_HOST, MT_CFG_LPCR_HOST_FW_OWN);
+       mt76_wr(dev, addr, MT_CFG_LPCR_HOST_FW_OWN);
 
        if (is_mt7622(&dev->mt76) &&
            !mt76_poll_msec(dev, MT_CFG_LPCR_HOST,