kernel-5.4: bump to 5.4.102 and refresh patches
[openwrt/staging/mkresin.git] / target / linux / mediatek / patches-5.4 / 1011-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
index cc104927d8f7315f4b7d13e290b2bbc0c03acf9e..98886767a2d6aaa2e0615910f4ec796c73e06b1b 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        interface-type = "ace";
                        reg = <0x5000 0x1000>;
                };
-@@ -967,6 +967,8 @@
+@@ -969,6 +969,8 @@
                power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
                mediatek,ethsys = <&ethsys>;
                mediatek,sgmiisys = <&sgmiisys>;
@@ -37,12 +37,13 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/mfd/syscon.h>
  #include <linux/regmap.h>
  #include <linux/clk.h>
-@@ -2476,6 +2477,12 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2485,6 +2486,13 @@ static int mtk_hw_init(struct mtk_eth *e
        if (ret)
                goto err_disable_pm;
  
 +      if (of_dma_is_coherent(eth->dev->of_node)) {
-+              u32 mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA;
++              u32 mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
++                         ETHSYS_DMA_AG_MAP_PPE;
 +
 +              regmap_update_bits(eth->ethsys, ETHSYS_DMA_AG_MAP, mask, mask);
 +      }
@@ -50,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
                ret = device_reset(eth->dev);
                if (ret) {
-@@ -3078,6 +3085,16 @@ static int mtk_probe(struct platform_dev
+@@ -3083,6 +3091,16 @@ static int mtk_probe(struct platform_dev
                }
        }
  
@@ -69,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                                          GFP_KERNEL);
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
-@@ -425,6 +425,11 @@
+@@ -435,6 +435,12 @@
  #define RSTCTRL_FE            BIT(6)
  #define RSTCTRL_PPE           BIT(31)
  
@@ -77,6 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +#define ETHSYS_DMA_AG_MAP     0x408
 +#define ETHSYS_DMA_AG_MAP_PDMA        BIT(0)
 +#define ETHSYS_DMA_AG_MAP_QDMA        BIT(1)
++#define ETHSYS_DMA_AG_MAP_PPE BIT(2)
 +
  /* SGMII subsystem config registers */
  /* Register to auto-negotiation restart */