net: ethernet: mtk_wed: move mem_region array out of mtk_wed_mcu_load_firmware
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 18 Sep 2023 10:29:09 +0000 (12:29 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 19 Sep 2023 16:27:55 +0000 (18:27 +0200)
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>
drivers/net/ethernet/mediatek/mtk_wed_mcu.c
drivers/net/ethernet/mediatek/mtk_wed_wo.h

index 4e48905ac70d4730661fb0dd704a0a2e33522875..cc54fbd7380aea926e3d5a43d97dd71e62e47125 100644 (file)
 #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_wo *wo)
                        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);
index 7a1a2a28f1acb24a889ad44d6156965371c893b2..8ed81761bf1055f84de77b457e10a6c44eb3cf50 100644 (file)
@@ -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;