mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
generic: add support for wireless offloading on MT7981
Load appropriate firmware for wireless offloading on MT7981. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
4df739da74
commit
e59909d212
@ -0,0 +1,46 @@
|
|||||||
|
From f5af7931d2a2cae66d0f9dad4ba517b1b00620b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Golle <daniel@makrotopia.org>
|
||||||
|
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 <daniel@makrotopia.org>
|
||||||
|
---
|
||||||
|
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"
|
||||||
|
|
@ -77,7 +77,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|||||||
wed_w32(wo->hw->wed_dev, MTK_WED_SCR0 + 4 * MTK_WED_DUMMY_CR_FWDL,
|
wed_w32(wo->hw->wed_dev, MTK_WED_SCR0 + 4 * MTK_WED_DUMMY_CR_FWDL,
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
--- a/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
+++ b/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
||||||
@@ -227,7 +227,8 @@ struct mtk_wed_wo_queue {
|
@@ -228,7 +228,8 @@ struct mtk_wed_wo_queue {
|
||||||
|
|
||||||
struct mtk_wed_wo {
|
struct mtk_wed_wo {
|
||||||
struct mtk_wed_hw *hw;
|
struct mtk_wed_hw *hw;
|
||||||
|
Loading…
Reference in New Issue
Block a user