mediatek: 6.6: refresh patches

This commit is contained in:
coolsnowwolf 2024-06-30 10:44:13 +08:00
parent 487e180766
commit aea7d683f1
2 changed files with 34 additions and 12 deletions

View File

@ -14,25 +14,25 @@ Signed-off-by: Robert Marko <robert.marko@sartura.hr>
--- a/drivers/net/phy/Kconfig --- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig
@@ -140,6 +140,11 @@ @@ -142,6 +142,11 @@ endif # RTL8366_SMI
endif # RTL8366_SMI comment "MII PHY device drivers"
+config AIROHA_EN8801SC_PHY +config AIROHA_EN8801SC_PHY
+ tristate "Airoha EN8801SC Gigabit PHY" + tristate "Airoha EN8801SC Gigabit PHY"
+ help + help
+ Currently supports the Airoha EN8801SC PHY. + Currently supports the Airoha EN8801SC PHY.
+ +
comment "MII PHY device drivers" config AIR_EN8811H_PHY
tristate "Airoha EN8811H 2.5 Gigabit PHY"
config AMD_PHY help
--- a/drivers/net/phy/Makefile --- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@ obj-y += $(sfp-obj-y) $(sfp-obj-m)
obj-$(CONFIG_ADIN_PHY) += adin.o obj-$(CONFIG_ADIN_PHY) += adin.o
obj-$(CONFIG_ADIN1100_PHY) += adin1100.o obj-$(CONFIG_ADIN1100_PHY) += adin1100.o
+obj-$(CONFIG_AIROHA_EN8801SC_PHY) += en8801sc.o +obj-$(CONFIG_AIROHA_EN8801SC_PHY) += en8801sc.o
obj-$(CONFIG_AIR_EN8811H_PHY) += air_en8811h.o
obj-$(CONFIG_AMD_PHY) += amd.o obj-$(CONFIG_AMD_PHY) += amd.o
obj-$(CONFIG_AQUANTIA_PHY) += aquantia/ obj-$(CONFIG_AQUANTIA_PHY) += aquantia/
obj-$(CONFIG_AX88796B_PHY) += ax88796b.o

View File

@ -23,9 +23,12 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
--- a/drivers/net/ethernet/mediatek/mtk_wed_mcu.c --- a/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
+++ b/drivers/net/ethernet/mediatek/mtk_wed_mcu.c +++ b/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
@@ -34,12 +34,23 @@ static struct mtk_wed_wo_memory_region m @@ -32,14 +32,25 @@ static struct mtk_wed_wo_memory_region m
},
};
static u32 wo_r32(struct mtk_wed_wo *wo, u32 reg) -static u32 wo_r32(u32 reg)
+static u32 wo_r32(struct mtk_wed_wo *wo, u32 reg)
{ {
- return readl(mem_region[MTK_WED_WO_REGION_BOOT].addr + reg); - return readl(mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
+ u32 val; + u32 val;
@ -39,7 +42,8 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
+ return val; + return val;
} }
static void wo_w32(struct mtk_wed_wo *wo, u32 reg, u32 val) -static void wo_w32(u32 reg, u32 val)
+static void wo_w32(struct mtk_wed_wo *wo, u32 reg, u32 val)
{ {
- writel(val, mem_region[MTK_WED_WO_REGION_BOOT].addr + reg); - writel(val, mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
+ if (wo->boot_regmap) + if (wo->boot_regmap)
@ -49,7 +53,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
} }
static struct sk_buff * static struct sk_buff *
@@ -313,6 +324,9 @@ mtk_wed_mcu_load_firmware(struct mtk_wed @@ -317,6 +328,9 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
u32 val, boot_cr; u32 val, boot_cr;
int ret, i; int ret, i;
@ -59,7 +63,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
/* load firmware region metadata */ /* load firmware region metadata */
for (i = 0; i < ARRAY_SIZE(mem_region); i++) { for (i = 0; i < ARRAY_SIZE(mem_region); i++) {
int index = of_property_match_string(wo->hw->node, int index = of_property_match_string(wo->hw->node,
@@ -321,6 +335,9 @@ mtk_wed_mcu_load_firmware(struct mtk_wed @@ -325,6 +339,9 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
if (index < 0) if (index < 0)
continue; continue;
@ -69,6 +73,24 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
ret = mtk_wed_get_reserved_memory_region(wo->hw, index, &mem_region[i]); ret = mtk_wed_get_reserved_memory_region(wo->hw, index, &mem_region[i]);
if (ret) if (ret)
return ret; return ret;
@@ -373,13 +390,13 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
boot_cr = MTK_WO_MCU_CFG_LS_WA_BOOT_ADDR_ADDR;
else
boot_cr = MTK_WO_MCU_CFG_LS_WM_BOOT_ADDR_ADDR;
- wo_w32(boot_cr, mem_region[MTK_WED_WO_REGION_EMI].phy_addr >> 16);
+ wo_w32(wo, boot_cr, mem_region[MTK_WED_WO_REGION_EMI].phy_addr >> 16);
/* wo firmware reset */
- wo_w32(MTK_WO_MCU_CFG_LS_WF_MCCR_CLR_ADDR, 0xc00);
+ wo_w32(wo, MTK_WO_MCU_CFG_LS_WF_MCCR_CLR_ADDR, 0xc00);
- val = wo_r32(MTK_WO_MCU_CFG_LS_WF_MCU_CFG_WM_WA_ADDR) |
+ val = wo_r32(wo, MTK_WO_MCU_CFG_LS_WF_MCU_CFG_WM_WA_ADDR) |
MTK_WO_MCU_CFG_LS_WF_WM_WA_WM_CPU_RSTB_MASK;
- wo_w32(MTK_WO_MCU_CFG_LS_WF_MCU_CFG_WM_WA_ADDR, val);
+ wo_w32(wo, MTK_WO_MCU_CFG_LS_WF_MCU_CFG_WM_WA_ADDR, val);
out:
release_firmware(fw);
--- 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
@@ -231,6 +231,7 @@ struct mtk_wed_wo_queue { @@ -231,6 +231,7 @@ struct mtk_wed_wo_queue {