]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.28 18756/head
authorMieczyslaw Nalewaj <namiltd@yahoo.com>
Fri, 9 May 2025 10:56:32 +0000 (12:56 +0200)
committerRobert Marko <robimarko@gmail.com>
Mon, 12 May 2025 16:10:03 +0000 (18:10 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.28

Removed upstreamed:
        generic/pending-6.12/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch[1]

Manually rebased:
        generic/pending-6.12/737-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch[2]
        generic/hack-6.12/781-usb-net-rndis-support-asr.patch[3]

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=6effe1c0fa823d9923f3b77547f201a5bab6c1e5
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=aea3ca60fafbdf0da5c930ff2f4105587deb6753
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=222b6685efe0d8c1cdb078a67bbe806f56d18f94

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18756
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/generic/backport-6.12/753-v6.15-net-ethernet-mediatek-add-EEE-support.patch
target/linux/generic/hack-6.12/204-module_strip.patch
target/linux/generic/hack-6.12/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch
target/linux/generic/hack-6.12/781-usb-net-rndis-support-asr.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch [deleted file]
target/linux/generic/pending-6.12/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
target/linux/generic/pending-6.12/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch
target/linux/generic/pending-6.12/737-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch
target/linux/generic/pending-6.12/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch
target/linux/generic/pending-6.12/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch

index a90a7087db46ec05bbea025a4bab1b22ab1ec8b8..2dda8b9d032af928fc274907677728dc3c69ee9c 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -786,6 +786,7 @@ static void mtk_mac_link_up(struct phyli
+@@ -782,6 +782,7 @@ static void mtk_mac_link_up(struct phyli
  
        mcr = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id));
        mcr &= ~(MAC_MCR_SPEED_100 | MAC_MCR_SPEED_1000 |
@@ -23,7 +23,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
                 MAC_MCR_FORCE_DPX | MAC_MCR_FORCE_TX_FC |
                 MAC_MCR_FORCE_RX_FC);
  
-@@ -811,6 +812,15 @@ static void mtk_mac_link_up(struct phyli
+@@ -807,6 +808,15 @@ static void mtk_mac_link_up(struct phyli
        if (rx_pause)
                mcr |= MAC_MCR_FORCE_RX_FC;
  
index 869a76de41bd26c3449a7ddcd59bc7e3b370d8df..d999e0992c63b94298a60a0b6109e357134c42de 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
-@@ -164,6 +164,7 @@ extern void cleanup_module(void);
+@@ -166,6 +166,7 @@ struct module_kobject *lookup_or_create_
  
  /* Generic info of form tag = "info" */
  #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
@@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /* For userspace: you can also call me... */
  #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
-@@ -239,12 +240,12 @@ extern void cleanup_module(void);
+@@ -241,12 +242,12 @@ struct module_kobject *lookup_or_create_
   * Author(s), use "Name <email>" or just "Name", for multiple
   * authors use multiple MODULE_AUTHOR() statements/lines.
   */
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /* Creates an alias so file2alias.c can find device table. */
  #define MODULE_DEVICE_TABLE(type, name)                                       \
  extern typeof(name) __mod_##type##__##name##_device_table             \
-@@ -271,7 +272,9 @@ extern typeof(name) __mod_##type##__##na
+@@ -273,7 +274,9 @@ extern typeof(name) __mod_##type##__##na
   */
  
  #if defined(MODULE) || !defined(CONFIG_SYSFS)
@@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #else
  #define MODULE_VERSION(_version)                                      \
        MODULE_INFO(version, _version);                                 \
-@@ -294,7 +297,7 @@ extern typeof(name) __mod_##type##__##na
+@@ -296,7 +299,7 @@ extern typeof(name) __mod_##type##__##na
  /* Optional firmware file (or files) needed by the module
   * format is simply firmware file name.  Multiple firmware
   * files require multiple MODULE_FIRMWARE() specifiers */
index ecba4bf7180cc6ccbcb9f829c0cf8782602b7624..d53794effcec096780daebbbe1673cab15798fb4 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
                .glo_cfg        = 0x4604,
                .rst_idx        = 0x4608,
                .delay_irq      = 0x460c,
-@@ -3900,6 +3903,56 @@ static void mtk_set_mcr_max_rx(struct mt
+@@ -3904,6 +3907,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 <bc-bocun.chen@mediatek.com>
  static void mtk_hw_reset(struct mtk_eth *eth)
  {
        u32 val;
-@@ -4379,6 +4432,8 @@ static void mtk_pending_work(struct work
+@@ -4383,6 +4436,8 @@ static void mtk_pending_work(struct work
        rtnl_lock();
        set_bit(MTK_RESETTING, &eth->state);
  
index d5cc7e0a7ef3efd7702b24ee066d87786b89441a..47339b6c22f7b2ffa1c2384e6554e3cd31d30a08 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/usb/rndis_host.c
 +++ b/drivers/net/usb/rndis_host.c
-@@ -640,6 +640,16 @@ static const struct driver_info   wwan_rnd
+@@ -630,6 +630,16 @@ static const struct driver_info   zte_rndi
        .tx_fixup =     rndis_tx_fixup,
  };
  
@@ -30,7 +30,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /*-------------------------------------------------------------------------*/
  
  static const struct usb_device_id     products [] = {
-@@ -676,6 +686,36 @@ static const struct usb_device_id produc
+@@ -666,6 +676,36 @@ static const struct usb_device_id produc
        USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
        .driver_info = (unsigned long) &rndis_info,
  }, {
@@ -64,6 +64,6 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +                                    USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
 +      .driver_info = (unsigned long) &asr_rndis_info,
 +}, {
-       /* Mobile Broadband Modem, seen in Novatel Verizon USB730L and
-        * Telit FN990A (RNDIS)
-        */
+       /* Novatel Verizon USB730L */
+       USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
+       .driver_info = (unsigned long) &rndis_info,
index f17e5a14105f27814ac726e208a1882362d9714e..70a35aa2aef2b6328f3d5f679b6d4a939fdb39d6 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .27
-LINUX_KERNEL_HASH-6.12.27 = 8f4655a4cc7f93d72f515bbca54756de26ddaf5949790da6a17f766e3c33dc79
+LINUX_VERSION-6.12 = .28
+LINUX_KERNEL_HASH-6.12.28 = e8a099182562aecff781de72ce769461e706d97af42d740dff20eb450dd5771e
diff --git a/target/linux/generic/pending-6.12/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch b/target/linux/generic/pending-6.12/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch
deleted file mode 100644 (file)
index 6bbe2ca..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 26 Apr 2025 17:18:03 +0200
-Subject: [PATCH] net: ipv6: fix UDPv6 GSO segmentation with NAT
-
-If any address or port is changed, update it in all packets and recalculate
-checksum.
-
-Fixes: 9fd1ff5d2ac7 ("udp: Support UDP fraglist GRO/GSO.")
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/ipv4/udp_offload.c
-+++ b/net/ipv4/udp_offload.c
-@@ -247,6 +247,62 @@ static struct sk_buff *__udpv4_gso_segme
-       return segs;
- }
-+static void __udpv6_gso_segment_csum(struct sk_buff *seg,
-+                                   struct in6_addr *oldip,
-+                                   const struct in6_addr *newip,
-+                                   __be16 *oldport, __be16 newport)
-+{
-+      struct udphdr *uh = udp_hdr(seg);
-+
-+      if (ipv6_addr_equal(oldip, newip) && *oldport == newport)
-+              return;
-+
-+      if (uh->check) {
-+              inet_proto_csum_replace16(&uh->check, seg, oldip->s6_addr32,
-+                                        newip->s6_addr32, true);
-+
-+              inet_proto_csum_replace2(&uh->check, seg, *oldport, newport,
-+                                       false);
-+              if (!uh->check)
-+                      uh->check = CSUM_MANGLED_0;
-+      }
-+
-+      *oldip = *newip;
-+      *oldport = newport;
-+}
-+
-+static struct sk_buff *__udpv6_gso_segment_list_csum(struct sk_buff *segs)
-+{
-+      const struct ipv6hdr *iph;
-+      const struct udphdr *uh;
-+      struct ipv6hdr *iph2;
-+      struct sk_buff *seg;
-+      struct udphdr *uh2;
-+
-+      seg = segs;
-+      uh = udp_hdr(seg);
-+      iph = ipv6_hdr(seg);
-+      uh2 = udp_hdr(seg->next);
-+      iph2 = ipv6_hdr(seg->next);
-+
-+      if (!(*(const u32 *)&uh->source ^ *(const u32 *)&uh2->source) &&
-+          ipv6_addr_equal(&iph->saddr, &iph2->saddr) &&
-+          ipv6_addr_equal(&iph->daddr, &iph2->daddr))
-+              return segs;
-+
-+      while ((seg = seg->next)) {
-+              uh2 = udp_hdr(seg);
-+              iph2 = ipv6_hdr(seg);
-+
-+              __udpv6_gso_segment_csum(seg, &iph2->saddr, &iph->saddr,
-+                                       &uh2->source, uh->source);
-+              __udpv6_gso_segment_csum(seg, &iph2->daddr, &iph->daddr,
-+                                       &uh2->dest, uh->dest);
-+      }
-+
-+      return segs;
-+}
-+
- static struct sk_buff *__udp_gso_segment_list(struct sk_buff *skb,
-                                             netdev_features_t features,
-                                             bool is_ipv6)
-@@ -259,7 +315,10 @@ static struct sk_buff *__udp_gso_segment
-       udp_hdr(skb)->len = htons(sizeof(struct udphdr) + mss);
--      return is_ipv6 ? skb : __udpv4_gso_segment_list_csum(skb);
-+      if (is_ipv6)
-+              return __udpv6_gso_segment_list_csum(skb);
-+      else
-+              return __udpv4_gso_segment_list_csum(skb);
- }
- struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb,
index d1c169f055345e451d2bd541a8a64e2efc2ea48d..f4b07485ea221aaf72b78cf17d9f3a100a78370c 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <net/page_pool/helpers.h>
  
  #include "mtk_eth_soc.h"
-@@ -1611,12 +1612,28 @@ static void mtk_wake_queue(struct mtk_et
+@@ -1607,12 +1608,28 @@ static void mtk_wake_queue(struct mtk_et
        }
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        bool gso = false;
        int tx_num;
  
-@@ -1638,6 +1655,18 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1634,6 +1651,18 @@ static netdev_tx_t mtk_start_xmit(struct
                return NETDEV_TX_BUSY;
        }
  
@@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        /* TSO: fill MSS info in tcp checksum field */
        if (skb_is_gso(skb)) {
                if (skb_cow_head(skb, 0)) {
-@@ -1653,8 +1682,14 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1649,8 +1678,14 @@ static netdev_tx_t mtk_start_xmit(struct
                }
        }
  
index 249adae3f023ec5251a14068e90b08cd8a874c3d..36c1d499d33cbc4cb79649064cdbd76bb6ba4aad 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
-@@ -2155,7 +2155,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -2151,7 +2151,7 @@ static int mtk_poll_rx(struct napi_struc
                        if (ret != XDP_PASS)
                                goto skip_rx;
  
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        if (unlikely(!skb)) {
                                page_pool_put_full_page(ring->page_pool,
                                                        page, true);
-@@ -2193,7 +2193,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -2189,7 +2189,7 @@ static int mtk_poll_rx(struct napi_struc
                        dma_unmap_single(eth->dma_dev, ((u64)trxd.rxd1 | addr64),
                                         ring->buf_size, DMA_FROM_DEVICE);
  
index 5d9a1c601fd9f6aeca32a178a5a8d0597ae9017d..3020f57250cd8c3ee90d1bffc6ca572b9331e0ab 100644 (file)
@@ -214,20 +214,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #include <linux/jhash.h>
  #include <linux/bitfield.h>
  #include <net/dsa.h>
-@@ -270,12 +272,8 @@ static const char * const mtk_clks_sourc
-       "ethwarp_wocpu2",
-       "ethwarp_wocpu1",
-       "ethwarp_wocpu0",
--      "top_usxgmii0_sel",
--      "top_usxgmii1_sel",
-       "top_sgm0_sel",
-       "top_sgm1_sel",
--      "top_xfi_phy0_xtal_sel",
--      "top_xfi_phy1_xtal_sel",
-       "top_eth_gmii_sel",
-       "top_eth_refck_50m_sel",
-       "top_eth_sys_200m_sel",
-@@ -518,6 +516,30 @@ static void mtk_setup_bridge_switch(stru
+@@ -514,6 +516,30 @@ static void mtk_setup_bridge_switch(stru
                MTK_GSW_CFG);
  }
  
@@ -258,7 +245,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static struct phylink_pcs *mtk_mac_select_pcs(struct phylink_config *config,
                                              phy_interface_t interface)
  {
-@@ -526,6 +548,21 @@ static struct phylink_pcs *mtk_mac_selec
+@@ -522,6 +548,21 @@ static struct phylink_pcs *mtk_mac_selec
        struct mtk_eth *eth = mac->hw;
        unsigned int sid;
  
@@ -280,7 +267,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (interface == PHY_INTERFACE_MODE_SGMII ||
            phy_interface_mode_is_8023z(interface)) {
                sid = (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_SGMII)) ?
-@@ -577,7 +614,22 @@ static void mtk_mac_config(struct phylin
+@@ -573,7 +614,22 @@ static void mtk_mac_config(struct phylin
                                        goto init_err;
                        }
                        break;
@@ -303,7 +290,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        break;
                default:
                        goto err_phy;
-@@ -624,8 +676,6 @@ static void mtk_mac_config(struct phylin
+@@ -620,8 +676,6 @@ static void mtk_mac_config(struct phylin
                val &= ~SYSCFG0_GE_MODE(SYSCFG0_GE_MASK, mac->id);
                val |= SYSCFG0_GE_MODE(ge_mode, mac->id);
                regmap_write(eth->ethsys, ETHSYS_SYSCFG0, val);
@@ -312,7 +299,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }
  
        /* SGMII */
-@@ -642,21 +692,40 @@ static void mtk_mac_config(struct phylin
+@@ -638,21 +692,40 @@ static void mtk_mac_config(struct phylin
  
                /* Save the syscfg0 value for mac_finish */
                mac->syscfg0 = val;
@@ -360,7 +347,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        return;
  
  err_phy:
-@@ -669,6 +738,18 @@ init_err:
+@@ -665,6 +738,18 @@ init_err:
                mac->id, phy_modes(state->interface), err);
  }
  
@@ -379,7 +366,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int mtk_mac_finish(struct phylink_config *config, unsigned int mode,
                          phy_interface_t interface)
  {
-@@ -677,6 +758,10 @@ static int mtk_mac_finish(struct phylink
+@@ -673,6 +758,10 @@ static int mtk_mac_finish(struct phylink
        struct mtk_eth *eth = mac->hw;
        u32 mcr_cur, mcr_new;
  
@@ -390,7 +377,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        /* Enable SGMII */
        if (interface == PHY_INTERFACE_MODE_SGMII ||
            phy_interface_mode_is_8023z(interface))
-@@ -701,10 +786,14 @@ static void mtk_mac_link_down(struct phy
+@@ -697,10 +786,14 @@ static void mtk_mac_link_down(struct phy
  {
        struct mtk_mac *mac = container_of(config, struct mtk_mac,
                                           phylink_config);
@@ -408,7 +395,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  }
  
  static void mtk_set_queue_speed(struct mtk_eth *eth, unsigned int idx,
-@@ -776,13 +865,11 @@ static void mtk_set_queue_speed(struct m
+@@ -772,13 +865,11 @@ static void mtk_set_queue_speed(struct m
        mtk_w32(eth, val, soc->reg_map->qdma.qtx_sch + ofs);
  }
  
@@ -426,7 +413,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        u32 mcr;
  
        mcr = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id));
-@@ -826,9 +913,63 @@ static void mtk_mac_link_up(struct phyli
+@@ -822,9 +913,63 @@ static void mtk_mac_link_up(struct phyli
        mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
  }
  
@@ -490,7 +477,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        .mac_finish = mtk_mac_finish,
        .mac_link_down = mtk_mac_link_down,
        .mac_link_up = mtk_mac_link_up,
-@@ -3432,6 +3573,9 @@ static int mtk_open(struct net_device *d
+@@ -3432,6 +3577,9 @@ static int mtk_open(struct net_device *d
  
        ppe_num = eth->soc->ppe_num;
  
@@ -500,7 +487,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
        if (err) {
                netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
-@@ -3582,6 +3726,9 @@ static int mtk_stop(struct net_device *d
+@@ -3582,6 +3730,9 @@ static int mtk_stop(struct net_device *d
        for (i = 0; i < ARRAY_SIZE(eth->ppe); i++)
                mtk_ppe_stop(eth->ppe[i]);
  
@@ -510,7 +497,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        return 0;
  }
  
-@@ -4672,6 +4819,7 @@ static const struct net_device_ops mtk_n
+@@ -4672,6 +4823,7 @@ static const struct net_device_ops mtk_n
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
  {
        const __be32 *_id = of_get_property(np, "reg", NULL);
@@ -518,7 +505,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        phy_interface_t phy_mode;
        struct phylink *phylink;
        struct mtk_mac *mac;
-@@ -4710,16 +4858,41 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4710,16 +4862,41 @@ static int mtk_add_mac(struct mtk_eth *e
        mac->id = id;
        mac->hw = eth;
        mac->of_node = np;
@@ -568,7 +555,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }
  
        memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip));
-@@ -4802,8 +4975,21 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4802,8 +4979,21 @@ 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);
@@ -590,7 +577,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        phylink = phylink_create(&mac->phylink_config,
                                 of_fwnode_handle(mac->of_node),
                                 phy_mode, &mtk_phylink_ops);
-@@ -4854,6 +5040,26 @@ free_netdev:
+@@ -4854,6 +5044,26 @@ free_netdev:
        return err;
  }
  
@@ -617,7 +604,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev)
  {
        struct net_device *dev, *tmp;
-@@ -5000,7 +5206,8 @@ static int mtk_probe(struct platform_dev
+@@ -5000,7 +5210,8 @@ static int mtk_probe(struct platform_dev
                        regmap_write(cci, 0, 3);
        }
  
@@ -627,7 +614,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                err = mtk_sgmii_init(eth);
  
                if (err)
-@@ -5111,6 +5318,24 @@ static int mtk_probe(struct platform_dev
+@@ -5111,6 +5322,24 @@ static int mtk_probe(struct platform_dev
                }
        }
  
@@ -652,7 +639,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
                err = devm_request_irq(eth->dev, eth->irq[0],
                                       mtk_handle_irq, 0,
-@@ -5221,6 +5446,11 @@ static void mtk_remove(struct platform_d
+@@ -5221,6 +5450,11 @@ static void mtk_remove(struct platform_d
                mtk_stop(eth->netdev[i]);
                mac = netdev_priv(eth->netdev[i]);
                phylink_disconnect_phy(mac->phylink);
index 41bb14c147a48064f0f15d886f9a7a3b5f48a3f1..12bb216d9310163ce58d5d5107a5f9fa20f4dc87 100644 (file)
@@ -30,7 +30,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
-@@ -5481,7 +5481,7 @@ static const struct mtk_soc_data mt2701_
+@@ -5485,7 +5485,7 @@ static const struct mtk_soc_data mt2701_
                .desc_size = sizeof(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 <nbd@nbd.name>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5509,7 +5509,7 @@ static const struct mtk_soc_data mt7621_
+@@ -5513,7 +5513,7 @@ static const struct mtk_soc_data mt7621_
                .desc_size = sizeof(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 <nbd@nbd.name>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5539,7 +5539,7 @@ static const struct mtk_soc_data mt7622_
+@@ -5543,7 +5543,7 @@ static const struct mtk_soc_data mt7622_
                .desc_size = sizeof(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 <nbd@nbd.name>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5568,7 +5568,7 @@ static const struct mtk_soc_data mt7623_
+@@ -5572,7 +5572,7 @@ static const struct mtk_soc_data mt7623_
                .desc_size = sizeof(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 <nbd@nbd.name>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5594,7 +5594,7 @@ static const struct mtk_soc_data mt7629_
+@@ -5598,7 +5598,7 @@ static const struct mtk_soc_data mt7629_
                .desc_size = sizeof(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 <nbd@nbd.name>
                .dma_max_len = MTK_TX_DMA_BUF_LEN,
                .dma_len_offset = 16,
        },
-@@ -5626,7 +5626,7 @@ static const struct mtk_soc_data mt7981_
+@@ -5630,7 +5630,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 <nbd@nbd.name>
        },
  };
  
-@@ -5656,7 +5656,7 @@ static const struct mtk_soc_data mt7986_
+@@ -5660,7 +5660,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 <nbd@nbd.name>
        },
  };
  
-@@ -5709,7 +5709,7 @@ static const struct mtk_soc_data rt5350_
+@@ -5713,7 +5713,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 f67ebb350af44c5340d86cf504eb02ab074239c0..a8a4dafb0f77190695251ee21183df8987185f9e 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4587,6 +4587,7 @@ static int mtk_get_sset_count(struct net
+@@ -4591,6 +4591,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 <nbd@nbd.name>
        struct page_pool_stats stats = {};
        int i;
  
-@@ -4599,6 +4600,7 @@ static void mtk_ethtool_pp_stats(struct
+@@ -4603,6 +4604,7 @@ static void mtk_ethtool_pp_stats(struct
                page_pool_get_stats(ring->page_pool, &stats);
        }
        page_pool_ethtool_stats_get(data, &stats);