diff --git a/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch index f2f20eedab..80b1787395 100644 --- a/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch @@ -312,7 +312,7 @@ SVN-Revision: 35130 case IPV6_2292HOPOPTS: --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c -@@ -984,7 +984,7 @@ static bool ipv6_hop_jumbo(struct sk_buf +@@ -988,7 +988,7 @@ static bool ipv6_hop_jumbo(struct sk_buf goto drop; } diff --git a/target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch b/target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch index dc5051c72d..9d88ac8af8 100644 --- a/target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch +++ b/target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch @@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski break; --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5000,7 +5000,6 @@ static int mtk_sgmii_init(struct mtk_eth +@@ -5020,7 +5020,6 @@ static int mtk_sgmii_init(struct mtk_eth { struct device_node *np; struct regmap *regmap; @@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski int i; for (i = 0; i < MTK_MAX_DEVS; i++) { -@@ -5009,18 +5008,16 @@ static int mtk_sgmii_init(struct mtk_eth +@@ -5029,18 +5028,16 @@ static int mtk_sgmii_init(struct mtk_eth break; regmap = syscon_node_to_regmap(np); diff --git a/target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch b/target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch index 9bc3a752b0..e97a246adb 100644 --- a/target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch +++ b/target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch @@ -37,7 +37,7 @@ Signed-off-by: Bo-Cun Chen .glo_cfg = 0x4604, .rst_idx = 0x4608, .delay_irq = 0x460c, -@@ -4178,6 +4181,56 @@ static void mtk_set_mcr_max_rx(struct mt +@@ -4193,6 +4196,56 @@ static void mtk_set_mcr_max_rx(struct mt mtk_w32(mac->hw, mcr_new, MTK_MAC_MCR(mac->id)); } @@ -94,7 +94,7 @@ Signed-off-by: Bo-Cun Chen static void mtk_hw_reset(struct mtk_eth *eth) { u32 val; -@@ -4657,6 +4710,8 @@ static void mtk_pending_work(struct work +@@ -4677,6 +4730,8 @@ static void mtk_pending_work(struct work rtnl_lock(); set_bit(MTK_RESETTING, ð->state); diff --git a/target/linux/generic/kernel-6.18 b/target/linux/generic/kernel-6.18 index 5eb275ad23..b30a271d74 100644 --- a/target/linux/generic/kernel-6.18 +++ b/target/linux/generic/kernel-6.18 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.18 = .24 -LINUX_KERNEL_HASH-6.18.24 = c207c557ce58103b4dda30e26da5203f3d8467c6dadc53d709f6d83ae1d1255f +LINUX_VERSION-6.18 = .25 +LINUX_KERNEL_HASH-6.18.25 = 29680a07d4430b269af6ce68079b0e81dbd60f03e6f351e0661991fe39bd1898 diff --git a/target/linux/generic/pending-6.18/630-packet_socket_type.patch b/target/linux/generic/pending-6.18/630-packet_socket_type.patch index c896893ef8..0171d1fd0f 100644 --- a/target/linux/generic/pending-6.18/630-packet_socket_type.patch +++ b/target/linux/generic/pending-6.18/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3376,6 +3378,7 @@ static int packet_create(struct net *net +@@ -3381,6 +3383,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -4044,6 +4047,16 @@ packet_setsockopt(struct socket *sock, i +@@ -4049,6 +4052,16 @@ packet_setsockopt(struct socket *sock, i packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val); return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -4106,6 +4119,13 @@ static int packet_getsockopt(struct sock +@@ -4111,6 +4124,13 @@ static int packet_getsockopt(struct sock case PACKET_COPY_THRESH: val = READ_ONCE(pkt_sk(sk)->copy_thresh); break; diff --git a/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch b/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch index 1c9e5bac21..64290f3e1e 100644 --- a/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch +++ b/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5295,6 +5295,8 @@ static int mtk_probe(struct platform_dev +@@ -5315,6 +5315,8 @@ static int mtk_probe(struct platform_dev dev_err(eth->dev, "failed to allocated dummy device\n"); goto err_unreg_netdev; } diff --git a/target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch b/target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch index d8595e4dfd..40464bef54 100644 --- a/target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch +++ b/target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch @@ -291,7 +291,7 @@ Signed-off-by: Felix Fietkau eth->scratch_ring, eth->phy_scratch_ring, true); eth->scratch_ring = NULL; -@@ -5383,6 +5387,9 @@ static void mtk_remove(struct platform_d +@@ -5403,6 +5407,9 @@ static void mtk_remove(struct platform_d mtk_mdio_cleanup(eth); } @@ -301,7 +301,7 @@ Signed-off-by: Felix Fietkau static const struct mtk_soc_data mt2701_data = { .reg_map = &mtk_reg_map, .caps = MT7623_CAPS | MTK_HWLRO, -@@ -5391,14 +5398,14 @@ static const struct mtk_soc_data mt2701_ +@@ -5411,14 +5418,14 @@ static const struct mtk_soc_data mt2701_ .required_pctl = true, .version = 1, .tx = { @@ -318,7 +318,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, .dma_size = MTK_DMA_SIZE(2K), -@@ -5419,14 +5426,14 @@ static const struct mtk_soc_data mt7621_ +@@ -5439,14 +5446,14 @@ static const struct mtk_soc_data mt7621_ .hash_offset = 2, .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .tx = { @@ -335,7 +335,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, .dma_size = MTK_DMA_SIZE(2K), -@@ -5449,14 +5456,14 @@ static const struct mtk_soc_data mt7622_ +@@ -5469,14 +5476,14 @@ static const struct mtk_soc_data mt7622_ .has_accounting = true, .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .tx = { @@ -352,7 +352,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, .dma_size = MTK_DMA_SIZE(2K), -@@ -5478,14 +5485,14 @@ static const struct mtk_soc_data mt7623_ +@@ -5498,14 +5505,14 @@ static const struct mtk_soc_data mt7623_ .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .disable_pll_modes = true, .tx = { @@ -369,7 +369,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, .dma_size = MTK_DMA_SIZE(2K), -@@ -5504,14 +5511,14 @@ static const struct mtk_soc_data mt7629_ +@@ -5524,14 +5531,14 @@ static const struct mtk_soc_data mt7629_ .has_accounting = true, .version = 1, .tx = { @@ -386,7 +386,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, .dma_size = MTK_DMA_SIZE(2K), -@@ -5534,14 +5541,14 @@ static const struct mtk_soc_data mt7981_ +@@ -5554,14 +5561,14 @@ static const struct mtk_soc_data mt7981_ .has_accounting = true, .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE, .tx = { @@ -403,7 +403,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN, -@@ -5564,14 +5571,14 @@ static const struct mtk_soc_data mt7986_ +@@ -5584,14 +5591,14 @@ static const struct mtk_soc_data mt7986_ .has_accounting = true, .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE, .tx = { @@ -420,7 +420,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN, -@@ -5594,14 +5601,14 @@ static const struct mtk_soc_data mt7988_ +@@ -5614,14 +5621,14 @@ static const struct mtk_soc_data mt7988_ .has_accounting = true, .foe_entry_size = MTK_FOE_ENTRY_V3_SIZE, .tx = { @@ -437,7 +437,7 @@ Signed-off-by: Felix Fietkau .irq_done_mask = MTK_RX_DONE_INT_V2, .dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN_V2, -@@ -5618,13 +5625,13 @@ static const struct mtk_soc_data rt5350_ +@@ -5638,13 +5645,13 @@ static const struct mtk_soc_data rt5350_ .required_pctl = false, .version = 1, .tx = { diff --git a/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch b/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch index 3f0354cd96..09d2f4d08c 100644 --- a/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch +++ b/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch @@ -276,7 +276,7 @@ Signed-off-by: Felix Fietkau }; struct mtk_mib_entry { -@@ -348,6 +350,7 @@ void mtk_ppe_deinit(struct mtk_eth *eth) +@@ -349,6 +351,7 @@ void mtk_ppe_update_mtu(struct mtk_ppe * void mtk_ppe_start(struct mtk_ppe *ppe); int mtk_ppe_stop(struct mtk_ppe *ppe); int mtk_ppe_prepare_reset(struct mtk_ppe *ppe); @@ -284,7 +284,7 @@ Signed-off-by: Felix Fietkau void __mtk_ppe_check_skb(struct mtk_ppe *ppe, struct sk_buff *skb, u16 hash); -@@ -397,9 +400,8 @@ int mtk_foe_entry_set_queue(struct mtk_e +@@ -398,9 +401,8 @@ int mtk_foe_entry_set_queue(struct mtk_e unsigned int queue); int mtk_foe_entry_commit(struct mtk_ppe *ppe, struct mtk_flow_entry *entry); void mtk_foe_entry_clear(struct mtk_ppe *ppe, struct mtk_flow_entry *entry); diff --git a/target/linux/generic/pending-6.18/737-08-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch b/target/linux/generic/pending-6.18/737-08-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch index ec920fa217..c9e26898b6 100644 --- a/target/linux/generic/pending-6.18/737-08-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch +++ b/target/linux/generic/pending-6.18/737-08-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch @@ -18,7 +18,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5005,17 +5005,6 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5025,17 +5025,6 @@ static int mtk_add_mac(struct mtk_eth *e mac->hw = eth; mac->of_node = np; @@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip)); mac->hwlro_ip_cnt = 0; -@@ -5156,6 +5145,26 @@ free_netdev: +@@ -5176,6 +5165,26 @@ free_netdev: return err; } @@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev) { struct net_device *dev, *tmp; -@@ -5415,6 +5424,28 @@ static int mtk_probe(struct platform_dev +@@ -5435,6 +5444,28 @@ static int mtk_probe(struct platform_dev } } diff --git a/target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch b/target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch index ec56259584..91e3dc2ec6 100644 --- a/target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch +++ b/target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch @@ -275,7 +275,7 @@ Signed-off-by: Daniel Golle .mac_config = mtk_mac_config, .mac_finish = mtk_mac_finish, .mac_link_down = mtk_mac_link_down, -@@ -4971,7 +5004,8 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -4991,7 +5024,8 @@ static int mtk_add_mac(struct mtk_eth *e phy_interface_t phy_mode; struct phylink *phylink; struct mtk_mac *mac; @@ -285,7 +285,7 @@ Signed-off-by: Daniel Golle int txqs = 1; u32 val; -@@ -5042,6 +5076,7 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5062,6 +5096,7 @@ static int mtk_add_mac(struct mtk_eth *e mac->phylink_config.lpi_capabilities = MAC_100FD | MAC_1000FD | MAC_2500FD; mac->phylink_config.lpi_timer_default = 1000; @@ -293,7 +293,7 @@ Signed-off-by: Daniel Golle /* MT7623 gmac0 is now missing its speed-specific PLL configuration * in its .mac_config method (since state->speed is not valid there. -@@ -5072,13 +5107,62 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5092,13 +5127,62 @@ static int mtk_add_mac(struct mtk_eth *e if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_SGMII)) { __set_bit(PHY_INTERFACE_MODE_SGMII, @@ -359,7 +359,7 @@ Signed-off-by: Daniel Golle if (mtk_is_netsys_v3_or_greater(mac->hw) && MTK_HAS_CAPS(mac->hw->soc->caps, MTK_ESW) && id == MTK_GMAC1_ID) { -@@ -5088,18 +5172,16 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5108,18 +5192,16 @@ static int mtk_add_mac(struct mtk_eth *e phy_interface_zero(mac->phylink_config.supported_interfaces); __set_bit(PHY_INTERFACE_MODE_INTERNAL, mac->phylink_config.supported_interfaces); @@ -386,7 +386,7 @@ Signed-off-by: Daniel Golle if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_2P5GPHY) && id == MTK_GMAC2_ID) __set_bit(PHY_INTERFACE_MODE_INTERNAL, -@@ -5122,6 +5204,16 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5142,6 +5224,16 @@ static int mtk_add_mac(struct mtk_eth *e eth->netdev[id]->irq = eth->irq[MTK_FE_IRQ_SHARED]; eth->netdev[id]->dev.of_node = np; @@ -403,7 +403,7 @@ Signed-off-by: Daniel Golle if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN; else -@@ -5315,7 +5407,8 @@ static int mtk_probe(struct platform_dev +@@ -5335,7 +5427,8 @@ static int mtk_probe(struct platform_dev regmap_write(cci, 0, 3); } diff --git a/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch b/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch index 5850e41899..8a52eac1e6 100644 --- a/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch +++ b/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5682,7 +5682,7 @@ static const struct mtk_soc_data mt2701_ +@@ -5702,7 +5702,7 @@ static const struct mtk_soc_data mt2701_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5710,7 +5710,7 @@ static const struct mtk_soc_data mt7621_ +@@ -5730,7 +5730,7 @@ static const struct mtk_soc_data mt7621_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5740,7 +5740,7 @@ static const struct mtk_soc_data mt7622_ +@@ -5760,7 +5760,7 @@ static const struct mtk_soc_data mt7622_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5769,7 +5769,7 @@ static const struct mtk_soc_data mt7623_ +@@ -5789,7 +5789,7 @@ static const struct mtk_soc_data mt7623_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5795,7 +5795,7 @@ static const struct mtk_soc_data mt7629_ +@@ -5815,7 +5815,7 @@ static const struct mtk_soc_data mt7629_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5827,7 +5827,7 @@ static const struct mtk_soc_data mt7981_ +@@ -5847,7 +5847,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, @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau }, }; -@@ -5857,7 +5857,7 @@ static const struct mtk_soc_data mt7986_ +@@ -5877,7 +5877,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, @@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau }, }; -@@ -5910,7 +5910,7 @@ static const struct mtk_soc_data rt5350_ +@@ -5930,7 +5930,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, diff --git a/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch b/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch index 3dc8c8f6f9..e47033f7f8 100644 --- a/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch +++ b/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau help --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -4810,6 +4810,7 @@ static int mtk_get_sset_count(struct net +@@ -4830,6 +4830,7 @@ static int mtk_get_sset_count(struct net static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data) { @@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau struct page_pool_stats stats = {}; int i; -@@ -4822,6 +4823,7 @@ static void mtk_ethtool_pp_stats(struct +@@ -4842,6 +4843,7 @@ static void mtk_ethtool_pp_stats(struct page_pool_get_stats(ring->page_pool, &stats); } page_pool_ethtool_stats_get(data, &stats); diff --git a/target/linux/generic/pending-6.18/795-01-net-ethernet-mtk_ppe_offload-use-rhashtable_lookup_f.patch b/target/linux/generic/pending-6.18/795-01-net-ethernet-mtk_ppe_offload-use-rhashtable_lookup_f.patch index 12ece8d88f..61c7712017 100644 --- a/target/linux/generic/pending-6.18/795-01-net-ethernet-mtk_ppe_offload-use-rhashtable_lookup_f.patch +++ b/target/linux/generic/pending-6.18/795-01-net-ethernet-mtk_ppe_offload-use-rhashtable_lookup_f.patch @@ -34,7 +34,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -261,7 +261,8 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -280,7 +280,8 @@ mtk_flow_offload_replace(struct mtk_eth int err = 0; int i; @@ -44,7 +44,7 @@ Signed-off-by: Daniel Golle return -EEXIST; if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_META)) { -@@ -503,8 +504,8 @@ mtk_flow_offload_destroy(struct mtk_eth +@@ -522,8 +523,8 @@ mtk_flow_offload_destroy(struct mtk_eth { struct mtk_flow_entry *entry; @@ -55,7 +55,7 @@ Signed-off-by: Daniel Golle if (!entry) return -ENOENT; -@@ -525,8 +526,8 @@ mtk_flow_offload_stats(struct mtk_eth *e +@@ -544,8 +545,8 @@ mtk_flow_offload_stats(struct mtk_eth *e u64 packets, bytes; int idle; diff --git a/target/linux/generic/pending-6.18/795-03-net-ethernet-mtk_ppe_offload-set-output-device-befor.patch b/target/linux/generic/pending-6.18/795-03-net-ethernet-mtk_ppe_offload-set-output-device-befor.patch index 9aac7991b3..415368948c 100644 --- a/target/linux/generic/pending-6.18/795-03-net-ethernet-mtk_ppe_offload-set-output-device-befor.patch +++ b/target/linux/generic/pending-6.18/795-03-net-ethernet-mtk_ppe_offload-set-output-device-befor.patch @@ -27,7 +27,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -453,6 +453,14 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -472,6 +472,14 @@ mtk_flow_offload_replace(struct mtk_eth return err; } @@ -42,7 +42,7 @@ Signed-off-by: Daniel Golle if (offload_type == MTK_PPE_PKT_TYPE_BRIDGE) foe.bridge.vlan = data.vlan_in; -@@ -462,14 +470,6 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -481,14 +489,6 @@ mtk_flow_offload_replace(struct mtk_eth if (data.pppoe.num == 1) mtk_foe_entry_set_pppoe(eth, &foe, data.pppoe.sid); diff --git a/target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch b/target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch index 5807a027ac..7af29c1f2c 100644 --- a/target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch +++ b/target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle return NOTIFY_DONE; if (mac->speed > 0 && mac->speed <= s.base.speed) -@@ -5028,7 +5032,7 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5048,7 +5052,7 @@ static int mtk_add_mac(struct mtk_eth *e } if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) @@ -107,7 +107,7 @@ Signed-off-by: Daniel Golle eth->netdev[id] = alloc_etherdev_mqs(sizeof(*mac), txqs, 1); if (!eth->netdev[id]) { -@@ -5673,6 +5677,7 @@ static const struct mtk_soc_data mt2701_ +@@ -5693,6 +5697,7 @@ static const struct mtk_soc_data mt2701_ .required_clks = MT7623_CLKS_BITMAP, .required_pctl = true, .version = 1, @@ -115,7 +115,7 @@ Signed-off-by: Daniel Golle .tx = { DESC_SIZE(struct mtk_tx_dma), .dma_max_len = MTK_TX_DMA_BUF_LEN, -@@ -5700,6 +5705,7 @@ static const struct mtk_soc_data mt7621_ +@@ -5720,6 +5725,7 @@ static const struct mtk_soc_data mt7621_ .offload_version = 1, .ppe_num = 1, .hash_offset = 2, @@ -123,7 +123,7 @@ Signed-off-by: Daniel Golle .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .tx = { DESC_SIZE(struct mtk_tx_dma), -@@ -5730,6 +5736,7 @@ static const struct mtk_soc_data mt7622_ +@@ -5750,6 +5756,7 @@ static const struct mtk_soc_data mt7622_ .ppe_num = 1, .hash_offset = 2, .has_accounting = true, @@ -131,7 +131,7 @@ Signed-off-by: Daniel Golle .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .tx = { DESC_SIZE(struct mtk_tx_dma), -@@ -5758,6 +5765,7 @@ static const struct mtk_soc_data mt7623_ +@@ -5778,6 +5785,7 @@ static const struct mtk_soc_data mt7623_ .offload_version = 1, .ppe_num = 1, .hash_offset = 2, @@ -139,7 +139,7 @@ Signed-off-by: Daniel Golle .foe_entry_size = MTK_FOE_ENTRY_V1_SIZE, .disable_pll_modes = true, .tx = { -@@ -5786,6 +5794,7 @@ static const struct mtk_soc_data mt7629_ +@@ -5806,6 +5814,7 @@ static const struct mtk_soc_data mt7629_ .required_pctl = false, .has_accounting = true, .version = 1, @@ -147,7 +147,7 @@ Signed-off-by: Daniel Golle .tx = { DESC_SIZE(struct mtk_tx_dma), .dma_max_len = MTK_TX_DMA_BUF_LEN, -@@ -5815,6 +5824,7 @@ static const struct mtk_soc_data mt7981_ +@@ -5835,6 +5844,7 @@ static const struct mtk_soc_data mt7981_ .ppe_num = 2, .hash_offset = 4, .has_accounting = true, @@ -155,7 +155,7 @@ Signed-off-by: Daniel Golle .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE, .tx = { DESC_SIZE(struct mtk_tx_dma_v2), -@@ -5845,6 +5855,7 @@ static const struct mtk_soc_data mt7986_ +@@ -5865,6 +5875,7 @@ static const struct mtk_soc_data mt7986_ .ppe_num = 2, .hash_offset = 4, .has_accounting = true, @@ -163,7 +163,7 @@ Signed-off-by: Daniel Golle .foe_entry_size = MTK_FOE_ENTRY_V2_SIZE, .tx = { DESC_SIZE(struct mtk_tx_dma_v2), -@@ -5875,6 +5886,7 @@ static const struct mtk_soc_data mt7988_ +@@ -5895,6 +5906,7 @@ static const struct mtk_soc_data mt7988_ .ppe_num = 3, .hash_offset = 4, .has_accounting = true, diff --git a/target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch b/target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch index 3d982d4f95..3a0bac954c 100644 --- a/target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch +++ b/target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch @@ -114,7 +114,7 @@ Signed-off-by: Daniel Golle if (__ethtool_get_link_ksettings(dev, &s)) return NOTIFY_DONE; -@@ -5010,7 +5054,7 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5030,7 +5074,7 @@ static int mtk_add_mac(struct mtk_eth *e phy_interface_t phy_mode; struct phylink *phylink; struct mtk_mac *mac; @@ -123,7 +123,7 @@ Signed-off-by: Daniel Golle unsigned int sid; int txqs = 1; u32 val; -@@ -5045,6 +5089,16 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -5065,6 +5109,16 @@ static int mtk_add_mac(struct mtk_eth *e mac->hw = eth; mac->of_node = np; diff --git a/target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch b/target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch index f81fc0a164..065302bf4b 100644 --- a/target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch +++ b/target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch @@ -62,7 +62,7 @@ Signed-off-by: Daniel Golle return NOTIFY_DONE; } -@@ -4994,12 +4999,17 @@ static u16 mtk_select_queue(struct net_d +@@ -5014,12 +5019,17 @@ static u16 mtk_select_queue(struct net_d struct net_device *sb_dev) { struct mtk_mac *mac = netdev_priv(dev); diff --git a/target/linux/generic/pending-6.18/795-09-net-ethernet-mtk_ppe-offload-flows-to-MxL862xx-switc.patch b/target/linux/generic/pending-6.18/795-09-net-ethernet-mtk_ppe-offload-flows-to-MxL862xx-switc.patch index ba518a2c77..540a29c414 100644 --- a/target/linux/generic/pending-6.18/795-09-net-ethernet-mtk_ppe-offload-flows-to-MxL862xx-switc.patch +++ b/target/linux/generic/pending-6.18/795-09-net-ethernet-mtk_ppe-offload-flows-to-MxL862xx-switc.patch @@ -133,7 +133,7 @@ Signed-off-by: Daniel Golle if (dsa_port >= 0 && dsa_port < MTK_DSA_USER_PORT_MAX) { mac = netdev_priv(dev); -@@ -275,6 +308,17 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -294,6 +327,17 @@ mtk_flow_offload_replace(struct mtk_eth flow_rule_match_meta(rule, &match); if (mtk_is_netsys_v2_or_greater(eth)) { idev = __dev_get_by_index(&init_net, match.key->ingress_ifindex); @@ -148,6 +148,6 @@ Signed-off-by: Daniel Golle + * flow never binds in HW. + */ + mtk_flow_get_dsa_port(&idev, NULL); - if (idev && idev->netdev_ops == eth->netdev[0]->netdev_ops) { + if (mtk_flow_is_valid_idev(eth, idev)) { struct mtk_mac *mac = netdev_priv(idev); diff --git a/target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch b/target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch index db41e889f9..86d505c86a 100644 --- a/target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch +++ b/target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch @@ -126,7 +126,7 @@ Signed-off-by: Bo-Cun Chen if (mtk_is_netsys_v1(eth)) val |= MTK_QTX_SCH_LEAKY_BUCKET_EN; mtk_w32(eth, val, soc->reg_map->qdma.qtx_sch + ofs); -@@ -5993,6 +6029,37 @@ static const struct mtk_soc_data mt7986_ +@@ -6013,6 +6049,37 @@ static const struct mtk_soc_data mt7986_ }, }; @@ -164,7 +164,7 @@ Signed-off-by: Bo-Cun Chen static const struct mtk_soc_data mt7988_data = { .reg_map = &mt7988_reg_map, .ana_rgc3 = 0x128, -@@ -6055,6 +6122,7 @@ const struct of_device_id of_mtk_match[] +@@ -6075,6 +6142,7 @@ const struct of_device_id of_mtk_match[] { .compatible = "mediatek,mt7629-eth", .data = &mt7629_data }, { .compatible = "mediatek,mt7981-eth", .data = &mt7981_data }, { .compatible = "mediatek,mt7986-eth", .data = &mt7986_data }, diff --git a/target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch b/target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch index c9f638f5e6..8547a753df 100644 --- a/target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch +++ b/target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch @@ -15,7 +15,7 @@ Signed-off-by: Bo-Cun Chen --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -4570,27 +4570,40 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -4585,27 +4585,40 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, PSE_DUMMY_WORK_GDM(1) | PSE_DUMMY_WORK_GDM(2) | PSE_DUMMY_WORK_GDM(3) | DUMMY_PAGE_THR, PSE_DUMY_REQ); diff --git a/target/linux/mediatek/patches-6.18/901-arm-add-cmdline-override.patch b/target/linux/mediatek/patches-6.18/901-arm-add-cmdline-override.patch index 302791113e..505ba385df 100644 --- a/target/linux/mediatek/patches-6.18/901-arm-add-cmdline-override.patch +++ b/target/linux/mediatek/patches-6.18/901-arm-add-cmdline-override.patch @@ -51,7 +51,7 @@ Signed-off-by: Yoonji Park * CONFIG_CMDLINE is meant to be a default in case nothing else --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2386,6 +2386,14 @@ config CMDLINE_FORCE +@@ -2398,6 +2398,14 @@ config CMDLINE_FORCE endchoice