forked from Openwrt/openwrt
6407ef8d2b
Reorder and update existing patches Signed-off-by: Felix Fietkau <nbd@nbd.name>
89 lines
2.2 KiB
Diff
89 lines
2.2 KiB
Diff
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Mon, 18 Sep 2023 12:29:09 +0200
|
|
Subject: [PATCH] net: ethernet: mtk_wed: move mem_region array out of
|
|
mtk_wed_mcu_load_firmware
|
|
|
|
Remove mtk_wed_wo_memory_region boot structure in mtk_wed_wo.
|
|
This is a preliminary patch to introduce WED support for MT7988 SoC.
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|
---
|
|
|
|
--- a/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
|
|
@@ -16,14 +16,30 @@
|
|
#include "mtk_wed_wo.h"
|
|
#include "mtk_wed.h"
|
|
|
|
+static struct mtk_wed_wo_memory_region mem_region[] = {
|
|
+ [MTK_WED_WO_REGION_EMI] = {
|
|
+ .name = "wo-emi",
|
|
+ },
|
|
+ [MTK_WED_WO_REGION_ILM] = {
|
|
+ .name = "wo-ilm",
|
|
+ },
|
|
+ [MTK_WED_WO_REGION_DATA] = {
|
|
+ .name = "wo-data",
|
|
+ .shared = true,
|
|
+ },
|
|
+ [MTK_WED_WO_REGION_BOOT] = {
|
|
+ .name = "wo-boot",
|
|
+ },
|
|
+};
|
|
+
|
|
static u32 wo_r32(struct mtk_wed_wo *wo, u32 reg)
|
|
{
|
|
- return readl(wo->boot.addr + reg);
|
|
+ return readl(mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
|
|
}
|
|
|
|
static void wo_w32(struct mtk_wed_wo *wo, u32 reg, u32 val)
|
|
{
|
|
- writel(val, wo->boot.addr + reg);
|
|
+ writel(val, mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
|
|
}
|
|
|
|
static struct sk_buff *
|
|
@@ -294,18 +310,6 @@ next:
|
|
static int
|
|
mtk_wed_mcu_load_firmware(struct mtk_wed_wo *wo)
|
|
{
|
|
- static struct mtk_wed_wo_memory_region mem_region[] = {
|
|
- [MTK_WED_WO_REGION_EMI] = {
|
|
- .name = "wo-emi",
|
|
- },
|
|
- [MTK_WED_WO_REGION_ILM] = {
|
|
- .name = "wo-ilm",
|
|
- },
|
|
- [MTK_WED_WO_REGION_DATA] = {
|
|
- .name = "wo-data",
|
|
- .shared = true,
|
|
- },
|
|
- };
|
|
const struct mtk_wed_fw_trailer *trailer;
|
|
const struct firmware *fw;
|
|
const char *fw_name;
|
|
@@ -319,11 +323,6 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
|
|
return ret;
|
|
}
|
|
|
|
- wo->boot.name = "wo-boot";
|
|
- ret = mtk_wed_get_memory_region(wo, &wo->boot);
|
|
- if (ret)
|
|
- return ret;
|
|
-
|
|
/* set dummy cr */
|
|
wed_w32(wo->hw->wed_dev, MTK_WED_SCR0 + 4 * MTK_WED_DUMMY_CR_FWDL,
|
|
wo->hw->index + 1);
|
|
--- a/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_wed_wo.h
|
|
@@ -228,7 +228,6 @@ struct mtk_wed_wo_queue {
|
|
|
|
struct mtk_wed_wo {
|
|
struct mtk_wed_hw *hw;
|
|
- struct mtk_wed_wo_memory_region boot;
|
|
|
|
struct mtk_wed_wo_queue q_tx;
|
|
struct mtk_wed_wo_queue q_rx;
|