kernel: bump 5.4 to 5.4.124
[openwrt/openwrt.git] / target / linux / generic / pending-5.4 / 770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch
index d679e30bea657e5c4100d49fcfb0d0e120c19af7..f609f11d2ce1f23c2946c4592113a966f3f7099a 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2280,12 +2280,17 @@ static int mtk_open(struct net_device *d
+@@ -2301,12 +2301,17 @@ static int mtk_open(struct net_device *d
  
        /* we run 2 netdevs on the same dma ring so we only bring it up once */
        if (!refcount_read(&eth->dma_refcnt)) {
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
                napi_enable(&eth->tx_napi);
                napi_enable(&eth->rx_napi);
-@@ -2355,6 +2360,9 @@ static int mtk_stop(struct net_device *d
+@@ -2376,6 +2381,9 @@ static int mtk_stop(struct net_device *d
  
        mtk_dma_free(eth);
  
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  }
  
-@@ -3144,6 +3152,13 @@ static int mtk_probe(struct platform_dev
+@@ -3165,6 +3173,13 @@ static int mtk_probe(struct platform_dev
                        goto err_free_dev;
        }
  
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        for (i = 0; i < MTK_MAX_DEVS; i++) {
                if (!eth->netdev[i])
                        continue;
-@@ -3218,6 +3233,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3239,6 +3254,7 @@ static const struct mtk_soc_data mt7621_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7621_CLKS_BITMAP,
        .required_pctl = false,
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  };
  
  static const struct mtk_soc_data mt7622_data = {
-@@ -3226,6 +3242,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3247,6 +3263,7 @@ static const struct mtk_soc_data mt7622_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7622_CLKS_BITMAP,
        .required_pctl = false,
@@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define MTK_GDMA_DROP_ALL       0x7777
  
  /* Unicast Filter MAC Address Register - Low */
-@@ -308,6 +310,12 @@
+@@ -321,6 +323,12 @@
  #define RX_DMA_VID(_x)                ((_x) & 0xfff)
  
  /* QDMA descriptor rxd4 */
@@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define RX_DMA_L4_VALID               BIT(24)
  #define RX_DMA_L4_VALID_PDMA  BIT(30)         /* when PDMA is used */
  #define RX_DMA_FPORT_SHIFT    19
-@@ -807,6 +815,7 @@ struct mtk_soc_data {
+@@ -827,6 +835,7 @@ struct mtk_soc_data {
        u32             caps;
        u32             required_clks;
        bool            required_pctl;
@@ -123,7 +123,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        netdev_features_t hw_features;
  };
  
-@@ -918,6 +927,8 @@ struct mtk_eth {
+@@ -938,6 +947,8 @@ struct mtk_eth {
        u32                             tx_int_status_reg;
        u32                             rx_dma_l4_valid;
        int                             ip_align;
@@ -183,7 +183,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +{
 +      unsigned long timeout = jiffies + HZ;
 +
-+      while (time_is_before_jiffies(timeout)) {
++      while (time_is_after_jiffies(timeout)) {
 +              if (!(ppe_r32(ppe, MTK_PPE_GLO_CFG) & MTK_PPE_GLO_CFG_BUSY))
 +                      return 0;
 +