kernel: bump 5.15 to 5.15.81
authorJohn Audia <therealgraysky@proton.me>
Mon, 5 Dec 2022 17:33:26 +0000 (12:33 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 11 Dec 2022 01:42:52 +0000 (02:42 +0100)
Manually rebased:
backport-5.15/715-v6.0-net-ethernet-mtk_eth_soc-add-the-capability-to-run-m.patch
hack-5.15/645-netfilter-connmark-introduce-set-dscpmark.patch[1]

Removed upstreamed:
pending-5.15/701-netfilter-nf_flow_table-add-missing-locking.patch[2]

All other patches automatically rebased

1. Rebase by Kevin 'ldir' Darbyshire-Bryant<ldir@darbyshire-bryant.me.uk>
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.81&id=8db9e60cdfdae5b049e32e82323da8f0f989066a

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-stock
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-stock

Signed-off-by: John Audia <therealgraysky@proton.me>
49 files changed:
include/kernel-5.15
target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch
target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch
target/linux/generic/backport-5.15/020-v6.1-03-mm-vmscan.c-refactor-shrink_node.patch
target/linux/generic/backport-5.15/020-v6.1-06-mm-multigenerational-lru-aging.patch
target/linux/generic/backport-5.15/020-v6.1-07-mm-multigenerational-lru-eviction.patch
target/linux/generic/backport-5.15/702-v5.19-00-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
target/linux/generic/backport-5.15/702-v5.19-02-net-ethernet-mtk_eth_soc-add-support-for-Wireless-Et.patch
target/linux/generic/backport-5.15/702-v5.19-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch
target/linux/generic/backport-5.15/702-v5.19-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch
target/linux/generic/backport-5.15/702-v5.19-13-net-ethernet-mtk_eth_soc-use-standard-property-for-c.patch
target/linux/generic/backport-5.15/702-v5.19-19-net-ethernet-mtk_eth_soc-add-txd_size-to-mtk_soc_dat.patch
target/linux/generic/backport-5.15/702-v5.19-23-net-ethernet-mtk_eth_soc-add-rxd_size-to-mtk_soc_dat.patch
target/linux/generic/backport-5.15/702-v5.19-26-net-ethernet-mtk_eth_soc-introduce-device-register-m.patch
target/linux/generic/backport-5.15/702-v5.19-27-net-ethernet-mtk_eth_soc-introduce-MTK_NETSYS_V2-sup.patch
target/linux/generic/backport-5.15/702-v5.19-30-net-ethernet-mtk_eth_soc-introduce-support-for-mt798.patch
target/linux/generic/backport-5.15/702-v5.19-33-net-ethernet-mtk_eth_soc-enable-rx-cksum-offload-for.patch
target/linux/generic/backport-5.15/703-00-v5.16-net-convert-users-of-bitmap_foo-to-linkmode_foo.patch
target/linux/generic/backport-5.15/704-01-v5.17-net-mtk_eth_soc-populate-supported_interfaces-member.patch
target/linux/generic/backport-5.15/704-04-v5.17-net-mtk_eth_soc-use-phylink_generic_validate.patch
target/linux/generic/backport-5.15/704-05-v5.17-net-mtk_eth_soc-mark-as-a-legacy_pre_march2020-drive.patch
target/linux/generic/backport-5.15/704-06-v5.19-eth-mtk_eth_soc-remove-a-copy-of-the-NAPI_POLL_WEIGH.patch
target/linux/generic/backport-5.15/704-07-v5.19-mtk_eth_soc-remove-unused-mac-mode.patch
target/linux/generic/backport-5.15/704-11-v5.19-net-mtk_eth_soc-correct-802.3z-duplex-setting.patch
target/linux/generic/backport-5.15/706-01-v6.0-net-ethernet-mtk_eth_soc-add-basic-XDP-support.patch
target/linux/generic/backport-5.15/706-03-v6.0-net-ethernet-mtk_eth_soc-add-xmit-XDP-support.patch
target/linux/generic/backport-5.15/706-04-v6.0-net-ethernet-mtk_eth_soc-add-support-for-page_pool_g.patch
target/linux/generic/backport-5.15/713-v6.0-net-ethernet-mtk_eth_soc-move-gdma_to_ppe-and-ppe_ba.patch
target/linux/generic/backport-5.15/714-v6.0-net-ethernet-mtk_eth_soc-move-ppe-table-hash-offset-.patch
target/linux/generic/backport-5.15/715-v6.0-net-ethernet-mtk_eth_soc-add-the-capability-to-run-m.patch
target/linux/generic/backport-5.15/716-v6.0-net-ethernet-mtk_eth_soc-move-wdma_base-definitions-.patch
target/linux/generic/backport-5.15/717-v6.0-net-ethernet-mtk_eth_soc-add-foe_entry_size-to-mtk_e.patch
target/linux/generic/backport-5.15/721-v6.0-net-ethernet-mtk_eth_wed-add-wed-support-for-mt7986-.patch
target/linux/generic/backport-5.15/723-v6.0-net-ethernet-mtk_eth_soc-introduce-flow-offloading-s.patch
target/linux/generic/backport-5.15/724-v6.0-net-ethernet-mtk_eth_soc-enable-flow-offloading-supp.patch
target/linux/generic/backport-5.15/728-v6.1-01-net-ethernet-mtk_eth_soc-fix-possible-memory-leak-in.patch
target/linux/generic/hack-5.15/645-netfilter-connmark-introduce-set-dscpmark.patch
target/linux/generic/hack-5.15/901-debloat_sock_diag.patch
target/linux/generic/hack-5.15/902-debloat_proc.patch
target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-5.15/701-netfilter-nf_flow_table-add-missing-locking.patch [deleted file]
target/linux/generic/pending-5.15/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch
target/linux/generic/pending-5.15/731-net-ethernet-mediatek-ppe-add-support-for-flow-accou.patch
target/linux/generic/pending-5.15/732-03-net-ethernet-mtk_eth_soc-avoid-port_mg-assignment-on.patch
target/linux/generic/pending-5.15/732-04-net-ethernet-mtk_eth_soc-implement-multi-queue-suppo.patch
target/linux/generic/pending-5.15/732-09-net-ethernet-mtk_eth_soc-fix-VLAN-rx-hardware-accele.patch
target/linux/generic/pending-5.15/732-12-net-ethernet-mtk_eth_soc-drop-packets-to-WDMA-if-the.patch
target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch
target/linux/ramips/patches-5.15/700-net-ethernet-mediatek-support-net-labels.patch

index a95ca029de1a7232d0b1ad7a892499d783c69e7f..1e811b42ff2ecfd15301446dc5419fa2f5fb2ea7 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .80
-LINUX_KERNEL_HASH-5.15.80 = 3b321a6466d2021f60ed8d4e33bba21db2f23efc2ddd2d9fb775393d9afdfd4d
+LINUX_VERSION-5.15 = .81
+LINUX_KERNEL_HASH-5.15.81 = 8f885cdebd754d6e63b920cf6c3e5713e91bbf5f52e9d99eb0054ef7e8f096ab
index d8f61de8ebe21d100fd3fc4463c45f7542924bd5..3e707ef8ca983be94465207bf6da54d6b706c011 100644 (file)
@@ -258,7 +258,7 @@ SVN-Revision: 35130
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -941,10 +942,10 @@ static void tcp_v6_send_response(const s
+@@ -943,10 +944,10 @@ static void tcp_v6_send_response(const s
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
index 524f68990482d73c2724f3dafc09ae57d6376515..d8ee96258d73d91007b62ed86b91e65d6eda87ef 100644 (file)
@@ -22,6 +22,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                   QUIRK_FLAG_GENERIC_IMPLICIT_FB),
 +      DEVICE_FLG(0x09da, 0x2695, /* A4Tech FHD 1080p webcam */
 +                 QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE),
+       DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */
+                  QUIRK_FLAG_IFACE_SKIP_CLOSE),
  
-       /* Vendor matches */
-       VENDOR_FLG(0x045e, /* MS Lifecam */
index f466f1105c0ba1bdefb7a5823d3caddb3dc667a3..35b6894a64a119a4682e5617b09594cf5b883082 100644 (file)
@@ -119,7 +119,7 @@ Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
  /*
   * Determine how aggressively the anon and file LRU lists should be
   * scanned.  The relative value of each set of LRU lists is determined
-@@ -3032,7 +3129,6 @@ static void shrink_node(pg_data_t *pgdat
+@@ -3030,7 +3127,6 @@ static void shrink_node(pg_data_t *pgdat
        unsigned long nr_reclaimed, nr_scanned;
        struct lruvec *target_lruvec;
        bool reclaimable = false;
@@ -127,7 +127,7 @@ Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
  
        target_lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat);
  
-@@ -3048,93 +3144,7 @@ again:
+@@ -3046,93 +3142,7 @@ again:
        nr_reclaimed = sc->nr_reclaimed;
        nr_scanned = sc->nr_scanned;
  
index 6fc93d9422fc70508b9cd61b091327499cd39744..efe3f2e00a433439672f446af5464a975e7accc1 100644 (file)
@@ -1162,7 +1162,7 @@ Change-Id: I3ae8abc3100d023cecb3a699d86020ae6fc10a45
  #endif /* CONFIG_LRU_GEN */
  
  static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
-@@ -4333,6 +5276,11 @@ static void age_active_anon(struct pglis
+@@ -4331,6 +5274,11 @@ static void age_active_anon(struct pglis
        struct mem_cgroup *memcg;
        struct lruvec *lruvec;
  
index 09e4315dccb3c1c47466df6f65482836149b6222..6edb8f9fa76b40f217c01313d6f497242c88723c 100644 (file)
@@ -821,8 +821,8 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
  
  static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
 @@ -4433,6 +4978,11 @@ static void shrink_lruvec(struct lruvec
+       bool proportional_reclaim;
        struct blk_plug plug;
-       bool scan_adjusted;
  
 +      if (lru_gen_enabled()) {
 +              lru_gen_shrink_lruvec(lruvec, sc);
@@ -832,7 +832,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
        get_scan_count(lruvec, sc, nr);
  
        /* Record the original scan target for proportional adjustments later */
-@@ -4906,6 +5456,9 @@ static void snapshot_refaults(struct mem
+@@ -4904,6 +5454,9 @@ static void snapshot_refaults(struct mem
        struct lruvec *target_lruvec;
        unsigned long refaults;
  
index afd78fdda29930d1e48e6aff29179fb5d0b06c17..e13616fd834644e5ff287d70a598e0202fa9728b 100644 (file)
@@ -205,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                                  MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
                                  eth->scratch_ring,
                                  eth->phy_scratch_ring);
-@@ -2511,6 +2512,8 @@ static void mtk_dim_tx(struct work_struc
+@@ -2513,6 +2514,8 @@ static void mtk_dim_tx(struct work_struc
  
  static int mtk_hw_init(struct mtk_eth *eth)
  {
@@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        int i, val, ret;
  
        if (test_and_set_bit(MTK_HW_INIT, &eth->state))
-@@ -2523,6 +2526,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2525,6 +2528,10 @@ static int mtk_hw_init(struct mtk_eth *e
        if (ret)
                goto err_disable_pm;
  
@@ -225,7 +225,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) {
-@@ -3076,6 +3083,35 @@ free_netdev:
+@@ -3078,6 +3085,35 @@ free_netdev:
        return err;
  }
  
@@ -261,7 +261,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int mtk_probe(struct platform_device *pdev)
  {
        struct device_node *mac_np;
-@@ -3089,6 +3125,7 @@ static int mtk_probe(struct platform_dev
+@@ -3091,6 +3127,7 @@ static int mtk_probe(struct platform_dev
        eth->soc = of_device_get_match_data(&pdev->dev);
  
        eth->dev = &pdev->dev;
@@ -269,7 +269,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        eth->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(eth->base))
                return PTR_ERR(eth->base);
-@@ -3137,6 +3174,16 @@ static int mtk_probe(struct platform_dev
+@@ -3139,6 +3176,16 @@ static int mtk_probe(struct platform_dev
                }
        }
  
index 502d1d0e9b517541b6bd906718b05491bfc05a27..a623aa14d78f98f2a6e84437b0a9bc490d8bcc16 100644 (file)
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  static int mtk_msg_level = -1;
  module_param_named(msg_level, mtk_msg_level, int, 0);
-@@ -3206,6 +3207,22 @@ static int mtk_probe(struct platform_dev
+@@ -3208,6 +3209,22 @@ static int mtk_probe(struct platform_dev
                }
        }
  
index a17d49cac11ec9c2a60289f92d64099040d7c183..5002c38dc9cad0a07646fa6fbc2134cb27fb20cd 100644 (file)
@@ -10,16 +10,16 @@ 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
-@@ -2332,7 +2332,7 @@ static int mtk_open(struct net_device *d
-               if (err)
+@@ -2334,7 +2334,7 @@ static int mtk_open(struct net_device *d
                        return err;
+               }
  
 -              if (eth->soc->offload_version && mtk_ppe_start(&eth->ppe) == 0)
 +              if (eth->soc->offload_version && mtk_ppe_start(eth->ppe) == 0)
                        gdm_config = MTK_GDMA_TO_PPE;
  
                mtk_gdm_config(eth, gdm_config);
-@@ -2406,7 +2406,7 @@ static int mtk_stop(struct net_device *d
+@@ -2408,7 +2408,7 @@ static int mtk_stop(struct net_device *d
        mtk_dma_free(eth);
  
        if (eth->soc->offload_version)
@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        return 0;
  }
-@@ -3298,10 +3298,11 @@ static int mtk_probe(struct platform_dev
+@@ -3300,10 +3300,11 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index 76e8eb11fd586a99884c8215b857682a242e32fe..52b3add875d66e5a4f1a9bec33c5fe853e1cb1d8 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
                    (trxd.rxd2 & RX_DMA_VTAG))
                        __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
-@@ -3298,7 +3304,7 @@ static int mtk_probe(struct platform_dev
+@@ -3300,7 +3306,7 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index d87022fce43e05b37a2e45f67b4c32571c9765f2..0a2c1435f752d433029a48845d2173847c3c1a5c 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                mediatek,hifsys = <&hifsys>;
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3185,7 +3185,7 @@ static int mtk_probe(struct platform_dev
+@@ -3187,7 +3187,7 @@ static int mtk_probe(struct platform_dev
                struct regmap *cci;
  
                cci = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
index 7aeeda0ba065911da49b3f98ead5783e4709188e..d3feef28eb85323bbd6135e82ac0532adc6e4f60 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                eth->scratch_ring = NULL;
                eth->phy_scratch_ring = 0;
        }
-@@ -3388,6 +3391,9 @@ static const struct mtk_soc_data mt2701_
+@@ -3390,6 +3393,9 @@ static const struct mtk_soc_data mt2701_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7623_CLKS_BITMAP,
        .required_pctl = true,
@@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static const struct mtk_soc_data mt7621_data = {
-@@ -3396,6 +3402,9 @@ static const struct mtk_soc_data mt7621_
+@@ -3398,6 +3404,9 @@ static const struct mtk_soc_data mt7621_
        .required_clks = MT7621_CLKS_BITMAP,
        .required_pctl = false,
        .offload_version = 2,
@@ -105,7 +105,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static const struct mtk_soc_data mt7622_data = {
-@@ -3405,6 +3414,9 @@ static const struct mtk_soc_data mt7622_
+@@ -3407,6 +3416,9 @@ static const struct mtk_soc_data mt7622_
        .required_clks = MT7622_CLKS_BITMAP,
        .required_pctl = false,
        .offload_version = 2,
@@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static const struct mtk_soc_data mt7623_data = {
-@@ -3413,6 +3425,9 @@ static const struct mtk_soc_data mt7623_
+@@ -3415,6 +3427,9 @@ static const struct mtk_soc_data mt7623_
        .required_clks = MT7623_CLKS_BITMAP,
        .required_pctl = true,
        .offload_version = 2,
@@ -125,7 +125,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static const struct mtk_soc_data mt7629_data = {
-@@ -3421,6 +3436,9 @@ static const struct mtk_soc_data mt7629_
+@@ -3423,6 +3438,9 @@ static const struct mtk_soc_data mt7629_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7629_CLKS_BITMAP,
        .required_pctl = false,
@@ -135,7 +135,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static const struct mtk_soc_data rt5350_data = {
-@@ -3428,6 +3446,9 @@ static const struct mtk_soc_data rt5350_
+@@ -3430,6 +3448,9 @@ static const struct mtk_soc_data rt5350_
        .hw_features = MTK_HW_FEATURES_MT7628,
        .required_clks = MT7628_CLKS_BITMAP,
        .required_pctl = false,
index be258da75a9e1a178c6c0d9499fc0bed5c45bd04..5436e92dbeaa8a92280a223a81445981480017d7 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                ring->dma = NULL;
        }
  }
-@@ -3403,6 +3402,7 @@ static const struct mtk_soc_data mt2701_
+@@ -3405,6 +3404,7 @@ static const struct mtk_soc_data mt2701_
        .required_pctl = true,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3414,6 +3414,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3416,6 +3416,7 @@ static const struct mtk_soc_data mt7621_
        .offload_version = 2,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
@@ -50,7 +50,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3426,6 +3427,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3428,6 +3429,7 @@ static const struct mtk_soc_data mt7622_
        .offload_version = 2,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
@@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3437,6 +3439,7 @@ static const struct mtk_soc_data mt7623_
+@@ -3439,6 +3441,7 @@ static const struct mtk_soc_data mt7623_
        .offload_version = 2,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3448,6 +3451,7 @@ static const struct mtk_soc_data mt7629_
+@@ -3450,6 +3453,7 @@ static const struct mtk_soc_data mt7629_
        .required_pctl = false,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
@@ -74,7 +74,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3458,6 +3462,7 @@ static const struct mtk_soc_data rt5350_
+@@ -3460,6 +3464,7 @@ static const struct mtk_soc_data rt5350_
        .required_pctl = false,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
index 99f482c418fce6a1e5398251e9271924a212297b..945d4d9bb2e3fe726f99e7633adf432ddfe04c29 100644 (file)
@@ -415,7 +415,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        return 0;
-@@ -2437,8 +2497,8 @@ static int mtk_stop(struct net_device *d
+@@ -2439,8 +2499,8 @@ static int mtk_stop(struct net_device *d
        cancel_work_sync(&eth->tx_dim.work);
  
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
@@ -426,7 +426,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        mtk_dma_free(eth);
  
-@@ -2492,6 +2552,7 @@ static void mtk_dim_rx(struct work_struc
+@@ -2494,6 +2554,7 @@ static void mtk_dim_rx(struct work_struc
  {
        struct dim *dim = container_of(work, struct dim, work);
        struct mtk_eth *eth = container_of(dim, struct mtk_eth, rx_dim);
@@ -434,7 +434,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        struct dim_cq_moder cur_profile;
        u32 val, cur;
  
-@@ -2499,7 +2560,7 @@ static void mtk_dim_rx(struct work_struc
+@@ -2501,7 +2562,7 @@ static void mtk_dim_rx(struct work_struc
                                                dim->profile_ix);
        spin_lock_bh(&eth->dim_lock);
  
@@ -443,7 +443,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        val &= MTK_PDMA_DELAY_TX_MASK;
        val |= MTK_PDMA_DELAY_RX_EN;
  
-@@ -2509,9 +2570,9 @@ static void mtk_dim_rx(struct work_struc
+@@ -2511,9 +2572,9 @@ static void mtk_dim_rx(struct work_struc
        cur = min_t(u32, cur_profile.pkts, MTK_PDMA_DELAY_PINT_MASK);
        val |= cur << MTK_PDMA_DELAY_RX_PINT_SHIFT;
  
@@ -455,7 +455,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        spin_unlock_bh(&eth->dim_lock);
  
-@@ -2522,6 +2583,7 @@ static void mtk_dim_tx(struct work_struc
+@@ -2524,6 +2585,7 @@ static void mtk_dim_tx(struct work_struc
  {
        struct dim *dim = container_of(work, struct dim, work);
        struct mtk_eth *eth = container_of(dim, struct mtk_eth, tx_dim);
@@ -463,7 +463,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        struct dim_cq_moder cur_profile;
        u32 val, cur;
  
-@@ -2529,7 +2591,7 @@ static void mtk_dim_tx(struct work_struc
+@@ -2531,7 +2593,7 @@ static void mtk_dim_tx(struct work_struc
                                                dim->profile_ix);
        spin_lock_bh(&eth->dim_lock);
  
@@ -472,7 +472,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        val &= MTK_PDMA_DELAY_RX_MASK;
        val |= MTK_PDMA_DELAY_TX_EN;
  
-@@ -2539,9 +2601,9 @@ static void mtk_dim_tx(struct work_struc
+@@ -2541,9 +2603,9 @@ static void mtk_dim_tx(struct work_struc
        cur = min_t(u32, cur_profile.pkts, MTK_PDMA_DELAY_PINT_MASK);
        val |= cur << MTK_PDMA_DELAY_TX_PINT_SHIFT;
  
@@ -484,7 +484,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        spin_unlock_bh(&eth->dim_lock);
  
-@@ -2552,6 +2614,7 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2554,6 +2616,7 @@ static int mtk_hw_init(struct mtk_eth *e
  {
        u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
                       ETHSYS_DMA_AG_MAP_PPE;
@@ -492,7 +492,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        int i, val, ret;
  
        if (test_and_set_bit(MTK_HW_INIT, &eth->state))
-@@ -2626,10 +2689,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2628,10 +2691,10 @@ static int mtk_hw_init(struct mtk_eth *e
        mtk_rx_irq_disable(eth, ~0);
  
        /* FE int grouping */
@@ -507,7 +507,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
  
        return 0;
-@@ -3168,14 +3231,6 @@ static int mtk_probe(struct platform_dev
+@@ -3170,14 +3233,6 @@ static int mtk_probe(struct platform_dev
        if (IS_ERR(eth->base))
                return PTR_ERR(eth->base);
  
@@ -522,7 +522,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
                eth->rx_dma_l4_valid = RX_DMA_L4_VALID_PDMA;
                eth->ip_align = NET_IP_ALIGN;
-@@ -3409,6 +3464,7 @@ static int mtk_remove(struct platform_de
+@@ -3411,6 +3466,7 @@ static int mtk_remove(struct platform_de
  }
  
  static const struct mtk_soc_data mt2701_data = {
@@ -530,7 +530,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .caps = MT7623_CAPS | MTK_HWLRO,
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7623_CLKS_BITMAP,
-@@ -3420,6 +3476,7 @@ static const struct mtk_soc_data mt2701_
+@@ -3422,6 +3478,7 @@ static const struct mtk_soc_data mt2701_
  };
  
  static const struct mtk_soc_data mt7621_data = {
@@ -538,7 +538,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .caps = MT7621_CAPS,
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7621_CLKS_BITMAP,
-@@ -3432,6 +3489,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3434,6 +3491,7 @@ static const struct mtk_soc_data mt7621_
  };
  
  static const struct mtk_soc_data mt7622_data = {
@@ -546,7 +546,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .ana_rgc3 = 0x2028,
        .caps = MT7622_CAPS | MTK_HWLRO,
        .hw_features = MTK_HW_FEATURES,
-@@ -3445,6 +3503,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3447,6 +3505,7 @@ static const struct mtk_soc_data mt7622_
  };
  
  static const struct mtk_soc_data mt7623_data = {
@@ -554,7 +554,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .caps = MT7623_CAPS | MTK_HWLRO,
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7623_CLKS_BITMAP,
-@@ -3457,6 +3516,7 @@ static const struct mtk_soc_data mt7623_
+@@ -3459,6 +3518,7 @@ static const struct mtk_soc_data mt7623_
  };
  
  static const struct mtk_soc_data mt7629_data = {
@@ -562,7 +562,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .ana_rgc3 = 0x128,
        .caps = MT7629_CAPS | MTK_HWLRO,
        .hw_features = MTK_HW_FEATURES,
-@@ -3469,6 +3529,7 @@ static const struct mtk_soc_data mt7629_
+@@ -3471,6 +3531,7 @@ static const struct mtk_soc_data mt7629_
  };
  
  static const struct mtk_soc_data rt5350_data = {
index e15854ecad14bf714287358e551c145d4286163f..d1f19d6a4543374d7e4e06acf22a041a2944a2e1 100644 (file)
@@ -471,7 +471,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                mtk_w32(eth,
                        MTK_RX_DMA_EN | rx_2b_offset |
                        MTK_RX_BT_32DWORDS | MTK_MULTI_EN,
-@@ -2437,7 +2554,7 @@ static int mtk_open(struct net_device *d
+@@ -2439,7 +2556,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);
@@ -480,7 +480,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                refcount_set(&eth->dma_refcnt, 1);
        }
        else
-@@ -2489,7 +2606,7 @@ static int mtk_stop(struct net_device *d
+@@ -2491,7 +2608,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);
@@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        napi_disable(&eth->tx_napi);
        napi_disable(&eth->rx_napi);
  
-@@ -2649,9 +2766,25 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2651,9 +2768,25 @@ static int mtk_hw_init(struct mtk_eth *e
                return 0;
        }
  
@@ -518,7 +518,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        if (eth->pctl) {
                /* Set GE2 driving and slew rate */
-@@ -2690,11 +2823,47 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2692,11 +2825,47 @@ static int mtk_hw_init(struct mtk_eth *e
  
        /* FE int grouping */
        mtk_w32(eth, MTK_TX_DONE_INT, reg_map->pdma.int_grp);
@@ -568,7 +568,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        return 0;
  
  err_disable_pm:
-@@ -3231,12 +3400,8 @@ static int mtk_probe(struct platform_dev
+@@ -3233,12 +3402,8 @@ static int mtk_probe(struct platform_dev
        if (IS_ERR(eth->base))
                return PTR_ERR(eth->base);
  
@@ -582,7 +582,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        spin_lock_init(&eth->page_lock);
        spin_lock_init(&eth->tx_irq_lock);
-@@ -3472,6 +3637,10 @@ static const struct mtk_soc_data mt2701_
+@@ -3474,6 +3639,10 @@ static const struct mtk_soc_data mt2701_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
@@ -593,7 +593,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3485,6 +3654,10 @@ static const struct mtk_soc_data mt7621_
+@@ -3487,6 +3656,10 @@ static const struct mtk_soc_data mt7621_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
@@ -604,7 +604,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3499,6 +3672,10 @@ static const struct mtk_soc_data mt7622_
+@@ -3501,6 +3674,10 @@ static const struct mtk_soc_data mt7622_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
@@ -615,7 +615,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3512,6 +3689,10 @@ static const struct mtk_soc_data mt7623_
+@@ -3514,6 +3691,10 @@ static const struct mtk_soc_data mt7623_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
@@ -626,7 +626,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3525,6 +3706,10 @@ static const struct mtk_soc_data mt7629_
+@@ -3527,6 +3708,10 @@ static const struct mtk_soc_data mt7629_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
@@ -637,7 +637,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        },
  };
  
-@@ -3537,6 +3722,10 @@ static const struct mtk_soc_data rt5350_
+@@ -3539,6 +3724,10 @@ static const struct mtk_soc_data rt5350_
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
index 4baeb2244f086efe4618e45c420bd3ca9f4d0970..c14fcffcc54ff9b0cfbba2a69e9525d20c8b53bd 100644 (file)
@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  void mtk_w32(struct mtk_eth *eth, u32 val, unsigned reg)
-@@ -3709,6 +3746,21 @@ static const struct mtk_soc_data mt7629_
+@@ -3711,6 +3748,21 @@ static const struct mtk_soc_data mt7629_
        },
  };
  
@@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static const struct mtk_soc_data rt5350_data = {
        .reg_map = &mt7628_reg_map,
        .caps = MT7628_CAPS,
-@@ -3731,6 +3783,7 @@ const struct of_device_id of_mtk_match[]
+@@ -3733,6 +3785,7 @@ const struct of_device_id of_mtk_match[]
        { .compatible = "mediatek,mt7622-eth", .data = &mt7622_data},
        { .compatible = "mediatek,mt7623-eth", .data = &mt7623_data},
        { .compatible = "mediatek,mt7629-eth", .data = &mt7629_data},
index 2e3ad698b55d4611df55ea8333629b40f0374d78..56d0efb9031d20b95d95cde260b315d542dd2b0c 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        skb->ip_summed = CHECKSUM_UNNECESSARY;
                else
                        skb_checksum_none_assert(skb);
-@@ -3756,6 +3762,7 @@ static const struct mtk_soc_data mt7986_
+@@ -3758,6 +3764,7 @@ static const struct mtk_soc_data mt7986_
                .txd_size = sizeof(struct mtk_tx_dma_v2),
                .rxd_size = sizeof(struct mtk_rx_dma_v2),
                .rx_irq_done_mask = MTK_RX_DONE_INT_V2,
index 555e7eaa958c5c24d41b0b9abcf10270f39bdc99..ede1cc3a8d014f52f54e0e9c3c312ea67d505392 100644 (file)
@@ -637,7 +637,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void macb_usx_pcs_link_up(struct phylink_pcs *pcs, unsigned int mode,
 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
-@@ -968,7 +968,7 @@ static void enetc_pl_mac_validate(struct
+@@ -965,7 +965,7 @@ static void enetc_pl_mac_validate(struct
            state->interface != PHY_INTERFACE_MODE_2500BASEX &&
            state->interface != PHY_INTERFACE_MODE_USXGMII &&
            !phy_interface_mode_is_rgmii(state->interface)) {
@@ -646,7 +646,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                return;
        }
  
-@@ -991,10 +991,8 @@ static void enetc_pl_mac_validate(struct
+@@ -988,10 +988,8 @@ static void enetc_pl_mac_validate(struct
                phylink_set(mask, 2500baseX_Full);
        }
  
index 43e1f9cc31bb96fe683308deda80cc1a1e63f883..a602ed5c9c0e728d2d80d3d12dad84c1bf5b1326 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3352,6 +3352,26 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3354,6 +3354,26 @@ static int mtk_add_mac(struct mtk_eth *e
  
        mac->phylink_config.dev = &eth->netdev[id]->dev;
        mac->phylink_config.type = PHYLINK_NETDEV;
index 7f3734a76546abddd541d383d6b03656181796aa..2140a8267b3ae5104581977e039d7934c93e757d 100644 (file)
@@ -72,7 +72,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .mac_pcs_get_state = mtk_mac_pcs_get_state,
        .mac_an_restart = mtk_mac_an_restart,
        .mac_config = mtk_mac_config,
-@@ -3314,6 +3266,9 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3316,6 +3268,9 @@ static int mtk_add_mac(struct mtk_eth *e
  
        mac->phylink_config.dev = &eth->netdev[id]->dev;
        mac->phylink_config.type = PHYLINK_NETDEV;
index 6aa99acf77d86d9bd3d376b7db30af56596a3357..8b9a249e40ed716e4ad94272696844634ae3793f 100644 (file)
@@ -16,7 +16,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
-@@ -3266,6 +3266,10 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3268,6 +3268,10 @@ static int mtk_add_mac(struct mtk_eth *e
  
        mac->phylink_config.dev = &eth->netdev[id]->dev;
        mac->phylink_config.type = PHYLINK_NETDEV;
index e5f70e36f0bb977d9cd6ccbc84c001a3bd9b652e..97e0b3ccb06addaf538d7ec8aaa9c1014fb799c3 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3565,9 +3565,9 @@ static int mtk_probe(struct platform_dev
+@@ -3567,9 +3567,9 @@ static int mtk_probe(struct platform_dev
         */
        init_dummy_netdev(&eth->dummy_dev);
        netif_napi_add(&eth->dummy_dev, &eth->tx_napi, mtk_napi_tx,
index 4d896cdf39273d91dbcaa6afb2b40b54f4454357..9873edbc500737595641cbbaa106e32ee20348ec 100644 (file)
@@ -15,7 +15,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
-@@ -3261,7 +3261,6 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3263,7 +3263,6 @@ static int mtk_add_mac(struct mtk_eth *e
  
        /* mac config is not set */
        mac->interface = PHY_INTERFACE_MODE_NA;
index 140ff3cab5e1a6537174feaad073caf062f497ae..d4a4d511016d754731c082b59e1de1076b8373cf 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        mcr &= ~(MAC_MCR_SPEED_100 | MAC_MCR_SPEED_1000 |
                 MAC_MCR_FORCE_DPX | MAC_MCR_FORCE_TX_FC |
                 MAC_MCR_FORCE_RX_FC);
-@@ -3265,9 +3275,7 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3267,9 +3277,7 @@ static int mtk_add_mac(struct mtk_eth *e
  
        mac->phylink_config.dev = &eth->netdev[id]->dev;
        mac->phylink_config.type = PHYLINK_NETDEV;
index b930152dd1469093eafc3fcee5feb29d3dc67f00..f03f6a3a4149a5ee67c2bf0ab07f3187564266ab 100644 (file)
@@ -208,7 +208,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                struct page_pool *pp;
  
                pp = mtk_create_page_pool(eth, &ring->xdp_q, ring_no,
-@@ -2707,6 +2782,48 @@ static int mtk_stop(struct net_device *d
+@@ -2709,6 +2784,48 @@ static int mtk_stop(struct net_device *d
        return 0;
  }
  
@@ -257,7 +257,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void ethsys_reset(struct mtk_eth *eth, u32 reset_bits)
  {
        regmap_update_bits(eth->ethsys, ETHSYS_RSTCTRL,
-@@ -3002,6 +3119,12 @@ static int mtk_change_mtu(struct net_dev
+@@ -3004,6 +3121,12 @@ static int mtk_change_mtu(struct net_dev
        struct mtk_eth *eth = mac->hw;
        u32 mcr_cur, mcr_new;
  
@@ -270,7 +270,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (!MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
                mcr_cur = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id));
                mcr_new = mcr_cur & ~MAC_MCR_MAX_RX_MASK;
-@@ -3329,6 +3452,7 @@ static const struct net_device_ops mtk_n
+@@ -3331,6 +3454,7 @@ static const struct net_device_ops mtk_n
        .ndo_poll_controller    = mtk_poll_controller,
  #endif
        .ndo_setup_tc           = mtk_eth_setup_tc,
index 42b3ea215d8daa8ae43efcdb32db5112e9243b91..345c6bed01b995389c72b4a60b36478076dcd659 100644 (file)
@@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                }
  
                mtk_tx_unmap(eth, tx_buf, true);
-@@ -3475,6 +3624,7 @@ static const struct net_device_ops mtk_n
+@@ -3477,6 +3626,7 @@ static const struct net_device_ops mtk_n
  #endif
        .ndo_setup_tc           = mtk_eth_setup_tc,
        .ndo_bpf                = mtk_xdp,
index d372f022c7ec5e44cd89335328dd27708bd5e508..8302cb05c4335051de79bf243d2f0b318fd742a6 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
          MediaTek SoC family.
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3485,11 +3485,18 @@ static void mtk_get_strings(struct net_d
+@@ -3487,11 +3487,18 @@ static void mtk_get_strings(struct net_d
        int i;
  
        switch (stringset) {
@@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                break;
        }
  }
-@@ -3497,13 +3504,35 @@ static void mtk_get_strings(struct net_d
+@@ -3499,13 +3506,35 @@ static void mtk_get_strings(struct net_d
  static int mtk_get_sset_count(struct net_device *dev, int sset)
  {
        switch (sset) {
@@ -84,7 +84,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void mtk_get_ethtool_stats(struct net_device *dev,
                                  struct ethtool_stats *stats, u64 *data)
  {
-@@ -3531,6 +3560,8 @@ static void mtk_get_ethtool_stats(struct
+@@ -3533,6 +3562,8 @@ static void mtk_get_ethtool_stats(struct
  
                for (i = 0; i < ARRAY_SIZE(mtk_ethtool_stats); i++)
                        *data_dst++ = *(data_src + mtk_ethtool_stats[i].offset);
index 008e20416dcda25851089292a24f4cfbf8fdc56d..ca2d161056d29f5451a2800b279ecb9b755cc952 100644 (file)
@@ -65,9 +65,9 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
                u32 gdm_config = MTK_GDMA_TO_PDMA;
                int err;
  
-@@ -2931,15 +2936,15 @@ static int mtk_open(struct net_device *d
-               if (err)
+@@ -2933,15 +2938,15 @@ static int mtk_open(struct net_device *d
                        return err;
+               }
  
 -              if (eth->soc->offload_version && mtk_ppe_start(eth->ppe) == 0)
 -                      gdm_config = MTK_GDMA_TO_PPE;
@@ -84,7 +84,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
                refcount_set(&eth->dma_refcnt, 1);
        }
        else
-@@ -4045,7 +4050,9 @@ static int mtk_probe(struct platform_dev
+@@ -4047,7 +4052,9 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index dd3bb158005697c95d1b3b4f6d6b35b29d10d76e..89a3aa98931b905027bdca25d71cae80e35935bc 100644 (file)
@@ -44,7 +44,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4148,6 +4148,7 @@ static const struct mtk_soc_data mt7621_
+@@ -4150,6 +4150,7 @@ static const struct mtk_soc_data mt7621_
        .required_clks = MT7621_CLKS_BITMAP,
        .required_pctl = false,
        .offload_version = 2,
@@ -52,7 +52,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4166,6 +4167,7 @@ static const struct mtk_soc_data mt7622_
+@@ -4168,6 +4169,7 @@ static const struct mtk_soc_data mt7622_
        .required_clks = MT7622_CLKS_BITMAP,
        .required_pctl = false,
        .offload_version = 2,
@@ -60,7 +60,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4183,6 +4185,7 @@ static const struct mtk_soc_data mt7623_
+@@ -4185,6 +4187,7 @@ static const struct mtk_soc_data mt7623_
        .required_clks = MT7623_CLKS_BITMAP,
        .required_pctl = true,
        .offload_version = 2,
@@ -68,7 +68,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4216,6 +4219,7 @@ static const struct mtk_soc_data mt7986_
+@@ -4218,6 +4221,7 @@ static const struct mtk_soc_data mt7986_
        .caps = MT7986_CAPS,
        .required_clks = MT7986_CLKS_BITMAP,
        .required_pctl = false,
index 0b207ff6a1f81e2cd4aa2c9283133431bf552afe..9f4875eed3b43371f019060d645628b6806ae729 100644 (file)
@@ -57,7 +57,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
  
                if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX) {
                        if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
-@@ -2929,15 +2929,19 @@ static int mtk_open(struct net_device *d
+@@ -2929,7 +2929,8 @@ 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)) {
                const struct mtk_soc_data *soc = eth->soc;
@@ -67,8 +67,9 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
                int err;
  
                err = mtk_start_dma(eth);
-               if (err)
+@@ -2938,8 +2939,11 @@ static int mtk_open(struct net_device *d
                        return err;
+               }
  
 -              if (soc->offload_version && mtk_ppe_start(eth->ppe) == 0)
 -                      gdm_config = soc->reg_map->gdma_to_ppe0;
@@ -76,11 +77,11 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 +                      mtk_ppe_start(eth->ppe[i]);
 +
 +              gdm_config = soc->offload_version ? soc->reg_map->gdma_to_ppe0
-+                                                : MTK_GDMA_TO_PDMA;
++                      : MTK_GDMA_TO_PDMA;
  
                mtk_gdm_config(eth, gdm_config);
  
-@@ -2982,6 +2986,7 @@ static int mtk_stop(struct net_device *d
+@@ -2984,6 +2988,7 @@ static int mtk_stop(struct net_device *d
  {
        struct mtk_mac *mac = netdev_priv(dev);
        struct mtk_eth *eth = mac->hw;
@@ -88,7 +89,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
  
        phylink_stop(mac->phylink);
  
-@@ -3009,8 +3014,8 @@ static int mtk_stop(struct net_device *d
+@@ -3011,8 +3016,8 @@ static int mtk_stop(struct net_device *d
  
        mtk_dma_free(eth);
  
@@ -99,7 +100,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
  
        return 0;
  }
-@@ -4050,12 +4055,19 @@ static int mtk_probe(struct platform_dev
+@@ -4052,12 +4057,19 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index e984f4b68b23820cdf174bc6f1d1c29fba288104..9ac6875da148478543ce43938e29bbd53c6ca263 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
  };
  
  /* strings used by ethtool */
-@@ -3967,16 +3975,12 @@ static int mtk_probe(struct platform_dev
+@@ -3969,16 +3977,12 @@ static int mtk_probe(struct platform_dev
        for (i = 0;; i++) {
                struct device_node *np = of_parse_phandle(pdev->dev.of_node,
                                                          "mediatek,wed", i);
index c24bd8022c90d55998e15880c1bafb3ca2ad6633..16bc8e29fc1b086aa15de304e7ee64ca8b3b16bd 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4165,6 +4165,7 @@ static const struct mtk_soc_data mt7621_
+@@ -4167,6 +4167,7 @@ static const struct mtk_soc_data mt7621_
        .required_pctl = false,
        .offload_version = 2,
        .hash_offset = 2,
@@ -29,7 +29,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4184,6 +4185,7 @@ static const struct mtk_soc_data mt7622_
+@@ -4186,6 +4187,7 @@ static const struct mtk_soc_data mt7622_
        .required_pctl = false,
        .offload_version = 2,
        .hash_offset = 2,
@@ -37,7 +37,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4202,6 +4204,7 @@ static const struct mtk_soc_data mt7623_
+@@ -4204,6 +4206,7 @@ static const struct mtk_soc_data mt7623_
        .required_pctl = true,
        .offload_version = 2,
        .hash_offset = 2,
index 71bfcdbac8b41b7736838514a6fc74da1d6c24bf..cd841d2dafcb9ffbb7d3550eefd4bce7273fcd3f 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3892,6 +3892,7 @@ void mtk_eth_set_dma_device(struct mtk_e
+@@ -3894,6 +3894,7 @@ void mtk_eth_set_dma_device(struct mtk_e
  
  static int mtk_probe(struct platform_device *pdev)
  {
@@ -34,7 +34,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        struct device_node *mac_np;
        struct mtk_eth *eth;
        int err, i;
-@@ -3972,16 +3973,31 @@ static int mtk_probe(struct platform_dev
+@@ -3974,16 +3975,31 @@ static int mtk_probe(struct platform_dev
                }
        }
  
index 1ecbf485f1d990c90c0400ed0ee4e8abd1770b59..2fb0b1dfd670aa1ff9982bccb5852f193d90e388 100644 (file)
@@ -49,7 +49,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
                if (reason == MTK_PPE_CPU_REASON_HIT_UNBIND_RATE_REACHED)
                        mtk_ppe_check_skb(eth->ppe[0], skb, hash);
  
-@@ -4181,7 +4182,7 @@ static const struct mtk_soc_data mt7621_
+@@ -4183,7 +4184,7 @@ static const struct mtk_soc_data mt7621_
        .required_pctl = false,
        .offload_version = 2,
        .hash_offset = 2,
@@ -58,7 +58,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4201,7 +4202,7 @@ static const struct mtk_soc_data mt7622_
+@@ -4203,7 +4204,7 @@ static const struct mtk_soc_data mt7622_
        .required_pctl = false,
        .offload_version = 2,
        .hash_offset = 2,
@@ -67,7 +67,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4220,7 +4221,7 @@ static const struct mtk_soc_data mt7623_
+@@ -4222,7 +4223,7 @@ static const struct mtk_soc_data mt7623_
        .required_pctl = true,
        .offload_version = 2,
        .hash_offset = 2,
@@ -76,7 +76,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4252,9 +4253,11 @@ static const struct mtk_soc_data mt7986_
+@@ -4254,9 +4255,11 @@ static const struct mtk_soc_data mt7986_
        .reg_map = &mt7986_reg_map,
        .ana_rgc3 = 0x128,
        .caps = MT7986_CAPS,
index 037e9d44438afc66ce498150d18178b7dd4a85e8..5b94c3ad3a075adf126000f92929adaf9b5fb706 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4256,6 +4256,7 @@ static const struct mtk_soc_data mt7986_
+@@ -4258,6 +4258,7 @@ static const struct mtk_soc_data mt7986_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7986_CLKS_BITMAP,
        .required_pctl = false,
index c419fc8130e090284b042c1375194942de59ab41..08ec7e1ab94543ebfa22386ad793d4777e98b0bb 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4008,19 +4008,23 @@ static int mtk_probe(struct platform_dev
+@@ -4010,19 +4010,23 @@ static int mtk_probe(struct platform_dev
                        eth->irq[i] = platform_get_irq(pdev, i);
                if (eth->irq[i] < 0) {
                        dev_err(&pdev->dev, "no IRQ%d resource found\n", i);
@@ -45,7 +45,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                        }
                        eth->clks[i] = NULL;
                }
-@@ -4031,7 +4035,7 @@ static int mtk_probe(struct platform_dev
+@@ -4033,7 +4037,7 @@ static int mtk_probe(struct platform_dev
  
        err = mtk_hw_init(eth);
        if (err)
@@ -54,7 +54,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        eth->hwlro = MTK_HAS_CAPS(eth->soc->caps, MTK_HWLRO);
  
-@@ -4129,6 +4133,8 @@ err_free_dev:
+@@ -4131,6 +4135,8 @@ err_free_dev:
        mtk_free_dev(eth);
  err_deinit_hw:
        mtk_hw_deinit(eth);
@@ -63,7 +63,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        return err;
  }
-@@ -4148,6 +4154,7 @@ static int mtk_remove(struct platform_de
+@@ -4150,6 +4156,7 @@ static int mtk_remove(struct platform_de
                phylink_disconnect_phy(mac->phylink);
        }
  
index 2d3fe01a755b9eb0a0b2bc0494bb002d735c4390..c368c4ae3bfd9ee8087aa5b165e1b1ebfa62a54e 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        __u8 invert;
 --- a/net/netfilter/xt_connmark.c
 +++ b/net/netfilter/xt_connmark.c
-@@ -24,12 +24,13 @@ MODULE_ALIAS("ipt_connmark");
+@@ -24,13 +24,13 @@ MODULE_ALIAS("ipt_connmark");
  MODULE_ALIAS("ip6t_connmark");
  
  static unsigned int
@@ -120,20 +120,22 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        u_int32_t new_targetmark;
        struct nf_conn *ct;
        u_int32_t newmark;
+-      u_int32_t oldmark;
 +      u_int8_t dscp;
  
        ct = nf_ct_get(skb, &ctinfo);
        if (ct == NULL)
-@@ -37,12 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
+@@ -38,13 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
  
        switch (info->mode) {
        case XT_CONNMARK_SET:
--              newmark = (ct->mark & ~info->ctmask) ^ info->ctmark;
+-              oldmark = READ_ONCE(ct->mark);
+-              newmark = (oldmark & ~info->ctmask) ^ info->ctmark;
 -              if (info->shift_dir == D_SHIFT_RIGHT)
 -                      newmark >>= info->shift_bits;
 -              else
 -                      newmark <<= info->shift_bits;
-+              newmark = ct->mark;
++              newmark = READ_ONCE(ct->mark);
 +              if (info->func & XT_CONNMARK_VALUE) {
 +                      newmark = (newmark & ~info->ctmask) ^ info->ctmark;
 +                      if (info->shift_dir == D_SHIFT_RIGHT)
@@ -151,10 +153,10 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
 +                      newmark = (newmark & ~info->ctmark) |
 +                                (info->ctmask | (dscp << info->shift_bits));
 +              }
-               if (ct->mark != newmark) {
-                       ct->mark = newmark;
+               if (READ_ONCE(ct->mark) != newmark) {
+                       WRITE_ONCE(ct->mark, newmark);
                        nf_conntrack_event_cache(IPCT_MARK, ct);
-@@ -81,20 +94,36 @@ static unsigned int
+@@ -83,20 +94,36 @@ static unsigned int
  connmark_tg(struct sk_buff *skb, const struct xt_action_param *par)
  {
        const struct xt_connmark_tginfo1 *info = par->targinfo;
@@ -193,7 +195,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  
        return connmark_tg_shift(skb, info);
  }
-@@ -165,6 +194,16 @@ static struct xt_target connmark_tg_reg[
+@@ -167,6 +194,16 @@ static struct xt_target connmark_tg_reg[
                .targetsize     = sizeof(struct xt_connmark_tginfo2),
                .destroy        = connmark_tg_destroy,
                .me             = THIS_MODULE,
index ab629d598f9328e4dc7a9781c3312e6a233aefee..ac502bdd16d6668b1cc898c9fc360a6f4fde5ebd 100644 (file)
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        u64 res;
 --- a/net/ipv4/Kconfig
 +++ b/net/ipv4/Kconfig
-@@ -414,6 +414,7 @@ config INET_TUNNEL
+@@ -424,6 +424,7 @@ config INET_TUNNEL
  
  config INET_DIAG
        tristate "INET: socket monitoring interface"
index c58370eff115e336acb6622dfdf0f9cb311b5b6b..753b9705bc7a0a02f1c4ecb17ae3b9c0b27a2ce5 100644 (file)
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -3022,11 +3022,13 @@ static const struct seq_operations fib_r
+@@ -3024,11 +3024,13 @@ static const struct seq_operations fib_r
  
  int __net_init fib_proc_init(struct net *net)
  {
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        fib_triestat_seq_show, NULL))
                goto out2;
  
-@@ -3037,17 +3039,21 @@ int __net_init fib_proc_init(struct net
+@@ -3039,17 +3041,21 @@ int __net_init fib_proc_init(struct net
        return 0;
  
  out3:
index c58e6b545bf4027e2a67355cfe9e2627804f98d6..bb30f372eb1aa0856e929d88522dcb347a1b2e59 100644 (file)
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2770,6 +2770,7 @@ static const char *const rtn_type_names[
+@@ -2772,6 +2772,7 @@ static const char *const rtn_type_names[
        [RTN_THROW] = "THROW",
        [RTN_NAT] = "NAT",
        [RTN_XRESOLVE] = "XRESOLVE",
diff --git a/target/linux/generic/pending-5.15/701-netfilter-nf_flow_table-add-missing-locking.patch b/target/linux/generic/pending-5.15/701-netfilter-nf_flow_table-add-missing-locking.patch
deleted file mode 100644 (file)
index 9ff393a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 19 Nov 2022 18:48:42 +0100
-Subject: [PATCH] netfilter: nf_flow_table: add missing locking
-
-nf_flow_table_block_setup and the driver TC_SETUP_FT call can modify the flow
-block cb list while they are being traversed elsewhere, causing a crash.
-Add a write lock around the calls to protect readers
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/netfilter/nf_flow_table_offload.c
-+++ b/net/netfilter/nf_flow_table_offload.c
-@@ -1074,6 +1074,7 @@ static int nf_flow_table_block_setup(str
-       struct flow_block_cb *block_cb, *next;
-       int err = 0;
-+      down_write(&flowtable->flow_block_lock);
-       switch (cmd) {
-       case FLOW_BLOCK_BIND:
-               list_splice(&bo->cb_list, &flowtable->flow_block.cb_list);
-@@ -1088,6 +1089,7 @@ static int nf_flow_table_block_setup(str
-               WARN_ON_ONCE(1);
-               err = -EOPNOTSUPP;
-       }
-+      up_write(&flowtable->flow_block_lock);
-       return err;
- }
-@@ -1144,7 +1146,9 @@ static int nf_flow_table_offload_cmd(str
-       nf_flow_table_block_offload_init(bo, dev_net(dev), cmd, flowtable,
-                                        extack);
-+      down_write(&flowtable->flow_block_lock);
-       err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_FT, bo);
-+      up_write(&flowtable->flow_block_lock);
-       if (err < 0)
-               return err;
index 3e1486962cbb8d72ad5873ad07a55b8eab517bd9..3be68a9e3536387c13e95a73ae6af3190a044cbc 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }
  
        return IRQ_HANDLED;
-@@ -4118,6 +4118,8 @@ static int mtk_probe(struct platform_dev
+@@ -4120,6 +4120,8 @@ static int mtk_probe(struct platform_dev
         * for NAPI to work
         */
        init_dummy_netdev(&eth->dummy_dev);
index 8bf036d006f06f318d46b524b23aaf01736f43f0..aea6a605a90d4fca969d84fac3b8e2e458a3fd72 100644 (file)
@@ -53,7 +53,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4088,7 +4088,9 @@ static int mtk_probe(struct platform_dev
+@@ -4090,7 +4090,9 @@ static int mtk_probe(struct platform_dev
                        u32 ppe_addr = eth->soc->reg_map->ppe_base + i * 0x400;
  
                        eth->ppe[i] = mtk_ppe_init(eth, eth->base + ppe_addr,
@@ -64,7 +64,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
                        if (!eth->ppe[i]) {
                                err = -ENOMEM;
                                goto err_free_dev;
-@@ -4211,6 +4213,7 @@ static const struct mtk_soc_data mt7622_
+@@ -4213,6 +4215,7 @@ static const struct mtk_soc_data mt7622_
        .required_pctl = false,
        .offload_version = 2,
        .hash_offset = 2,
@@ -72,7 +72,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
        .foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
-@@ -4248,6 +4251,7 @@ static const struct mtk_soc_data mt7629_
+@@ -4250,6 +4253,7 @@ static const struct mtk_soc_data mt7629_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7629_CLKS_BITMAP,
        .required_pctl = false,
@@ -80,7 +80,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
        .txrx = {
                .txd_size = sizeof(struct mtk_tx_dma),
                .rxd_size = sizeof(struct mtk_rx_dma),
-@@ -4268,6 +4272,7 @@ static const struct mtk_soc_data mt7986_
+@@ -4270,6 +4274,7 @@ static const struct mtk_soc_data mt7986_
        .offload_version = 2,
        .hash_offset = 4,
        .foe_entry_size = sizeof(struct mtk_foe_entry),
index 116ae011f050e43eaf559c0a720a4c6293c1023f..2e9594c8729d88ceff63dfefedadc770165bd675 100644 (file)
@@ -12,7 +12,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
-@@ -4197,7 +4197,7 @@ static const struct mtk_soc_data mt7621_
+@@ -4199,7 +4199,7 @@ static const struct mtk_soc_data mt7621_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7621_CLKS_BITMAP,
        .required_pctl = false,
@@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        .hash_offset = 2,
        .foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
        .txrx = {
-@@ -4237,7 +4237,7 @@ static const struct mtk_soc_data mt7623_
+@@ -4239,7 +4239,7 @@ static const struct mtk_soc_data mt7623_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7623_CLKS_BITMAP,
        .required_pctl = true,
index fd1898586f6c4eb8ba57f59992ea686973223077..0e817cd272905f15f17c39e0e825b9982631c90f 100644 (file)
@@ -479,7 +479,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int mtk_open(struct net_device *dev)
  {
        struct mtk_mac *mac = netdev_priv(dev);
-@@ -2970,7 +3125,8 @@ static int mtk_open(struct net_device *d
+@@ -2972,7 +3127,8 @@ static int mtk_open(struct net_device *d
                refcount_inc(&eth->dma_refcnt);
  
        phylink_start(mac->phylink);
@@ -489,7 +489,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  }
  
-@@ -3486,8 +3642,12 @@ static int mtk_unreg_dev(struct mtk_eth
+@@ -3488,8 +3644,12 @@ static int mtk_unreg_dev(struct mtk_eth
        int i;
  
        for (i = 0; i < MTK_MAC_COUNT; i++) {
@@ -502,7 +502,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                unregister_netdev(eth->netdev[i]);
        }
  
-@@ -3703,6 +3863,23 @@ static int mtk_set_rxnfc(struct net_devi
+@@ -3705,6 +3865,23 @@ static int mtk_set_rxnfc(struct net_devi
        return ret;
  }
  
@@ -526,7 +526,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static const struct ethtool_ops mtk_ethtool_ops = {
        .get_link_ksettings     = mtk_get_link_ksettings,
        .set_link_ksettings     = mtk_set_link_ksettings,
-@@ -3738,6 +3915,7 @@ static const struct net_device_ops mtk_n
+@@ -3740,6 +3917,7 @@ static const struct net_device_ops mtk_n
        .ndo_setup_tc           = mtk_eth_setup_tc,
        .ndo_bpf                = mtk_xdp,
        .ndo_xdp_xmit           = mtk_xdp_xmit,
@@ -534,7 +534,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  };
  
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
-@@ -3747,6 +3925,7 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3749,6 +3927,7 @@ static int mtk_add_mac(struct mtk_eth *e
        struct phylink *phylink;
        struct mtk_mac *mac;
        int id, err;
@@ -542,7 +542,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (!_id) {
                dev_err(eth->dev, "missing mac id\n");
-@@ -3764,7 +3943,10 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3766,7 +3945,10 @@ static int mtk_add_mac(struct mtk_eth *e
                return -EINVAL;
        }
  
@@ -554,7 +554,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!eth->netdev[id]) {
                dev_err(eth->dev, "alloc_etherdev failed\n");
                return -ENOMEM;
-@@ -3861,6 +4043,11 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3863,6 +4045,11 @@ static int mtk_add_mac(struct mtk_eth *e
        else
                eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;
  
index c10906780296c93f9dd147e556008b49364c8cac..933112c17a7d0c50591171ed8c01bcd036db8e7a 100644 (file)
@@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
        if (err) {
-@@ -3417,6 +3473,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3419,6 +3475,10 @@ static int mtk_hw_init(struct mtk_eth *e
         */
        val = mtk_r32(eth, MTK_CDMQ_IG_CTRL);
        mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
@@ -146,7 +146,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /* Enable RX VLan Offloading */
        mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
-@@ -3634,6 +3694,12 @@ static int mtk_free_dev(struct mtk_eth *
+@@ -3636,6 +3696,12 @@ static int mtk_free_dev(struct mtk_eth *
                free_netdev(eth->netdev[i]);
        }
  
index 9fa384e6faa363deed3290ba0fb89d509accf5a4..6568e890d2e2732c53cdbba3fd759f084b1b4d48 100644 (file)
@@ -11,7 +11,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
-@@ -3529,9 +3529,12 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3531,9 +3531,12 @@ static int mtk_hw_init(struct mtk_eth *e
        mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
  
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
index 42f98e6aff57b17f9794c4abe2f887cc726351cf..c3a879e5ab9f7ae6f274f1696224f9faef3eacd0 100644 (file)
@@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
        if (err) {
                netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
-@@ -3215,6 +3160,35 @@ static int mtk_open(struct net_device *d
+@@ -3217,6 +3162,35 @@ static int mtk_open(struct net_device *d
        phylink_start(mac->phylink);
        netif_tx_start_all_queues(dev);
  
@@ -147,7 +147,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  }
  
-@@ -3508,10 +3482,9 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3510,10 +3484,9 @@ static int mtk_hw_init(struct mtk_eth *e
        if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
                val = mtk_r32(eth, MTK_CDMP_IG_CTRL);
                mtk_w32(eth, val | MTK_CDMP_STAG_EN, MTK_CDMP_IG_CTRL);
@@ -160,7 +160,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /* set interrupt delays based on current Net DIM sample */
        mtk_dim_rx(&eth->rx_dim.work);
-@@ -4132,7 +4105,7 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4134,7 +4107,7 @@ static int mtk_add_mac(struct mtk_eth *e
                eth->netdev[id]->hw_features |= NETIF_F_LRO;
  
        eth->netdev[id]->vlan_features = eth->soc->hw_features &
index 8e666ec53dc5d5196be6b8ae8ba22a4fa2b9a182..cdd81df9d4def4af06604559a589d36381ac23fb 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: RenĂ© van Dorst <opensource@vdorst.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -3994,6 +3994,7 @@ static const struct net_device_ops mtk_n
+@@ -3996,6 +3996,7 @@ static const struct net_device_ops mtk_n
  
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
  {
@@ -22,7 +22,7 @@ Signed-off-by: RenĂ© van Dorst <opensource@vdorst.com>
        const __be32 *_id = of_get_property(np, "reg", NULL);
        phy_interface_t phy_mode;
        struct phylink *phylink;
-@@ -4122,6 +4123,9 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4124,6 +4125,9 @@ static int mtk_add_mac(struct mtk_eth *e
                register_netdevice_notifier(&mac->device_notifier);
        }