12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- From f5af7931d2a2cae66d0f9dad4ba517b1b00620b3 Mon Sep 17 00:00:00 2001
- From: Daniel Golle <[email protected]>
- Date: Wed, 19 Apr 2023 19:07:23 +0100
- Subject: [PATCH] net: mtk_eth_soc: use WO firmware for MT7981
- 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 <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_wed_mcu.c | 7 ++++++-
- drivers/net/ethernet/mediatek/mtk_wed_wo.h | 1 +
- 2 files changed, 7 insertions(+), 1 deletion(-)
- --- a/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
- +++ b/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
- @@ -326,7 +326,11 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
- 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 *
- 100, MTK_FW_DL_TIMEOUT);
- }
-
- +MODULE_FIRMWARE(MT7981_FIRMWARE_WO);
- MODULE_FIRMWARE(MT7986_FIRMWARE_WO0);
- MODULE_FIRMWARE(MT7986_FIRMWARE_WO1);
- --- a/drivers/net/ethernet/mediatek/mtk_wed_wo.h
- +++ b/drivers/net/ethernet/mediatek/mtk_wed_wo.h
- @@ -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"
-
|