diff --git a/include/kernel-version.mk b/include/kernel-version.mk index efbcd403251..8e52c9b70ef 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,11 +4,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .125 LINUX_VERSION-4.9 = .137 -LINUX_VERSION-4.14 = .80 +LINUX_VERSION-4.14 = .81 LINUX_KERNEL_HASH-3.18.125 = 708433b360efd8623f7303b721ffb0e7c59cbe8552f1a3f4c0d980a12b4ed90e LINUX_KERNEL_HASH-4.9.137 = 6db2512a9094bf4c830124641d1275635600b052962a7db3556da18914ea2589 -LINUX_KERNEL_HASH-4.14.80 = 9ddc7bc11cbea6475ac5abf18e01a143d7d506bece591e0dcb15c9452d3ed7d2 +LINUX_KERNEL_HASH-4.14.81 = 4b36dfd053844ef0617799d432eed67aa4795d3403216d6789288aa7a0e75bde remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/bcm53xx/patches-4.14/081-spi-bcm-qspi-switch-back-to-reading-flash-using-smal.patch b/target/linux/bcm53xx/patches-4.14/081-spi-bcm-qspi-switch-back-to-reading-flash-using-smal.patch deleted file mode 100644 index 91b06b19fea..00000000000 --- a/target/linux/bcm53xx/patches-4.14/081-spi-bcm-qspi-switch-back-to-reading-flash-using-smal.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 940ec770c295682993d1cccce3081fd7c74fece8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Thu, 11 Oct 2018 09:42:17 +0200 -Subject: [PATCH] spi: bcm-qspi: switch back to reading flash using smaller - chunks -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixing/optimizing bcm_qspi_bspi_read() performance introduced two -changes: -1) It added a loop to read all requested data using multiple BSPI ops. -2) It bumped max size of a single BSPI block request from 256 to 512 B. - -The later change resulted in occasional BSPI timeouts causing a -regression. - -For some unknown reason hardware doesn't always handle reads as expected -when using 512 B chunks. In such cases it may happen that BSPI returns -amount of requested bytes without the last 1-3 ones. It provides the -remaining bytes later but doesn't raise an interrupt until another LR -start. - -Switching back to 256 B reads fixes that problem and regression. - -Fixes: 345309fa7c0c ("spi: bcm-qspi: Fix bcm_qspi_bspi_read() performance") -Signed-off-by: Rafał Miłecki -Signed-off-by: Mark Brown -Cc: stable@vger.kernel.org ---- - drivers/spi/spi-bcm-qspi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/spi/spi-bcm-qspi.c -+++ b/drivers/spi/spi-bcm-qspi.c -@@ -88,7 +88,7 @@ - #define BSPI_BPP_MODE_SELECT_MASK BIT(8) - #define BSPI_BPP_ADDR_SELECT_MASK BIT(16) - --#define BSPI_READ_LENGTH 512 -+#define BSPI_READ_LENGTH 256 - - /* MSPI register offsets */ - #define MSPI_SPCR0_LSB 0x000 diff --git a/target/linux/brcm47xx/patches-4.14/940-bcm47xx-yenta.patch b/target/linux/brcm47xx/patches-4.14/940-bcm47xx-yenta.patch index 00a44d6317d..bda27d16c4a 100644 --- a/target/linux/brcm47xx/patches-4.14/940-bcm47xx-yenta.patch +++ b/target/linux/brcm47xx/patches-4.14/940-bcm47xx-yenta.patch @@ -1,6 +1,6 @@ --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c -@@ -919,6 +919,8 @@ static unsigned int yenta_probe_irq(stru +@@ -920,6 +920,8 @@ static unsigned int yenta_probe_irq(stru * Probe for usable interrupts using the force * register to generate bogus card status events. */ @@ -9,7 +9,7 @@ cb_writel(socket, CB_SOCKET_EVENT, -1); cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); reg = exca_readb(socket, I365_CSCINT); -@@ -934,6 +936,7 @@ static unsigned int yenta_probe_irq(stru +@@ -935,6 +937,7 @@ static unsigned int yenta_probe_irq(stru } cb_writel(socket, CB_SOCKET_MASK, 0); exca_writeb(socket, I365_CSCINT, reg); @@ -17,7 +17,7 @@ mask = probe_irq_mask(val) & 0xffff; -@@ -1018,6 +1021,10 @@ static void yenta_get_socket_capabilitie +@@ -1019,6 +1022,10 @@ static void yenta_get_socket_capabilitie else socket->socket.irq_mask = 0; @@ -28,7 +28,7 @@ dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n", socket->socket.irq_mask, socket->cb_irq); } -@@ -1250,6 +1257,15 @@ static int yenta_probe(struct pci_dev *d +@@ -1251,6 +1258,15 @@ static int yenta_probe(struct pci_dev *d dev_info(&dev->dev, "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE)); diff --git a/target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch index 8007e28301e..d1e92ae40af 100644 --- a/target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau device, it has to decide which ones to send first, which ones to --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c -@@ -2029,7 +2029,7 @@ static int __init pktsched_init(void) +@@ -2028,7 +2028,7 @@ static int __init pktsched_init(void) return err; } diff --git a/target/linux/generic/pending-4.14/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-4.14/530-jffs2_make_lzma_available.patch index 046e9d54d3e..4e1dfbe7766 100644 --- a/target/linux/generic/pending-4.14/530-jffs2_make_lzma_available.patch +++ b/target/linux/generic/pending-4.14/530-jffs2_make_lzma_available.patch @@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis +} --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c -@@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void) +@@ -370,14 +370,41 @@ static int __init init_jffs2_fs(void) BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68); BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32); diff --git a/target/linux/generic/pending-4.14/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-4.14/810-pci_disable_common_quirks.patch index 2a5bcc8ef12..c80e58105d3 100644 --- a/target/linux/generic/pending-4.14/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-4.14/810-pci_disable_common_quirks.patch @@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, * even though no one is handling them (f.e. i915 driver is never loaded). -@@ -3167,6 +3171,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3171,6 +3175,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch b/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch index 1d2fbf9db52..b3b3072bcbf 100644 --- a/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch +++ b/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch @@ -28,7 +28,7 @@ Signed-off-by: Sricharan R --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -220,7 +220,10 @@ static int cpufreq_init(struct cpufreq_p +@@ -231,7 +231,10 @@ static int cpufreq_init(struct cpufreq_p } if (fallback) { @@ -40,7 +40,7 @@ Signed-off-by: Sricharan R /* * OPP tables are initialized only for policy->cpu, do it for -@@ -372,6 +375,8 @@ static int dt_cpufreq_probe(struct platf +@@ -376,6 +379,8 @@ static int dt_cpufreq_probe(struct platf if (data && data->have_governor_per_policy) dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY; diff --git a/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch b/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch index 969adfe4b52..dcf0bcd3f23 100644 --- a/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch +++ b/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch @@ -32,10 +32,10 @@ Signed-off-by: Georgi Djakov + struct notifier_block opp_nb; + struct mutex lock; + unsigned long opp_freq; + bool have_static_opps; }; - static struct freq_attr *cpufreq_dt_attr[] = { -@@ -43,9 +46,16 @@ static struct freq_attr *cpufreq_dt_attr +@@ -44,9 +47,16 @@ static struct freq_attr *cpufreq_dt_attr static int set_target(struct cpufreq_policy *policy, unsigned int index) { struct private_data *priv = policy->driver_data; @@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov } /* -@@ -86,6 +96,39 @@ node_put: +@@ -87,6 +97,39 @@ node_put: return name; } @@ -94,7 +94,7 @@ Signed-off-by: Georgi Djakov static int resources_available(void) { struct device *cpu_dev; -@@ -152,6 +195,7 @@ static int cpufreq_init(struct cpufreq_p +@@ -153,6 +196,7 @@ static int cpufreq_init(struct cpufreq_p bool fallback = false; const char *name; int ret; @@ -102,30 +102,27 @@ Signed-off-by: Georgi Djakov cpu_dev = get_cpu_device(policy->cpu); if (!cpu_dev) { -@@ -241,13 +285,16 @@ static int cpufreq_init(struct cpufreq_p - goto out_free_opp; +@@ -246,10 +290,13 @@ static int cpufreq_init(struct cpufreq_p + __func__, ret); } + mutex_init(&priv->lock); + dev_pm_opp_register_notifier(cpu_dev, &priv->opp_nb); + - priv->reg_name = name; - priv->opp_table = opp_table; - ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); if (ret) { dev_err(cpu_dev, "failed to init cpufreq table: %d\n", ret); -- goto out_free_priv; +- goto out_free_opp; + goto out_unregister_nb; } priv->cpu_dev = cpu_dev; -@@ -283,6 +330,8 @@ static int cpufreq_init(struct cpufreq_p +@@ -285,6 +332,8 @@ static int cpufreq_init(struct cpufreq_p out_free_cpufreq_table: dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table); +out_unregister_nb: + dev_pm_opp_unregister_notifier(cpu_dev, &priv->opp_nb); - out_free_priv: - kfree(priv); out_free_opp: + if (priv->have_static_opps) + dev_pm_opp_of_cpumask_remove_table(policy->cpus); diff --git a/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch b/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch index 26ea9f3c145..1c26650b785 100644 --- a/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch +++ b/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch @@ -11,7 +11,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -48,11 +48,41 @@ static int set_target(struct cpufreq_pol +@@ -49,11 +49,41 @@ static int set_target(struct cpufreq_pol struct private_data *priv = policy->driver_data; int ret; unsigned long target_freq = policy->freq_table[index].frequency * 1000; @@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov mutex_unlock(&priv->lock); return ret; -@@ -196,6 +226,8 @@ static int cpufreq_init(struct cpufreq_p +@@ -197,6 +227,8 @@ static int cpufreq_init(struct cpufreq_p const char *name; int ret; struct srcu_notifier_head *opp_srcu_head; @@ -63,7 +63,7 @@ Signed-off-by: Georgi Djakov cpu_dev = get_cpu_device(policy->cpu); if (!cpu_dev) { -@@ -303,6 +335,13 @@ static int cpufreq_init(struct cpufreq_p +@@ -305,6 +337,13 @@ static int cpufreq_init(struct cpufreq_p policy->suspend_freq = dev_pm_opp_get_suspend_opp_freq(cpu_dev) / 1000; diff --git a/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch b/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch index c0eb2eb3cd9..d9d76e409b4 100644 --- a/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch +++ b/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch @@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -143,8 +143,10 @@ static int opp_notifier(struct notifier_ +@@ -144,8 +144,10 @@ static int opp_notifier(struct notifier_ ret = PTR_ERR(cpu_reg); goto out; } diff --git a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch index 9b8107cee82..224b9764519 100644 --- a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch +++ b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch @@ -49,7 +49,7 @@ Signed-off-by: Russell King }; --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -1042,34 +1042,6 @@ int phylink_ethtool_set_pauseparam(struc +@@ -1045,34 +1045,6 @@ int phylink_ethtool_set_pauseparam(struc } EXPORT_SYMBOL_GPL(phylink_ethtool_set_pauseparam); diff --git a/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch b/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch index d0b4480f381..47b71ee4c15 100644 --- a/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch +++ b/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch @@ -10,7 +10,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -757,8 +757,8 @@ void phylink_start(struct phylink *pl) +@@ -760,8 +760,8 @@ void phylink_start(struct phylink *pl) clear_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state); phylink_run_resolve(pl); @@ -21,7 +21,7 @@ Signed-off-by: Russell King if (pl->phydev) phy_start(pl->phydev); } -@@ -770,8 +770,8 @@ void phylink_stop(struct phylink *pl) +@@ -773,8 +773,8 @@ void phylink_stop(struct phylink *pl) if (pl->phydev) phy_stop(pl->phydev);