kernel: bump 5.4 to 5.4.119
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 15 May 2021 14:21:46 +0000 (16:21 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 15 May 2021 17:32:20 +0000 (19:32 +0200)
Removed because in upstream
  generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch
  ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch
  ramips/patches-5.4/999-fix-pci-init-mt7620.patch

Manually rebased
  ath79/patches-5.4/0033-spi-ath79-drop-pdata-support.patch

All others updated automatically.

Compile-tested on: x86/64, ath79/generic
Runtime-tested on: x86/64, ath79/generic

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
35 files changed:
include/kernel-version.mk
target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
target/linux/ath79/patches-5.4/0033-spi-ath79-drop-pdata-support.patch
target/linux/ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch [deleted file]
target/linux/ath79/patches-5.4/410-spi-ath79-Implement-the-spi_mem-interface.patch
target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch
target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
target/linux/bcm27xx/patches-5.4/950-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
target/linux/bcm27xx/patches-5.4/950-0440-x86-PCI-sta2x11-use-default-DMA-address-translation.patch
target/linux/bcm27xx/patches-5.4/950-0482-media-add-V4L2_CTRL_TYPE_AREA-control-type.patch
target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch
target/linux/bcm27xx/patches-5.4/950-0495-media-uapi-hevc-Add-scaling-matrix-control.patch
target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch
target/linux/bcm27xx/patches-5.4/950-0646-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
target/linux/bcm27xx/patches-5.4/950-0690-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch
target/linux/bcm27xx/patches-5.4/950-0908-media-v4l2-ctrls-Add-helper-to-register-properties.patch
target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
target/linux/bcm63xx/patches-5.4/026-v5.8-mtd-rawnand-brcmnand-support-v2.1-v2.2-controllers.patch
target/linux/bcm63xx/patches-5.4/434-nand-brcmnand-fix-OOB-R-W-with-Hamming-ECC.patch
target/linux/generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch [deleted file]
target/linux/generic/backport-5.4/080-wireguard-0052-crypto-x86-curve25519-support-assemblers-with-no-adx.patch
target/linux/generic/hack-5.4/204-module_strip.patch
target/linux/generic/hack-5.4/902-debloat_proc.patch
target/linux/generic/pending-5.4/495-mtd-core-add-get_mtd_device_by_node.patch
target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
target/linux/lantiq/patches-5.4/0023-NET-PHY-add-led-support-for-intel-xway.patch
target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch
target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
target/linux/mvebu/patches-5.4/020-arm64-dts-marvell-armada-37xx-Set-pcie_reset_pin-to-.patch
target/linux/mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch
target/linux/mvebu/patches-5.4/022-arm64-dts-marvell-armada-37xx-Move-PCIe-max-link-spe.patch
target/linux/ramips/patches-5.4/999-fix-pci-init-mt7620.patch [deleted file]
target/linux/realtek/patches-5.4/300-mips-add-rtl838x-platform.patch

index e14b1a2..b038d2c 100644 (file)
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .117
+LINUX_VERSION-5.4 = .119
 
-LINUX_KERNEL_HASH-5.4.117 = 4e989b5775830092e5c76b5cca65ebff862ad0c87d0b58c3a20d415c3d4ec770
+LINUX_KERNEL_HASH-5.4.119 = 71e7decf1e8149a8aed88d30df4f2a62a6c6b168111de6b261685ac7c0ecb2a0
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 9d474f2..f248407 100644 (file)
@@ -23,7 +23,7 @@ produce a noisy warning.
                xhci->quirks |= XHCI_RESET_ON_RESUME;
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -423,10 +423,14 @@ static int xhci_try_enable_msi(struct us
+@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
                free_irq(hcd->irq, hcd);
        hcd->irq = 0;
  
index 8fd99bd..162a82b 100644 (file)
@@ -52,7 +52,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
        unsigned long rate;
        int ret;
  
-@@ -152,16 +150,10 @@ static int ath79_spi_probe(struct platfo
+@@ -152,15 +150,9 @@ static int ath79_spi_probe(struct platfo
        master->dev.of_node = pdev->dev.of_node;
        platform_set_drvdata(pdev, sp);
  
@@ -60,8 +60,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 -
        master->use_gpio_descriptors = true;
        master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
-       master->setup = spi_bitbang_setup;
-       master->cleanup = spi_bitbang_cleanup;
+       master->flags = SPI_MASTER_GPIO_SS;
 -      if (pdata) {
 -              master->bus_num = pdata->bus_num;
 -              master->num_chipselect = pdata->num_chipselect;
diff --git a/target/linux/ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch b/target/linux/ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch
deleted file mode 100644 (file)
index a57ac24..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From b142b1beb199f62d47370c98a3dd8e13f792e9c0 Mon Sep 17 00:00:00 2001
-From: David Bauer <mail@david-bauer.net>
-Date: Thu, 27 Feb 2020 23:03:20 +0100
-Subject: [PATCH] spi: ath79: remove spi-master setup and cleanup assignment
-
-This removes the assignment of setup and cleanup functions for the ath79
-target. Assigning the setup-method will lead to 'setup_transfer' not
-being assigned in spi_bitbang_init.
-
-Also drop the redundant cleanup assignment, as this also happens in
-spi_bitbang_init.
-
-Signed-off-by: David Bauer <mail@david-bauer.net>
----
- drivers/spi/spi-ath79.c | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/drivers/spi/spi-ath79.c
-+++ b/drivers/spi/spi-ath79.c
-@@ -152,8 +152,6 @@ static int ath79_spi_probe(struct platfo
-       master->use_gpio_descriptors = true;
-       master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
--      master->setup = spi_bitbang_setup;
--      master->cleanup = spi_bitbang_cleanup;
-       sp->bitbang.master = master;
-       sp->bitbang.chipselect = ath79_spi_chipselect;
index 2a6b985..51a71c6 100644 (file)
@@ -58,7 +58,7 @@ Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
  static int ath79_spi_probe(struct platform_device *pdev)
  {
        struct spi_master *master;
-@@ -163,6 +197,7 @@ static int ath79_spi_probe(struct platfo
+@@ -164,6 +198,7 @@ static int ath79_spi_probe(struct platfo
                ret = PTR_ERR(sp->base);
                goto err_put_master;
        }
index 4f5e392..a9f99ad 100644 (file)
@@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
  static inline int mmc_blk_part_switch(struct mmc_card *card,
                                      unsigned int part_type);
  
-@@ -2868,6 +2875,7 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2884,6 +2891,7 @@ static int mmc_blk_probe(struct mmc_card
  {
        struct mmc_blk_data *md, *part_md;
        char cap_str[10];
@@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
  
        /*
         * Check that the card supports the command class(es) we need.
-@@ -2875,7 +2883,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2891,7 +2899,16 @@ static int mmc_blk_probe(struct mmc_card
        if (!(card->csd.cmdclass & CCC_BLOCK_READ))
                return -ENODEV;
  
@@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
  
        card->complete_wq = alloc_workqueue("mmc_complete",
                                        WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -2890,9 +2907,14 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2906,9 +2923,14 @@ static int mmc_blk_probe(struct mmc_card
  
        string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
                        cap_str, sizeof(cap_str));
@@ -279,7 +279,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
  }
 --- a/drivers/mmc/core/host.c
 +++ b/drivers/mmc/core/host.c
-@@ -397,15 +397,30 @@ struct mmc_host *mmc_alloc_host(int extr
+@@ -434,15 +434,30 @@ struct mmc_host *mmc_alloc_host(int extr
  {
        int err;
        struct mmc_host *host;
index f6eac15..49f7149 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1464,6 +1464,103 @@ command_cleanup:
+@@ -1468,6 +1468,103 @@ command_cleanup:
  }
  
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   */
-@@ -5345,6 +5442,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5357,6 +5454,7 @@ static const struct hc_driver xhci_hc_dr
        .endpoint_reset =       xhci_endpoint_reset,
        .check_bandwidth =      xhci_check_bandwidth,
        .reset_bandwidth =      xhci_reset_bandwidth,
index 8cf5170..e486942 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN          0x050d
  #define USB_DEVICE_ID_FLIP_KVM                0x3201
  
-@@ -1258,6 +1261,9 @@
+@@ -1259,6 +1262,9 @@
  #define USB_VENDOR_ID_XAT     0x2505
  #define USB_DEVICE_ID_XAT_CSR 0x0220
  
index 4b4766f..20bab47 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/usb/host/xhci-mem.c
 +++ b/drivers/usb/host/xhci-mem.c
-@@ -2503,9 +2503,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2512,9 +2512,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
         * Event ring setup: Allocate a normal ring, but also setup
         * the event ring segment table (ERST).  Section 4.9.3.
         */
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
        if (!xhci->event_ring)
                goto fail;
        if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2518,7 +2520,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2527,7 +2529,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
        /* set ERST count with the number of entries in the segment table */
        val = readl(&xhci->ir_set->erst_size);
        val &= ERST_SIZE_MASK;
index 51fd4be..539f5e1 100644 (file)
@@ -31,7 +31,7 @@ Signed-off-by: Christoph Hellwig <hch@lst.de>
 
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -708,7 +708,6 @@ config X86_SUPPORTS_MEMORY_FAILURE
+@@ -709,7 +709,6 @@ config X86_SUPPORTS_MEMORY_FAILURE
  config STA2X11
        bool "STA2X11 Companion Chip Support"
        depends on X86_32_NON_STANDARD && PCI
index 4d7440b..2accf3d 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
        default:
                return -EINVAL;
        }
-@@ -2423,6 +2429,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
+@@ -2431,6 +2437,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
        case V4L2_CTRL_TYPE_VP8_FRAME_HEADER:
                elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header);
                break;
@@ -49,7 +49,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
        default:
                if (type < V4L2_CTRL_COMPOUND_TYPES)
                        elem_size = sizeof(s32);
-@@ -4087,6 +4096,18 @@ int __v4l2_ctrl_s_ctrl_string(struct v4l
+@@ -4098,6 +4107,18 @@ int __v4l2_ctrl_s_ctrl_string(struct v4l
  }
  EXPORT_SYMBOL(__v4l2_ctrl_s_ctrl_string);
  
index e08d248..effff9b 100644 (file)
@@ -820,7 +820,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
        default:
                return -EINVAL;
        }
-@@ -2434,6 +2532,15 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
+@@ -2442,6 +2540,15 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
        case V4L2_CTRL_TYPE_VP8_FRAME_HEADER:
                elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header);
                break;
index c63a0a8..403bf61 100644 (file)
@@ -106,7 +106,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
        case V4L2_CTRL_TYPE_AREA:
                area = p;
                if (!area->width || !area->height)
-@@ -2541,6 +2548,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
+@@ -2549,6 +2556,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s
        case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS:
                elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params);
                break;
index 3834928..8acdba4 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
  
  #define MAX_TUNING_LOOP 40
  
-@@ -2756,7 +2756,7 @@ static void sdhci_timeout_timer(struct t
+@@ -2758,7 +2758,7 @@ static void sdhci_timeout_timer(struct t
        spin_lock_irqsave(&host->lock, flags);
  
        if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                       mmc_hostname(host->mmc));
                sdhci_dumpregs(host);
  
-@@ -2778,7 +2778,7 @@ static void sdhci_timeout_data_timer(str
+@@ -2780,7 +2780,7 @@ static void sdhci_timeout_data_timer(str
  
        if (host->data || host->data_cmd ||
            (host->cmd && sdhci_data_line_cmd(host->cmd))) {
index 42d22c3..6ee6a27 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3115,6 +3115,7 @@ static int __spi_validate_bits_per_word(
+@@ -3110,6 +3110,7 @@ static int __spi_validate_bits_per_word(
   */
  int spi_setup(struct spi_device *spi)
  {
@@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        unsigned        bad_bits, ugly_bits;
        int             status;
  
-@@ -3132,6 +3133,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3127,6 +3128,14 @@ int spi_setup(struct spi_device *spi)
                (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
                 SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
                return -EINVAL;
index e4b2e7e..fee1078 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3127,8 +3127,8 @@ int spi_setup(struct spi_device *spi)
+@@ -3122,8 +3122,8 @@ int spi_setup(struct spi_device *spi)
  
        if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
            ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) {
index cf637ce..a61aa53 100644 (file)
@@ -29,7 +29,7 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  
  #define dprintk(vdev, fmt, arg...) do {                                       \
        if (!WARN_ON(!(vdev)) && ((vdev)->dev_debug & V4L2_DEV_DEBUG_CTRL)) \
-@@ -4578,3 +4579,42 @@ __poll_t v4l2_ctrl_poll(struct file *fil
+@@ -4589,3 +4590,42 @@ __poll_t v4l2_ctrl_poll(struct file *fil
        return 0;
  }
  EXPORT_SYMBOL(v4l2_ctrl_poll);
index 483a9c0..5427d73 100644 (file)
@@ -90,7 +90,7 @@ it on BCM4708 family.
  /*
   * Reset a halted HC.
   *
-@@ -604,10 +647,20 @@ static int xhci_init(struct usb_hcd *hcd
+@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
  
  static int xhci_run_finished(struct xhci_hcd *xhci)
  {
@@ -114,7 +114,7 @@ it on BCM4708 family.
        xhci->shared_hcd->state = HC_STATE_RUNNING;
        xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
  
-@@ -617,6 +670,10 @@ static int xhci_run_finished(struct xhci
+@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
        xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                        "Finished xhci_run for USB3 roothub");
        return 0;
index b48f4b9..fe86584 100644 (file)
@@ -183,7 +183,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
        nand_writereg(ctrl, acc_control_offs, tmp);
  
        brcmnand_set_sector_size_1k(host, cfg->sector_size_1k);
-@@ -2524,6 +2589,8 @@ const struct dev_pm_ops brcmnand_pm_ops
+@@ -2530,6 +2595,8 @@ const struct dev_pm_ops brcmnand_pm_ops
  EXPORT_SYMBOL_GPL(brcmnand_pm_ops);
  
  static const struct of_device_id brcmnand_of_match[] = {
index c3bb1ae..f39beb9 100644 (file)
@@ -19,9 +19,9 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
 
 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
 +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
-@@ -2426,6 +2426,12 @@ static int brcmnand_attach_chip(struct n
-       ret = brcmstb_choose_ecc_layout(host);
+@@ -2432,6 +2432,12 @@ static int brcmnand_attach_chip(struct n
+               chip->ecc.read_oob = brcmnand_read_oob_raw;
+       }
  
 +      /* If OOB is written with ECC enabled it will cause ECC errors */
 +      if (is_hamming_ecc(host->ctrl, &host->hwcfg)) {
diff --git a/target/linux/generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch b/target/linux/generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch
deleted file mode 100644 (file)
index 17e9e34..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 3007b05df4301aad179acc6ca1c3645785576df6 Mon Sep 17 00:00:00 2001
-From: Alexander Lobakin <alobakin@pm.me>
-Date: Mon, 19 Apr 2021 12:53:06 +0000
-Subject: gro: fix napi_gro_frags() Fast GRO breakage due to IP
- alignment check
-
-Commit 7ad18ff6449cbd6beb26b53128ddf56d2685aa93 upstream.
-
-Commit 38ec4944b593 ("gro: ensure frag0 meets IP header alignment")
-did the right thing, but missed the fact that napi_gro_frags() logics
-calls for skb_gro_reset_offset() *before* pulling Ethernet header
-to the skb linear space.
-That said, the introduced check for frag0 address being aligned to 4
-always fails for it as Ethernet header is obviously 14 bytes long,
-and in case with NET_IP_ALIGN its start is not aligned to 4.
-
-Fix this by adding @nhoff argument to skb_gro_reset_offset() which
-tells if an IP header is placed right at the start of frag0 or not.
-This restores Fast GRO for napi_gro_frags() that became very slow
-after the mentioned commit, and preserves the introduced check to
-avoid silent unaligned accesses.
-
-From v1 [0]:
- - inline tiny skb_gro_reset_offset() to let the code be optimized
-   more efficively (esp. for the !NET_IP_ALIGN case) (Eric);
- - pull in Reviewed-by from Eric.
-
-[0] https://lore.kernel.org/netdev/20210418114200.5839-1-alobakin@pm.me
-
-Fixes: 38ec4944b593 ("gro: ensure frag0 meets IP header alignment")
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: Alexander Lobakin <alobakin@pm.me>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/core/dev.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -5395,7 +5395,7 @@ static struct list_head *gro_list_prepar
-       return head;
- }
--static void skb_gro_reset_offset(struct sk_buff *skb)
-+static inline void skb_gro_reset_offset(struct sk_buff *skb, u32 nhoff)
- {
-       const struct skb_shared_info *pinfo = skb_shinfo(skb);
-       const skb_frag_t *frag0 = &pinfo->frags[0];
-@@ -5407,7 +5407,7 @@ static void skb_gro_reset_offset(struct
-       if (skb_mac_header(skb) == skb_tail_pointer(skb) &&
-           pinfo->nr_frags &&
-           !PageHighMem(skb_frag_page(frag0)) &&
--          (!NET_IP_ALIGN || !(skb_frag_off(frag0) & 3))) {
-+          (!NET_IP_ALIGN || !((skb_frag_off(frag0) + nhoff) & 3))) {
-               NAPI_GRO_CB(skb)->frag0 = skb_frag_address(frag0);
-               NAPI_GRO_CB(skb)->frag0_len = min_t(unsigned int,
-                                                   skb_frag_size(frag0),
-@@ -5640,7 +5640,7 @@ gro_result_t napi_gro_receive(struct nap
-       skb_mark_napi_id(skb, napi);
-       trace_napi_gro_receive_entry(skb);
--      skb_gro_reset_offset(skb);
-+      skb_gro_reset_offset(skb, 0);
-       ret = napi_skb_finish(napi, skb, dev_gro_receive(napi, skb));
-       trace_napi_gro_receive_exit(ret);
-@@ -5733,7 +5733,7 @@ static struct sk_buff *napi_frags_skb(st
-       napi->skb = NULL;
-       skb_reset_mac_header(skb);
--      skb_gro_reset_offset(skb);
-+      skb_gro_reset_offset(skb, hlen);
-       if (unlikely(skb_gro_header_hard(skb, hlen))) {
-               eth = skb_gro_header_slow(skb, hlen, 0);
index 5130255..cd507b1 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
 
 --- a/arch/x86/Makefile
 +++ b/arch/x86/Makefile
-@@ -197,9 +197,10 @@ avx2_instr :=$(call as-instr,vpbroadcast
+@@ -198,9 +198,10 @@ avx2_instr :=$(call as-instr,vpbroadcast
  avx512_instr :=$(call as-instr,vpmovm2b %k1$(comma)%zmm5,-DCONFIG_AS_AVX512=1)
  sha1_ni_instr :=$(call as-instr,sha1msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA1_NI=1)
  sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA256_NI=1)
index a207a11..22bb1ac 100644 (file)
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  config MODULES_TREE_LOOKUP
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3224,9 +3224,11 @@ static int setup_load_info(struct load_i
+@@ -3252,9 +3252,11 @@ static int setup_load_info(struct load_i
  
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  {
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (flags & MODULE_INIT_IGNORE_VERMAGIC)
                modmagic = NULL;
  
-@@ -3247,6 +3249,7 @@ static int check_modinfo(struct module *
+@@ -3275,6 +3277,7 @@ static int check_modinfo(struct module *
                                mod->name);
                add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
        }
index 7d6c2b2..f8ee3f0 100644 (file)
@@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -409,6 +409,9 @@ static struct pernet_operations ip_rt_pr
+@@ -410,6 +410,9 @@ static struct pernet_operations ip_rt_pr
  
  static int __init ip_rt_proc_init(void)
  {
index b6e3641..a173381 100644 (file)
@@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -1050,6 +1050,44 @@ out_unlock:
+@@ -1053,6 +1053,44 @@ out_unlock:
  }
  EXPORT_SYMBOL_GPL(get_mtd_device_nm);
  
index cb482bc..702424e 100644 (file)
@@ -4133,7 +4133,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 --- a/arch/mips/pci/pci-legacy.c
 +++ b/arch/mips/pci/pci-legacy.c
-@@ -308,3 +308,30 @@ char *__init pcibios_setup(char *str)
+@@ -313,3 +313,30 @@ char *__init pcibios_setup(char *str)
                return pcibios_plat_setup(str);
        return str;
  }
index 5a668b6..fb8d975 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/net/phy/intel-xway.c
 +++ b/drivers/net/phy/intel-xway.c
-@@ -145,6 +145,51 @@
+@@ -157,6 +157,51 @@
  #define PHY_ID_PHY11G_VR9_1_2         0xD565A409
  #define PHY_ID_PHY22F_VR9_1_2         0xD565A419
  
@@ -65,7 +65,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  static int xway_gphy_config_init(struct phy_device *phydev)
  {
        int err;
-@@ -183,6 +228,7 @@ static int xway_gphy_config_init(struct
+@@ -204,6 +249,7 @@ static int xway_gphy_config_init(struct
        phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2H, ledxh);
        phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2L, ledxl);
  
index 848be9b..ab96306 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
         * All 3.1 IP version constants are greater than the 3.0 IP
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
-@@ -3558,6 +3558,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3568,6 +3568,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
        dwc->gadget.sg_supported        = true;
        dwc->gadget.name                = "dwc3-gadget";
        dwc->gadget.lpm_capable         = true;
index 0334e72..58cccff 100644 (file)
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
   * bursts that are required to move all packets in this TD.  Only SuperSpeed
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5372,6 +5372,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5384,6 +5384,7 @@ static const struct hc_driver xhci_hc_dr
        .disable_usb3_lpm_timeout =     xhci_disable_usb3_lpm_timeout,
        .find_raw_port_number = xhci_find_raw_port_number,
        .clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
index 2f1d183..3f80575 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5393,6 +5393,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5405,6 +5405,8 @@ void xhci_init_driver(struct hc_driver *
                        drv->check_bandwidth = over->check_bandwidth;
                if (over->reset_bandwidth)
                        drv->reset_bandwidth = over->reset_bandwidth;
index 87247b6..9eeddae 100644 (file)
@@ -82,7 +82,7 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
        pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -317,7 +317,7 @@
+@@ -318,7 +318,7 @@
  
                                pcie_reset_pins: pcie-reset-pins {
                                        groups = "pcie1";
index e92393f..0c7830c 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
        status = "disabled";
 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -493,6 +493,7 @@
+@@ -494,6 +494,7 @@
                                        <0 0 0 2 &pcie_intc 1>,
                                        <0 0 0 3 &pcie_intc 2>,
                                        <0 0 0 4 &pcie_intc 3>;
index ad918be..0400248 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
        /* enabled by U-Boot if PCIe module is present */
 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -493,6 +493,7 @@
+@@ -494,6 +494,7 @@
                                        <0 0 0 2 &pcie_intc 1>,
                                        <0 0 0 3 &pcie_intc 2>,
                                        <0 0 0 4 &pcie_intc 3>;
diff --git a/target/linux/ramips/patches-5.4/999-fix-pci-init-mt7620.patch b/target/linux/ramips/patches-5.4/999-fix-pci-init-mt7620.patch
deleted file mode 100644 (file)
index 7c00d4c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/arch/mips/pci/pci-mt7620.c
-+++ b/arch/mips/pci/pci-mt7620.c
-@@ -32,6 +32,7 @@
- #define PPLL_CFG1                     0x9c
- #define PPLL_DRV                      0xa0
-+#define PPLL_LD                       BIT(23)
- #define PDRV_SW_SET                   BIT(31)
- #define LC_CKDRVPD                    BIT(19)
- #define LC_CKDRVOHZ                   BIT(18)
-@@ -239,8 +240,8 @@ static int mt7620_pci_hw_init(struct pla
-       rt_sysc_m32(0, RALINK_PCIE0_CLK_EN, RALINK_CLKCFG1);
-       mdelay(100);
--      if (!(rt_sysc_r32(PPLL_CFG1) & PDRV_SW_SET)) {
--              dev_err(&pdev->dev, "MT7620 PPLL unlock\n");
-+      if (!(rt_sysc_r32(PPLL_CFG1) & PPLL_LD)) {
-+              dev_err(&pdev->dev, "MT7620 PPLL is unlocked, aborting init\n");
-               reset_control_assert(rstpcie0);
-               rt_sysc_m32(RALINK_PCIE0_CLK_EN, 0, RALINK_CLKCFG1);
-               return -1;
index e946a5b..ecc77b2 100644 (file)
@@ -10,7 +10,7 @@
  platforms += sgi-ip27
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -630,6 +630,26 @@ config RALINK
+@@ -631,6 +631,26 @@ config RALINK
        select ARCH_HAS_RESET_CONTROLLER
        select RESET_CONTROLLER