net: ethernet: mtk_eth_soc: use WO firmware for MT7981
authorDaniel Golle <daniel@makrotopia.org>
Thu, 20 Apr 2023 16:05:05 +0000 (17:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Apr 2023 13:13:25 +0000 (14:13 +0100)
In order to support wireless offloading on MT7981 we need to load the
appropriate firmware. Recognize MT7981 and load mt7981_wo.bin.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_wed_mcu.c
drivers/net/ethernet/mediatek/mtk_wed_wo.h

index 6bad0d262f286e147a90dcba2d18a914c5e5eea0..071ed3dea860d5b4852c451cf00d5ed145bb7bb0 100644 (file)
@@ -326,7 +326,11 @@ mtk_wed_mcu_load_firmware(struct mtk_wed_wo *wo)
                wo->hw->index + 1);
 
        /* load firmware */
-       fw_name = wo->hw->index ? MT7986_FIRMWARE_WO1 : MT7986_FIRMWARE_WO0;
+       if (of_device_is_compatible(wo->hw->node, "mediatek,mt7981-wed"))
+               fw_name = MT7981_FIRMWARE_WO;
+       else
+               fw_name = wo->hw->index ? MT7986_FIRMWARE_WO1 : MT7986_FIRMWARE_WO0;
+
        ret = request_firmware(&fw, fw_name, wo->hw->dev);
        if (ret)
                return ret;
@@ -386,5 +390,6 @@ int mtk_wed_mcu_init(struct mtk_wed_wo *wo)
                                  100, MTK_FW_DL_TIMEOUT);
 }
 
+MODULE_FIRMWARE(MT7981_FIRMWARE_WO);
 MODULE_FIRMWARE(MT7986_FIRMWARE_WO0);
 MODULE_FIRMWARE(MT7986_FIRMWARE_WO1);
index dbcf42ce9173ccb6d2c18bcb49908db430f2eaa7..7a1a2a28f1acb24a889ad44d6156965371c893b2 100644 (file)
@@ -88,6 +88,7 @@ enum mtk_wed_dummy_cr_idx {
        MTK_WED_DUMMY_CR_WO_STATUS,
 };
 
+#define MT7981_FIRMWARE_WO     "mediatek/mt7981_wo.bin"
 #define MT7986_FIRMWARE_WO0    "mediatek/mt7986_wo_0.bin"
 #define MT7986_FIRMWARE_WO1    "mediatek/mt7986_wo_1.bin"