]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.6 to 6.6.91
authorJohn Audia <therealgraysky@proton.me>
Wed, 21 May 2025 13:37:23 +0000 (09:37 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 25 May 2025 15:57:18 +0000 (17:57 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.91

Removed upstreamed:
generic/pending-6.6/730-net-ethernet-mtk_eth_soc-reset-all-TX-queues-on-DMA-.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.91&id=68f29bb97a0e0519156664cdc23e8b1f129e3254

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 files changed:
target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
target/linux/generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch
target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
target/linux/generic/backport-6.6/751-01-v6.8-net-ethernet-mediatek-split-tx-and-rx-fields-in-mtk_.patch
target/linux/generic/backport-6.6/751-02-v6.8-net-ethernet-mediatek-use-QDMA-instead-of-ADMAv2-on-.patch
target/linux/generic/backport-6.6/752-25-v6.10-net-ethernet-mtk_eth_soc-handle-dma-buffer-size-soc-.patch
target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch
target/linux/generic/backport-6.6/752-28-v6.10-net-ethernet-mediatek-Allow-gaps-in-MAC-allocation.patch
target/linux/generic/backport-6.6/752-30-v6.10-net-ethernet-mtk_eth_soc-implement-.-get-set-_pausep.patch
target/linux/generic/backport-6.6/753-v6.15-net-ethernet-mediatek-add-EEE-support.patch
target/linux/generic/kernel-6.6
target/linux/generic/pending-6.6/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch
target/linux/generic/pending-6.6/730-net-ethernet-mtk_eth_soc-reset-all-TX-queues-on-DMA-.patch [deleted file]

index 870567c0589f860ea8cd2e4b9a30ff6b6b0cd4f5..bc1c1dd82d78d4448607fb8bd62bd17faa37bff7 100644 (file)
@@ -323,7 +323,7 @@ SVN-Revision: 35130
                                         SKB_DROP_REASON_IP_INHDR);
 --- a/include/linux/types.h
 +++ b/include/linux/types.h
-@@ -244,5 +244,11 @@ typedef void (*swap_func_t)(void *a, voi
+@@ -245,5 +245,11 @@ typedef void (*swap_func_t)(void *a, voi
  typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv);
  typedef int (*cmp_func_t)(const void *a, const void *b);
  
index 54ebaa1a80d3f675b5453d7bdbe5c26b987fd24f..c8cef08935c28decc218102850bafb1b09852ae2 100644 (file)
@@ -21,7 +21,7 @@ Cc: linux-kernel@vger.kernel.org
 
 --- a/include/linux/cpu.h
 +++ b/include/linux/cpu.h
-@@ -109,7 +109,7 @@ void notify_cpu_starting(unsigned int cp
+@@ -111,7 +111,7 @@ void notify_cpu_starting(unsigned int cp
  extern void cpu_maps_update_begin(void);
  extern void cpu_maps_update_done(void);
  int bringup_hibernate_cpu(unsigned int sleep_cpu);
index dd0640e2eec2e7f3f9d4ca5fd8566c9c4a1ee184..9e0bd14acfafea2c6b0f008274f2feed2388cb8c 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -4569,6 +4569,9 @@ static inline void netif_addr_unlock_bh(
+@@ -4580,6 +4580,9 @@ static inline void netif_addr_unlock_bh(
  
  void ether_setup(struct net_device *dev);
  
index ab12cc925fe9e8602cf97ebf5ffb2f9cb66da47d..7d232563cad50418d09987c4c4fd85e1f97b3665 100644 (file)
@@ -280,8 +280,8 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                                  ring->dma, ring->phys);
                ring->dma = NULL;
        }
-@@ -3124,7 +3124,7 @@ static void mtk_dma_free(struct mtk_eth
-                       netdev_reset_queue(eth->netdev[i]);
+@@ -3132,7 +3132,7 @@ static void mtk_dma_free(struct mtk_eth
        if (!MTK_HAS_CAPS(soc->caps, MTK_SRAM) && eth->scratch_ring) {
                dma_free_coherent(eth->dma_dev,
 -                                MTK_QDMA_RING_SIZE * soc->txrx.txd_size,
@@ -289,7 +289,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                                  eth->scratch_ring, eth->phy_scratch_ring);
                eth->scratch_ring = NULL;
                eth->phy_scratch_ring = 0;
-@@ -3174,7 +3174,7 @@ static irqreturn_t mtk_handle_irq_rx(int
+@@ -3182,7 +3182,7 @@ static irqreturn_t mtk_handle_irq_rx(int
  
        eth->rx_events++;
        if (likely(napi_schedule_prep(&eth->rx_napi))) {
@@ -298,7 +298,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                __napi_schedule(&eth->rx_napi);
        }
  
-@@ -3200,9 +3200,9 @@ static irqreturn_t mtk_handle_irq(int ir
+@@ -3208,9 +3208,9 @@ static irqreturn_t mtk_handle_irq(int ir
        const struct mtk_reg_map *reg_map = eth->soc->reg_map;
  
        if (mtk_r32(eth, reg_map->pdma.irq_mask) &
@@ -310,7 +310,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        mtk_handle_irq_rx(irq, _eth);
        }
        if (mtk_r32(eth, reg_map->tx_irq_mask) & MTK_TX_DONE_INT) {
-@@ -3220,10 +3220,10 @@ static void mtk_poll_controller(struct n
+@@ -3228,10 +3228,10 @@ static void mtk_poll_controller(struct n
        struct mtk_eth *eth = mac->hw;
  
        mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
@@ -323,7 +323,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  #endif
  
-@@ -3387,7 +3387,7 @@ static int mtk_open(struct net_device *d
+@@ -3395,7 +3395,7 @@ static int mtk_open(struct net_device *d
                napi_enable(&eth->tx_napi);
                napi_enable(&eth->rx_napi);
                mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
@@ -332,7 +332,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                refcount_set(&eth->dma_refcnt, 1);
        }
        else
-@@ -3471,7 +3471,7 @@ static int mtk_stop(struct net_device *d
+@@ -3479,7 +3479,7 @@ static int mtk_stop(struct net_device *d
        mtk_gdm_config(eth, MTK_GDMA_DROP_ALL);
  
        mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
@@ -341,7 +341,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        napi_disable(&eth->tx_napi);
        napi_disable(&eth->rx_napi);
  
-@@ -3947,9 +3947,9 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3955,9 +3955,9 @@ static int mtk_hw_init(struct mtk_eth *e
  
        /* FE int grouping */
        mtk_w32(eth, MTK_TX_DONE_INT, reg_map->pdma.int_grp);
@@ -353,7 +353,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
  
        if (mtk_is_netsys_v3_or_greater(eth)) {
-@@ -5057,11 +5057,15 @@ static const struct mtk_soc_data mt2701_
+@@ -5065,11 +5065,15 @@ static const struct mtk_soc_data mt2701_
        .required_clks = MT7623_CLKS_BITMAP,
        .required_pctl = true,
        .version = 1,
@@ -374,7 +374,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5077,11 +5081,15 @@ static const struct mtk_soc_data mt7621_
+@@ -5085,11 +5089,15 @@ static const struct mtk_soc_data mt7621_
        .offload_version = 1,
        .hash_offset = 2,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
@@ -395,7 +395,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5099,11 +5107,15 @@ static const struct mtk_soc_data mt7622_
+@@ -5107,11 +5115,15 @@ static const struct mtk_soc_data mt7622_
        .hash_offset = 2,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
@@ -416,7 +416,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5120,11 +5132,15 @@ static const struct mtk_soc_data mt7623_
+@@ -5128,11 +5140,15 @@ static const struct mtk_soc_data mt7623_
        .hash_offset = 2,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
        .disable_pll_modes = true,
@@ -437,7 +437,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5139,11 +5155,15 @@ static const struct mtk_soc_data mt7629_
+@@ -5147,11 +5163,15 @@ static const struct mtk_soc_data mt7629_
        .required_pctl = false,
        .has_accounting = true,
        .version = 1,
@@ -458,7 +458,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5161,11 +5181,15 @@ static const struct mtk_soc_data mt7981_
+@@ -5169,11 +5189,15 @@ static const struct mtk_soc_data mt7981_
        .hash_offset = 4,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
@@ -479,7 +479,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
        },
-@@ -5183,11 +5207,15 @@ static const struct mtk_soc_data mt7986_
+@@ -5191,11 +5215,15 @@ static const struct mtk_soc_data mt7986_
        .hash_offset = 4,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
@@ -500,7 +500,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
        },
-@@ -5205,11 +5233,15 @@ static const struct mtk_soc_data mt7988_
+@@ -5213,11 +5241,15 @@ static const struct mtk_soc_data mt7988_
        .hash_offset = 4,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V3_SIZE,
@@ -521,7 +521,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
        },
-@@ -5222,11 +5254,15 @@ static const struct mtk_soc_data rt5350_
+@@ -5230,11 +5262,15 @@ static const struct mtk_soc_data rt5350_
        .required_clks = MT7628_CLKS_BITMAP,
        .required_pctl = false,
        .version = 1,
index 27c512864e0b938e048a1401b9a64aca9ce51fbe..3531399b83155851ac3a355287f48bf47073d7ec 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        rxd->rxd5 = 0;
                        rxd->rxd6 = 0;
                        rxd->rxd7 = 0;
-@@ -3893,7 +3893,7 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3901,7 +3901,7 @@ static int mtk_hw_init(struct mtk_eth *e
        else
                mtk_hw_reset(eth);
  
@@ -94,7 +94,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                /* Set FE to PDMAv2 if necessary */
                val = mtk_r32(eth, MTK_FE_GLO_MISC);
                mtk_w32(eth,  val | BIT(4), MTK_FE_GLO_MISC);
-@@ -5187,11 +5187,11 @@ static const struct mtk_soc_data mt7981_
+@@ -5195,11 +5195,11 @@ static const struct mtk_soc_data mt7981_
                .dma_len_offset = 8,
        },
        .rx = {
@@ -110,7 +110,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        },
  };
  
-@@ -5213,11 +5213,11 @@ static const struct mtk_soc_data mt7986_
+@@ -5221,11 +5221,11 @@ static const struct mtk_soc_data mt7986_
                .dma_len_offset = 8,
        },
        .rx = {
index 27dac7214b72b5a1feade922ec22cd640ac78727..0df5a680b3605f4f410ebd0ac1143def90e50091 100644 (file)
@@ -169,7 +169,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        ring->frag_size = mtk_max_frag_size(rx_data_len);
-@@ -3143,7 +3150,10 @@ static void mtk_dma_free(struct mtk_eth
+@@ -3151,7 +3158,10 @@ static void mtk_dma_free(struct mtk_eth
                        mtk_rx_clean(eth, &eth->rx_ring[i], false);
        }
  
@@ -181,7 +181,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  
  static bool mtk_hw_reset_check(struct mtk_eth *eth)
-@@ -5065,11 +5075,14 @@ static const struct mtk_soc_data mt2701_
+@@ -5073,11 +5083,14 @@ static const struct mtk_soc_data mt2701_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -196,7 +196,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5089,11 +5102,14 @@ static const struct mtk_soc_data mt7621_
+@@ -5097,11 +5110,14 @@ static const struct mtk_soc_data mt7621_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -211,7 +211,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5115,11 +5131,14 @@ static const struct mtk_soc_data mt7622_
+@@ -5123,11 +5139,14 @@ static const struct mtk_soc_data mt7622_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -226,7 +226,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5140,11 +5159,14 @@ static const struct mtk_soc_data mt7623_
+@@ -5148,11 +5167,14 @@ static const struct mtk_soc_data mt7623_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -241,7 +241,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5163,11 +5185,14 @@ static const struct mtk_soc_data mt7629_
+@@ -5171,11 +5193,14 @@ static const struct mtk_soc_data mt7629_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -256,7 +256,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5189,6 +5214,8 @@ static const struct mtk_soc_data mt7981_
+@@ -5197,6 +5222,8 @@ static const struct mtk_soc_data mt7981_
                .desc_size = sizeof(struct mtk_tx_dma_v2),
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
@@ -265,7 +265,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
        .rx = {
                .desc_size = sizeof(struct mtk_rx_dma),
-@@ -5196,6 +5223,7 @@ static const struct mtk_soc_data mt7981_
+@@ -5204,6 +5231,7 @@ static const struct mtk_soc_data mt7981_
                .dma_l4_valid = RX_DMA_L4_VALID_V2,
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -273,7 +273,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -5215,6 +5243,8 @@ static const struct mtk_soc_data mt7986_
+@@ -5223,6 +5251,8 @@ static const struct mtk_soc_data mt7986_
                .desc_size = sizeof(struct mtk_tx_dma_v2),
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
@@ -282,7 +282,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
        .rx = {
                .desc_size = sizeof(struct mtk_rx_dma),
-@@ -5222,6 +5252,7 @@ static const struct mtk_soc_data mt7986_
+@@ -5230,6 +5260,7 @@ static const struct mtk_soc_data mt7986_
                .dma_l4_valid = RX_DMA_L4_VALID_V2,
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -290,7 +290,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -5241,6 +5272,8 @@ static const struct mtk_soc_data mt7988_
+@@ -5249,6 +5280,8 @@ static const struct mtk_soc_data mt7988_
                .desc_size = sizeof(struct mtk_tx_dma_v2),
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
@@ -299,7 +299,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
        .rx = {
                .desc_size = sizeof(struct mtk_rx_dma_v2),
-@@ -5248,6 +5281,7 @@ static const struct mtk_soc_data mt7988_
+@@ -5256,6 +5289,7 @@ static const struct mtk_soc_data mt7988_
                .dma_l4_valid = RX_DMA_L4_VALID_V2,
                .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
                .dma_len_offset = 8,
@@ -307,7 +307,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -5262,6 +5296,7 @@ static const struct mtk_soc_data rt5350_
+@@ -5270,6 +5304,7 @@ static const struct mtk_soc_data rt5350_
                .desc_size = sizeof(struct mtk_tx_dma),
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
@@ -315,7 +315,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
        .rx = {
                .desc_size = sizeof(struct mtk_rx_dma),
-@@ -5269,6 +5304,7 @@ static const struct mtk_soc_data rt5350_
+@@ -5277,6 +5312,7 @@ static const struct mtk_soc_data rt5350_
                .dma_l4_valid = RX_DMA_L4_VALID_PDMA,
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
index 1c5a7ae1006ec2e6d89ba59a75a4b40c8c902834..3ff126939b4ebe35af1e2c386371d78b709dbec8 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
                skb_record_rx_queue(skb, 0);
                napi_gro_receive(napi, skb);
-@@ -3280,37 +3291,27 @@ static int mtk_start_dma(struct mtk_eth
+@@ -3288,37 +3299,27 @@ static int mtk_start_dma(struct mtk_eth
        return 0;
  }
  
@@ -134,7 +134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  
-@@ -3370,7 +3371,10 @@ static int mtk_open(struct net_device *d
+@@ -3378,7 +3379,10 @@ static int mtk_open(struct net_device *d
  {
        struct mtk_mac *mac = netdev_priv(dev);
        struct mtk_eth *eth = mac->hw;
@@ -146,7 +146,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
        if (err) {
-@@ -3394,18 +3398,38 @@ static int mtk_open(struct net_device *d
+@@ -3402,18 +3406,38 @@ static int mtk_open(struct net_device *d
                for (i = 0; i < ARRAY_SIZE(eth->ppe); i++)
                        mtk_ppe_start(eth->ppe[i]);
  
@@ -190,7 +190,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        phylink_start(mac->phylink);
        netif_tx_start_all_queues(dev);
-@@ -3482,7 +3506,8 @@ static int mtk_stop(struct net_device *d
+@@ -3490,7 +3514,8 @@ static int mtk_stop(struct net_device *d
        if (!refcount_dec_and_test(&eth->dma_refcnt))
                return 0;
  
@@ -200,7 +200,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
        mtk_rx_irq_disable(eth, eth->soc->rx.irq_done_mask);
-@@ -4977,23 +5002,24 @@ static int mtk_probe(struct platform_dev
+@@ -4985,23 +5010,24 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
@@ -233,7 +233,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        }
  
        for (i = 0; i < MTK_MAX_DEVS; i++) {
-@@ -5096,6 +5122,7 @@ static const struct mtk_soc_data mt7621_
+@@ -5104,6 +5130,7 @@ static const struct mtk_soc_data mt7621_
        .required_pctl = false,
        .version = 1,
        .offload_version = 1,
@@ -241,7 +241,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .hash_offset = 2,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
        .tx = {
-@@ -5124,6 +5151,7 @@ static const struct mtk_soc_data mt7622_
+@@ -5132,6 +5159,7 @@ static const struct mtk_soc_data mt7622_
        .required_pctl = false,
        .version = 1,
        .offload_version = 2,
@@ -249,7 +249,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .hash_offset = 2,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
-@@ -5152,6 +5180,7 @@ static const struct mtk_soc_data mt7623_
+@@ -5160,6 +5188,7 @@ static const struct mtk_soc_data mt7623_
        .required_pctl = true,
        .version = 1,
        .offload_version = 1,
@@ -257,7 +257,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .hash_offset = 2,
        .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE,
        .disable_pll_modes = true,
-@@ -5207,6 +5236,7 @@ static const struct mtk_soc_data mt7981_
+@@ -5215,6 +5244,7 @@ static const struct mtk_soc_data mt7981_
        .required_pctl = false,
        .version = 2,
        .offload_version = 2,
@@ -265,7 +265,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .hash_offset = 4,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
-@@ -5236,6 +5266,7 @@ static const struct mtk_soc_data mt7986_
+@@ -5244,6 +5274,7 @@ static const struct mtk_soc_data mt7986_
        .required_pctl = false,
        .version = 2,
        .offload_version = 2,
@@ -273,7 +273,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .hash_offset = 4,
        .has_accounting = true,
        .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE,
-@@ -5265,6 +5296,7 @@ static const struct mtk_soc_data mt7988_
+@@ -5273,6 +5304,7 @@ static const struct mtk_soc_data mt7988_
        .required_pctl = false,
        .version = 3,
        .offload_version = 2,
index 77061eb3554fee251e22717fd88d910db0f78fa0..27ad9dca2cb16189a9948e7303463d8be6d9183d 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3400,7 +3400,7 @@ static int mtk_open(struct net_device *d
+@@ -3408,7 +3408,7 @@ static int mtk_open(struct net_device *d
  
                for (i = 0; i < MTK_MAX_DEVS; i++) {
                        if (!eth->netdev[i])
index 272ceb3b45e7e70c499800a61b4024891a729049..b16910e18eba2b821ac4e23fec615450db21ad60 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4482,6 +4482,20 @@ static int mtk_set_rxnfc(struct net_devi
+@@ -4490,6 +4490,20 @@ static int mtk_set_rxnfc(struct net_devi
        return ret;
  }
  
@@ -41,7 +41,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  static u16 mtk_select_queue(struct net_device *dev, struct sk_buff *skb,
                            struct net_device *sb_dev)
  {
-@@ -4510,8 +4524,10 @@ static const struct ethtool_ops mtk_etht
+@@ -4518,8 +4532,10 @@ static const struct ethtool_ops mtk_etht
        .get_strings            = mtk_get_strings,
        .get_sset_count         = mtk_get_sset_count,
        .get_ethtool_stats      = mtk_get_ethtool_stats,
index 009f211a2c155db92a41c711f6729388bddd9319..8066fbf3ad5649b0198d437c06f7fb9ff53f04b9 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
        mcr |= MAC_MCR_TX_EN | MAC_MCR_RX_EN | MAC_MCR_FORCE_LINK;
        mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
  }
-@@ -4496,6 +4506,61 @@ static int mtk_set_pauseparam(struct net
+@@ -4504,6 +4514,61 @@ static int mtk_set_pauseparam(struct net
        return phylink_ethtool_set_pauseparam(mac->phylink, pause);
  }
  
@@ -101,7 +101,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
  static u16 mtk_select_queue(struct net_device *dev, struct sk_buff *skb,
                            struct net_device *sb_dev)
  {
-@@ -4528,6 +4593,8 @@ static const struct ethtool_ops mtk_etht
+@@ -4536,6 +4601,8 @@ static const struct ethtool_ops mtk_etht
        .set_pauseparam         = mtk_set_pauseparam,
        .get_rxnfc              = mtk_get_rxnfc,
        .set_rxnfc              = mtk_set_rxnfc,
@@ -110,7 +110,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
  };
  
  static const struct net_device_ops mtk_netdev_ops = {
-@@ -4588,6 +4655,8 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4596,6 +4663,8 @@ static int mtk_add_mac(struct mtk_eth *e
        }
        mac = netdev_priv(eth->netdev[id]);
        eth->mac[id] = mac;
index e4ac53448d5984e71bca9960a1911d6fee4d4776..c0055ecd58ad179222d9eb4dfb572c9f1e889d21 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .90
-LINUX_KERNEL_HASH-6.6.90 = ff856748671629c1fefef219099e0b4b81131c2d325e768cb0806e204157014e
+LINUX_VERSION-6.6 = .91
+LINUX_KERNEL_HASH-6.6.91 = d08d3d175407a52cd0b25fc95e149bbd2fd6922cd37816c8fcfad18f95e254f4
index 05f64f7587b8695e2b4739e69637a7bbc7c95808..3b44c9aeab944674c60f65dcadc8b528b696a972 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -5125,6 +5125,8 @@ static int mtk_probe(struct platform_dev
+@@ -5133,6 +5133,8 @@ static int mtk_probe(struct platform_dev
         * for NAPI to work
         */
        init_dummy_netdev(&eth->dummy_dev);
diff --git a/target/linux/generic/pending-6.6/730-net-ethernet-mtk_eth_soc-reset-all-TX-queues-on-DMA-.patch b/target/linux/generic/pending-6.6/730-net-ethernet-mtk_eth_soc-reset-all-TX-queues-on-DMA-.patch
deleted file mode 100644 (file)
index 8d8e3d8..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 7d41a5a8e9c91cc6bb011dd953570738583dd091 Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Wed, 18 Sep 2024 02:01:01 +0100
-Subject: [PATCH] net: ethernet: mtk_eth_soc: reset all TX queues on DMA free
-
-The purpose of resetting the TX queue is to reset the
-byte and packet count as well as to clear the software
-flow control XOFF bit.
-
-MediaTek developers pointed out that netdev_reset_queue would only
-resets queue 0 of the network device.
-Queues that are not reset may cause unexpected issues.
-
-Packets may stop being sent after reset and "transmit timeout" log may
-be displayed.
-
-Import fix from MediaTek's SDK to resolve this issue.
-
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
----
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
---- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3149,11 +3149,19 @@ static int mtk_dma_init(struct mtk_eth *
- static void mtk_dma_free(struct mtk_eth *eth)
- {
-       const struct mtk_soc_data *soc = eth->soc;
--      int i;
-+      int i, j, txqs = 1;
-+
-+      if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
-+              txqs = MTK_QDMA_NUM_QUEUES;
-+
-+      for (i = 0; i < MTK_MAX_DEVS; i++) {
-+              if (!eth->netdev[i])
-+                      continue;
-+
-+              for (j = 0; j < txqs; j++)
-+                      netdev_tx_reset_queue(netdev_get_tx_queue(eth->netdev[i], j));
-+      }
--      for (i = 0; i < MTK_MAX_DEVS; i++)
--              if (eth->netdev[i])
--                      netdev_reset_queue(eth->netdev[i]);
-       if (!MTK_HAS_CAPS(soc->caps, MTK_SRAM) && eth->scratch_ring) {
-               dma_free_coherent(eth->dma_dev,
-                                 MTK_QDMA_RING_SIZE * soc->tx.desc_size,