kernel: bump 5.4 to 5.4.128
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 26 Jun 2021 19:08:19 +0000 (21:08 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 26 Jun 2021 22:58:50 +0000 (00:58 +0200)
Manually rebased
  bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch
    Replaced with patch from Raspberry Pi kernel 5.10 patches
  mvebu/patches-5.4/002-PCI-aardvark-Don-t-rely-on-jiffies-while-holding-spi.patch
    Applied upstream

All others updated automatically.

Compile-tested on: ath79/generic, lantiq/xrx200, brcm27xx
Runtime-tested on: ath79/generic, lantiq/xrx200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
33 files changed:
include/kernel-version.mk
target/linux/bcm27xx/patches-5.4/950-0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch
target/linux/bcm27xx/patches-5.4/950-0042-dmaengine-Add-support-for-BCM2708.patch
target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch
target/linux/bcm27xx/patches-5.4/950-0134-spi-spi-bcm2835-Disable-forced-software-CS.patch
target/linux/bcm27xx/patches-5.4/950-0212-spi-bcm2835-enable-shared-interrupt-support.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-0409-SQUASH-Fix-spi-driver-compiler-warnings.patch
target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.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-0665-spi-use_gpio_descriptor-fixup-moved-to-spi_setup.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-0788-Revert-SQUASH-Fix-spi-driver-compiler-warnings.patch
target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch
target/linux/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch
target/linux/generic/config-5.4
target/linux/generic/hack-5.4/221-module_exports.patch
target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/ipq806x/patches-5.4/0002-dmaengine-Add-ADM-driver.patch
target/linux/layerscape/patches-5.4/806-dma-0002-dmaengine-fsl-dpaa2-qdma-Add-NXP-dpaa2-qDMA-controll.patch
target/linux/layerscape/patches-5.4/806-dma-0003-MLK-14610-DMA-fsl-edma-v3-add-fsl-edma-v3-support.patch
target/linux/layerscape/patches-5.4/806-dma-0026-dma-caam-add-dma-memcpy-driver.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-0019-MLK-9829-usb-core-print-suggested-message-if-failed-.patch
target/linux/mediatek/patches-5.4/0001-v5.7-spi-make-spi-max-frequency-optional.patch
target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch
target/linux/mvebu/patches-5.4/002-PCI-aardvark-Don-t-rely-on-jiffies-while-holding-spi.patch [deleted file]
target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch
target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch
target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch

index c496c500d3078e858b93dc45ccc6e98b649fefd6..8835604d6d73a62042aa1ff37f517355d7e2b3c6 100644 (file)
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .124
+LINUX_VERSION-5.4 = .128
 
-LINUX_KERNEL_HASH-5.4.124 = f7f29dda2b042d7b5986d18274413131cf70e17288c05e9a683df1f46c507d82
+LINUX_KERNEL_HASH-5.4.128 = 3b54aebb816b9e628cb9ba3055a6aca58ce0ddeec49366c0da86ced9a7be39ab
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 489e5d11ace82bd9b4eba65d6c66b87fde7f004f..8e59b9b24e50bdf9133c693eedbdc67e483c9e91 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
 
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
-@@ -133,7 +133,7 @@ config COH901318
+@@ -134,7 +134,7 @@ config COH901318
  
  config DMA_BCM2835
        tristate "BCM2835 DMA engine support"
index 5b7f773b0b4db3c552e67caf60b1507ae24e7e20..9280ab3f17f55bb809bd878a836e57d3046905e9 100644 (file)
@@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5319,7 +5319,7 @@ static void port_event(struct usb_hub *h
+@@ -5321,7 +5321,7 @@ static void port_event(struct usb_hub *h
                port_dev->over_current_count++;
                port_over_current_notify(port_dev);
  
index 496c3aae07b15f13c88681650aa3a148cf72e00e..f66a4f251a24cdacfb12d4c3143492c2334cc758 100644 (file)
@@ -178,7 +178,7 @@ Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
 
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
-@@ -133,7 +133,7 @@ config COH901318
+@@ -134,7 +134,7 @@ config COH901318
  
  config DMA_BCM2835
        tristate "BCM2835 DMA engine support"
@@ -187,7 +187,7 @@ Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
  
-@@ -608,6 +608,10 @@ config UNIPHIER_MDMAC
+@@ -609,6 +609,10 @@ config UNIPHIER_MDMAC
          UniPhier platform.  This DMA controller is used as the external
          DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
  
index 86f60e7052f4a3c0c3dd0982f8450f7b647d2b07..d4818b22399660c4d96a20e6a1415d4efb538c37 100644 (file)
@@ -1,4 +1,4 @@
-From 0f95a2f2688ff44dc7080beaa2076741a0bdf510 Mon Sep 17 00:00:00 2001
+From 2b13c54592135b6fab269517ed687fa9f80bf8e5 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 27 Nov 2017 17:14:54 +0000
 Subject: [PATCH] cgroup: Disable cgroup "memory" by default
@@ -12,34 +12,46 @@ See: https://github.com/raspberrypi/linux/issues/1950
 
 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 ---
- kernel/cgroup/cgroup.c | 3++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
+ kernel/cgroup/cgroup.c | 38 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
 
 --- a/kernel/cgroup/cgroup.c
 +++ b/kernel/cgroup/cgroup.c
-@@ -5722,6 +5722,8 @@ int __init cgroup_init_early(void)
+@@ -5721,6 +5721,9 @@ int __init cgroup_init_early(void)
+       return 0;
  }
  
- static u16 cgroup_disable_mask __initdata;
 +static u16 cgroup_enable_mask __initdata;
 +static int __init cgroup_disable(char *str);
++
  /**
   * cgroup_init - cgroup initialization
-@@ -5761,6 +5763,12 @@ int __init cgroup_init(void)
+  *
+@@ -5759,6 +5762,12 @@ int __init cgroup_init(void)
  
        mutex_unlock(&cgroup_mutex);
  
-+      /* Apply an implicit disable... */
++      /*
++       * Apply an implicit disable, knowing that an explicit enable will
++       * prevent if from doing anything.
++       */
 +      cgroup_disable("memory");
-+
-+      /* ...knowing that an explicit enable will override it. */
-+      cgroup_disable_mask &= ~cgroup_enable_mask;
 +
        for_each_subsys(ss, ssid) {
                if (ss->early_init) {
                        struct cgroup_subsys_state *css =
-@@ -6180,6 +6188,28 @@ static int __init cgroup_disable(char *s
+@@ -6168,6 +6177,10 @@ static int __init cgroup_disable(char *s
+                           strcmp(token, ss->legacy_name))
+                               continue;
++                      /* An explicit cgroup_enable overrides a disable */
++                      if (cgroup_enable_mask & (1 << i))
++                              continue;
++
+                       static_branch_disable(cgroup_subsys_enabled_key[i]);
+                       pr_info("Disabling %s control group subsystem\n",
+                               ss->name);
+@@ -6177,6 +6190,31 @@ static int __init cgroup_disable(char *s
  }
  __setup("cgroup_disable=", cgroup_disable);
  
@@ -59,6 +71,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 +                              continue;
 +
 +                      cgroup_enable_mask |= 1 << i;
++                      static_branch_enable(cgroup_subsys_enabled_key[i]);
++                      pr_info("Enabling %s control group subsystem\n",
++                              ss->name);
 +              }
 +      }
 +      return 1;
index 0abe5059c0df04eaafe65db5aea7490ba10600cf..cfb46d87913a640206640a2d08682a31cd1b2f15 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/drivers/spi/spi-bcm2835.c
-@@ -1230,31 +1230,6 @@ static int bcm2835_spi_setup(struct spi_
+@@ -1236,31 +1236,6 @@ static int bcm2835_spi_setup(struct spi_
                return -EINVAL;
        }
  
index f82ae7d9f690a12ab18dbe47a89c81b2eebebd78..5326934b7122a3b232f0d8afeaca8f5fdf26a791 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
        /* Read as many bytes as possible from FIFO */
        bcm2835_rd_fifo(bs);
        /* Write as many bytes as possible to FIFO */
-@@ -1281,7 +1285,8 @@ static int bcm2835_spi_probe(struct plat
+@@ -1287,7 +1291,8 @@ static int bcm2835_spi_probe(struct plat
        bcm2835_wr(bs, BCM2835_SPI_CS,
                   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
  
index e486942ffd4257c71586b957030073b2712ba629..c5e7d5e84232d55dfd213cf300177dbcbb67fa93 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
  
-@@ -1259,6 +1262,9 @@
+@@ -1261,6 +1264,9 @@
  #define USB_VENDOR_ID_XAT     0x2505
  #define USB_DEVICE_ID_XAT_CSR 0x0220
  
@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
        { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
        { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
-@@ -190,6 +191,7 @@ static const struct hid_device_id hid_qu
+@@ -192,6 +193,7 @@ static const struct hid_device_id hid_qu
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
index 44134391011334baaad42fd19560a37202f25881..742dbad7120797b9102c4d41b205e92af5cece3f 100644 (file)
@@ -19,4 +19,4 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 -      struct gpio_chip *chip;
        u32 cs;
  
-       /*
+       if (spi->chip_select >= BCM2835_SPI_NUM_CS) {
index 422dea1b31176644cf3c5c4219f6856e7ddb60dc..6e04d425bf388e3651f4414571d2b3bb276476e1 100644 (file)
@@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org
  
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1018,7 +1018,8 @@ static int advk_pcie_probe(struct platfo
+@@ -1049,7 +1049,8 @@ static int advk_pcie_probe(struct platfo
                return ret;
        }
  
index 6ee6a275c305257b75693808be19f4f12f0aedca..05fa9f8f2ec2e2fb24c351ff2169f6c918376fca 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3110,6 +3110,7 @@ static int __spi_validate_bits_per_word(
+@@ -3116,6 +3116,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;
  
-@@ -3127,6 +3128,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3133,6 +3134,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 8792faa0c9bee5e40863ebc332068939052327be..402635d838b27fa36d1da43cccacb849bb65b405 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1793,15 +1793,6 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1799,15 +1799,6 @@ static int of_spi_parse_dt(struct spi_co
        }
        spi->chip_select = value;
  
index fee107876a178fd1ba8147d24abf6cfcacf990b6..b821afb08b44be79355734941e31ed5b0aec4894 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3122,8 +3122,8 @@ int spi_setup(struct spi_device *spi)
+@@ -3128,8 +3128,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 437e5aba5954cc06f9c4220572648c49eaca9c88..fad57b4863977bbe18a5b2773b26a8261845c97d 100644 (file)
@@ -20,4 +20,4 @@ See: https://github.com/raspberrypi/linux/pull/3687
 +      enum gpio_lookup_flags lflags;
        u32 cs;
  
-       /*
+       if (spi->chip_select >= BCM2835_SPI_NUM_CS) {
index 14793352172d9cc9c3c156db55b88d07cc72fb1c..ac0684be8629b6333070447d82bbdfb20c51e407 100644 (file)
@@ -13,7 +13,7 @@ See: https://github.com/raspberrypi/linux/pull/3687
 
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/drivers/spi/spi-bcm2835.c
-@@ -1235,6 +1235,43 @@ static int bcm2835_spi_setup(struct spi_
+@@ -1241,6 +1241,43 @@ static int bcm2835_spi_setup(struct spi_
                return -EINVAL;
        }
  
index 8f6406c290ddf56c5d426c30e5b57396d3021a3e..6c9e8ad5ee5e6d0667304e979fd9623abd6b7331 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        s32     tin_deficit;
        u32     tin_backlog;
        u32     tin_dropped;
-@@ -1943,7 +1942,7 @@ begin:
+@@ -1947,7 +1946,7 @@ begin:
                while (b->tin_deficit < 0 ||
                       !(b->sparse_flow_count + b->bulk_flow_count)) {
                        if (b->tin_deficit <= 0)
@@ -41,7 +41,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                        if (b->sparse_flow_count + b->bulk_flow_count)
                                empty = false;
  
-@@ -2265,8 +2264,7 @@ static int cake_config_besteffort(struct
+@@ -2269,8 +2268,7 @@ static int cake_config_besteffort(struct
  
        cake_set_rate(b, rate, mtu,
                      us_to_ns(q->target), us_to_ns(q->interval));
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        return 0;
  }
-@@ -2277,8 +2275,7 @@ static int cake_config_precedence(struct
+@@ -2281,8 +2279,7 @@ static int cake_config_precedence(struct
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
        u64 rate = q->rate_bps;
@@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        u32 i;
  
        q->tin_cnt = 8;
-@@ -2291,18 +2288,14 @@ static int cake_config_precedence(struct
+@@ -2295,18 +2292,14 @@ static int cake_config_precedence(struct
                cake_set_rate(b, rate, mtu, us_to_ns(q->target),
                              us_to_ns(q->interval));
  
@@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        return 0;
-@@ -2371,8 +2364,7 @@ static int cake_config_diffserv8(struct
+@@ -2375,8 +2368,7 @@ static int cake_config_diffserv8(struct
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
        u64 rate = q->rate_bps;
@@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        u32 i;
  
        q->tin_cnt = 8;
-@@ -2388,18 +2380,14 @@ static int cake_config_diffserv8(struct
+@@ -2392,18 +2384,14 @@ static int cake_config_diffserv8(struct
                cake_set_rate(b, rate, mtu, us_to_ns(q->target),
                              us_to_ns(q->interval));
  
@@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        return 0;
-@@ -2438,17 +2426,11 @@ static int cake_config_diffserv4(struct
+@@ -2442,17 +2430,11 @@ static int cake_config_diffserv4(struct
        cake_set_rate(&q->tins[3], rate >> 2, mtu,
                      us_to_ns(q->target), us_to_ns(q->interval));
  
@@ -137,7 +137,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        return 0;
  }
-@@ -2479,15 +2461,10 @@ static int cake_config_diffserv3(struct
+@@ -2483,15 +2465,10 @@ static int cake_config_diffserv3(struct
        cake_set_rate(&q->tins[2], rate >> 2, mtu,
                      us_to_ns(q->target), us_to_ns(q->interval));
  
index 91dc0b0f492b38616db3b3c366f8152c8f764d7d..df49bdb2c2f625a6576232384bba0fd1cc168a03 100644 (file)
@@ -3822,6 +3822,7 @@ CONFIG_NMI_LOG_BUF_SHIFT=13
 # CONFIG_NVMEM_SYSFS is not set
 # CONFIG_NVME_FC is not set
 # CONFIG_NVME_TARGET is not set
+# CONFIG_NVME_TCP is not set
 # CONFIG_NVRAM is not set
 # CONFIG_NV_TCO is not set
 # CONFIG_NXP_STB220 is not set
index 09855b04d1f626924a818050ed5f94a09cae7dca..ef6e980892babd3735b78248ebee9033c9a78523 100644 (file)
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }                                                               \
                                                                        \
        /* __*init sections */                                          \
-@@ -903,6 +913,8 @@
+@@ -904,6 +914,8 @@
        EXIT_TEXT                                                       \
        EXIT_DATA                                                       \
        EXIT_CALL                                                       \
index 90f4199eab67b49d456992e3c42dd76f1e196673..283fc0ae4fe1a35f3634dc41a569effa6471536a 100644 (file)
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -4419,6 +4438,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4423,6 +4442,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -4899,7 +4929,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4903,7 +4933,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6021,6 +6052,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6025,6 +6056,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6032,6 +6065,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6036,6 +6069,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -6224,6 +6258,8 @@ static int __net_init ip6_route_net_init
+@@ -6228,6 +6262,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
                                               sizeof(*net->ipv6.ip6_prohibit_entry),
                                               GFP_KERNEL);
-@@ -6234,11 +6270,21 @@ static int __net_init ip6_route_net_init
+@@ -6238,11 +6274,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
-@@ -6262,6 +6308,8 @@ out:
+@@ -6266,6 +6312,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6281,6 +6329,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6285,6 +6333,7 @@ static void __net_exit ip6_route_net_exi
        kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6358,6 +6407,9 @@ void __init ip6_route_init_special_entri
+@@ -6362,6 +6411,9 @@ void __init ip6_route_init_special_entri
        init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
        init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
        init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
index aa7d2e791ea36b3e1cd74410ab5b08f6cbdd64cd..7aa46526f247b786144701af5cfc8a338faba589 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Thomas Pedersen <twp@codeaurora.org>
 
 --- a/drivers/dma/qcom/Kconfig
 +++ b/drivers/dma/qcom/Kconfig
-@@ -28,3 +28,13 @@ config QCOM_HIDMA
+@@ -29,3 +29,13 @@ config QCOM_HIDMA
          (user to kernel, kernel to kernel, etc.).  It only supports
          memcpy interface. The core is not intended for general
          purpose slave DMA.
index 897752d8715e2144398b8cf346646628a9e89ce8..72d234d3ef80e92ecf74d6929e5203cd355e29e6 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Peng Ma <peng.ma@nxp.com>
 
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
-@@ -669,6 +669,8 @@ source "drivers/dma/sh/Kconfig"
+@@ -670,6 +670,8 @@ source "drivers/dma/sh/Kconfig"
  
  source "drivers/dma/ti/Kconfig"
  
index 1744d37419541f580e1d5b0904a4b79042721ac3..780d3c89e25ad6e489a4859d9d3422c7e696c1e0 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: Robin Gong <yibin.gong@nxp.com>
 +};
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
-@@ -227,6 +227,17 @@ config FSL_QDMA
+@@ -228,6 +228,17 @@ config FSL_QDMA
           or dequeuing DMA jobs from, different work queues.
           This module can be found on NXP Layerscape SoCs.
          The qdma driver only work on  SoCs with a DPAA hardware block.
index 073842eb13bef764e3247d2b6fc98fcf58aca2cb..be5ae1ad135c1b514ea3df9361817afc0a0a1050 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
-@@ -131,6 +131,24 @@ config COH901318
+@@ -132,6 +132,24 @@ config COH901318
        help
          Enable support for ST-Ericsson COH 901 318 DMA.
  
@@ -53,7 +53,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  config DMA_BCM2835
        tristate "BCM2835 DMA engine support"
        depends on ARCH_BCM2835
-@@ -662,7 +680,6 @@ config ZX_DMA
+@@ -663,7 +681,6 @@ config ZX_DMA
        help
          Support the DMA engine for ZTE ZX family platform devices.
  
index e3d18a99489bb97b6545095c8e4e815dae9206d3..ccefbffd48a95ba57945bf7c6b7ebc7143e0fd06 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
-@@ -3575,6 +3575,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3578,6 +3578,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
        dwc->gadget.sg_supported        = true;
        dwc->gadget.name                = "dwc3-gadget";
        dwc->gadget.lpm_capable         = true;
index ff582f3ace9c752dc91038dd73dd9b58ac766757..e444af408a84a4e4ee0ea17d474d72a3fe4282ea 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Li Jun <jun.li@freescale.com>
 
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4729,7 +4729,8 @@ hub_port_init(struct usb_hub *hub, struc
+@@ -4731,7 +4731,8 @@ hub_port_init(struct usb_hub *hub, struc
                        }
                        if (r) {
                                if (r != -ENODEV)
index 8487c3dda0b80539c53ebb035d24366f5ece3ca8..79ce15c37b61b2854a3f4c7a63c7ef3838953b84 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1803,13 +1803,8 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1809,13 +1809,8 @@ static int of_spi_parse_dt(struct spi_co
                spi->mode |= SPI_CS_HIGH;
  
        /* Device speed */
index 95abbce00231b53d94d7926884684e4866410025..2df33061579ced2925a59347b8bfbee7c8632d98 100644 (file)
@@ -33,7 +33,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -337,6 +337,14 @@ static void advk_pcie_setup_hw(struct ad
+@@ -338,6 +338,14 @@ static void advk_pcie_setup_hw(struct ad
        reg |= PIO_CTRL_ADDR_WIN_DISABLE;
        advk_writel(pcie, reg, PIO_CTRL);
  
diff --git a/target/linux/mvebu/patches-5.4/002-PCI-aardvark-Don-t-rely-on-jiffies-while-holding-spi.patch b/target/linux/mvebu/patches-5.4/002-PCI-aardvark-Don-t-rely-on-jiffies-while-holding-spi.patch
deleted file mode 100644 (file)
index db4afd2..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7fbcb5da811be7d47468417c7795405058abb3da Mon Sep 17 00:00:00 2001
-From: Remi Pommarel <repk@triplefau.lt>
-Date: Fri, 27 Sep 2019 10:55:02 +0200
-Subject: [PATCH] PCI: aardvark: Don't rely on jiffies while holding spinlock
-
-advk_pcie_wait_pio() can be called while holding a spinlock (from
-pci_bus_read_config_dword()), then depends on jiffies in order to
-timeout while polling on PIO state registers. In the case the PIO
-transaction failed, the timeout will never happen and will also cause
-the cpu to stall.
-
-This decrements a variable and wait instead of using jiffies.
-
-Signed-off-by: Remi Pommarel <repk@triplefau.lt>
-Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-Reviewed-by: Andrew Murray <andrew.murray@arm.com>
-Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- drivers/pci/controller/pci-aardvark.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
---- a/drivers/pci/controller/pci-aardvark.c
-+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -175,7 +175,8 @@
-       (PCIE_CONF_BUS(bus) | PCIE_CONF_DEV(PCI_SLOT(devfn))    | \
-        PCIE_CONF_FUNC(PCI_FUNC(devfn)) | PCIE_CONF_REG(where))
--#define PIO_TIMEOUT_MS                        1
-+#define PIO_RETRY_CNT                 500
-+#define PIO_RETRY_DELAY                       2 /* 2 us*/
- #define LINK_WAIT_MAX_RETRIES         10
- #define LINK_WAIT_USLEEP_MIN          90000
-@@ -400,17 +401,16 @@ static void advk_pcie_check_pio_status(s
- static int advk_pcie_wait_pio(struct advk_pcie *pcie)
- {
-       struct device *dev = &pcie->pdev->dev;
--      unsigned long timeout;
-+      int i;
--      timeout = jiffies + msecs_to_jiffies(PIO_TIMEOUT_MS);
--
--      while (time_before(jiffies, timeout)) {
-+      for (i = 0; i < PIO_RETRY_CNT; i++) {
-               u32 start, isr;
-               start = advk_readl(pcie, PIO_START);
-               isr = advk_readl(pcie, PIO_ISR);
-               if (!start && isr)
-                       return 0;
-+              udelay(PIO_RETRY_DELAY);
-       }
-       dev_err(dev, "config read/write timed out\n");
index 2bf838432fbcb0af4d893fbb47989d9f85b87d5c..19d0a5d5134d340cb14884e4e15b24111c571a2e 100644 (file)
@@ -193,7 +193,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  
        reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
        reg |= PCIE_CORE_CMD_MEM_ACCESS_EN |
-@@ -1035,6 +1093,12 @@ static int advk_pcie_probe(struct platfo
+@@ -1066,6 +1124,12 @@ static int advk_pcie_probe(struct platfo
                return ret;
        }
  
index 83212ec47540aa7cf1b86fd8d61a147a096f6795..0f2dab600b631d4d09c09723c5790e5069e090fd 100644 (file)
@@ -98,7 +98,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
         * fundamental reset. As required by PCI Express spec a delay for at
         * least 100ms after such a reset before link training is needed.
         */
-@@ -1093,6 +1118,22 @@ static int advk_pcie_probe(struct platfo
+@@ -1124,6 +1149,22 @@ static int advk_pcie_probe(struct platfo
                return ret;
        }
  
index fa04861e805d9b3fb12b46fb30a58d6a071ffced..640e4eb57c103023fb4a2c05a821cf7687fd0920 100644 (file)
@@ -76,7 +76,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
        /* Set to Direct mode */
        reg = advk_readl(pcie, CTRL_CONFIG_REG);
        reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
-@@ -1083,6 +1092,62 @@ out_release_res:
+@@ -1114,6 +1123,62 @@ out_release_res:
        return err;
  }
  
@@ -139,7 +139,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
        struct device *dev = &pdev->dev;
-@@ -1140,6 +1205,10 @@ static int advk_pcie_probe(struct platfo
+@@ -1171,6 +1236,10 @@ static int advk_pcie_probe(struct platfo
        else
                pcie->link_gen = ret;
  
index bb9d7b784933f35ca004f7eaabef2a70e934c1d2..41fed6aded73da42d98088f2a544ece71cc06188 100644 (file)
@@ -31,7 +31,7 @@ Cc: <stable@vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1123,7 +1123,9 @@ static int advk_pcie_enable_phy(struct a
+@@ -1154,7 +1154,9 @@ static int advk_pcie_enable_phy(struct a
        }
  
        ret = phy_power_on(pcie->phy);
index e33a28e9539bb767a5d5fd5f5fe45c3cb442a8a2..c19e4cf90d05b634daad07c5e464bcf08bf032e5 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
  #include <linux/platform_data/x86/apple.h>
  #include <linux/pm_runtime.h>
  #include <linux/switchtec.h>
-@@ -5625,3 +5626,34 @@ static void apex_pci_fixup_class(struct
+@@ -5714,3 +5715,34 @@ static void apex_pci_fixup_class(struct
  }
  DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
                               PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);