kernel: bump 4.14 to 4.14.81

Refreshed all patches.

Removed upstreamed patches:
- 081-spi-bcm-qspi-switch-back-to-reading-flash-using-smal.patch

Altered patches:
- 0054-cpufreq-dt-Handle-OPP-voltage-adjust-events

Compile-tested on: cns3xxx, imx6, ipq806x, x86_64
Runtime-tested on: cns3xxx, imx6, x86_64

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
Koen Vandeputte 2018-11-14 13:53:59 +01:00
parent 7e20e4ab96
commit e14dc93073
12 changed files with 28 additions and 75 deletions

View file

@ -4,11 +4,11 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .125 LINUX_VERSION-3.18 = .125
LINUX_VERSION-4.9 = .137 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-3.18.125 = 708433b360efd8623f7303b721ffb0e7c59cbe8552f1a3f4c0d980a12b4ed90e
LINUX_KERNEL_HASH-4.9.137 = 6db2512a9094bf4c830124641d1275635600b052962a7db3556da18914ea2589 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)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View file

@ -1,44 +0,0 @@
From 940ec770c295682993d1cccce3081fd7c74fece8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
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 <rafal@milecki.pl>
Signed-off-by: Mark Brown <broonie@kernel.org>
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

View file

@ -1,6 +1,6 @@
--- a/drivers/pcmcia/yenta_socket.c --- a/drivers/pcmcia/yenta_socket.c
+++ b/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 * Probe for usable interrupts using the force
* register to generate bogus card status events. * register to generate bogus card status events.
*/ */
@ -9,7 +9,7 @@
cb_writel(socket, CB_SOCKET_EVENT, -1); cb_writel(socket, CB_SOCKET_EVENT, -1);
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
reg = exca_readb(socket, I365_CSCINT); 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); cb_writel(socket, CB_SOCKET_MASK, 0);
exca_writeb(socket, I365_CSCINT, reg); exca_writeb(socket, I365_CSCINT, reg);
@ -17,7 +17,7 @@
mask = probe_irq_mask(val) & 0xffff; 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 else
socket->socket.irq_mask = 0; socket->socket.irq_mask = 0;
@ -28,7 +28,7 @@
dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n", dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n",
socket->socket.irq_mask, socket->cb_irq); 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", dev_info(&dev->dev, "Socket status: %08x\n",
cb_readl(socket, CB_SOCKET_STATE)); cb_readl(socket, CB_SOCKET_STATE));

View file

@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
device, it has to decide which ones to send first, which ones to device, it has to decide which ones to send first, which ones to
--- a/net/sched/sch_api.c --- a/net/sched/sch_api.c
+++ b/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; return err;
} }

View file

@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
+} +}
--- a/fs/jffs2/super.c --- a/fs/jffs2/super.c
+++ b/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_inode) != 68);
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32); BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);

View file

@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* Some BIOS implementations leave the Intel GPU interrupts enabled, * Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded). * 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, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

View file

@ -28,7 +28,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
--- a/drivers/cpufreq/cpufreq-dt.c --- a/drivers/cpufreq/cpufreq-dt.c
+++ b/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) { if (fallback) {
@ -40,7 +40,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
/* /*
* OPP tables are initialized only for policy->cpu, do it for * 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) if (data && data->have_governor_per_policy)
dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY; dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY;

View file

@ -32,10 +32,10 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
+ struct notifier_block opp_nb; + struct notifier_block opp_nb;
+ struct mutex lock; + struct mutex lock;
+ unsigned long opp_freq; + unsigned long opp_freq;
bool have_static_opps;
}; };
static struct freq_attr *cpufreq_dt_attr[] = { @@ -44,9 +47,16 @@ static struct freq_attr *cpufreq_dt_attr
@@ -43,9 +46,16 @@ static struct freq_attr *cpufreq_dt_attr
static int set_target(struct cpufreq_policy *policy, unsigned int index) static int set_target(struct cpufreq_policy *policy, unsigned int index)
{ {
struct private_data *priv = policy->driver_data; struct private_data *priv = policy->driver_data;
@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
} }
/* /*
@@ -86,6 +96,39 @@ node_put: @@ -87,6 +97,39 @@ node_put:
return name; return name;
} }
@ -94,7 +94,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
static int resources_available(void) static int resources_available(void)
{ {
struct device *cpu_dev; 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; bool fallback = false;
const char *name; const char *name;
int ret; int ret;
@ -102,30 +102,27 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
cpu_dev = get_cpu_device(policy->cpu); cpu_dev = get_cpu_device(policy->cpu);
if (!cpu_dev) { if (!cpu_dev) {
@@ -241,13 +285,16 @@ static int cpufreq_init(struct cpufreq_p @@ -246,10 +290,13 @@ static int cpufreq_init(struct cpufreq_p
goto out_free_opp; __func__, ret);
} }
+ mutex_init(&priv->lock); + mutex_init(&priv->lock);
+ dev_pm_opp_register_notifier(cpu_dev, &priv->opp_nb); + 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); ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table);
if (ret) { if (ret) {
dev_err(cpu_dev, "failed to init cpufreq table: %d\n", 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; + goto out_unregister_nb;
} }
priv->cpu_dev = cpu_dev; 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: out_free_cpufreq_table:
dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table); dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
+out_unregister_nb: +out_unregister_nb:
+ dev_pm_opp_unregister_notifier(cpu_dev, &priv->opp_nb); + dev_pm_opp_unregister_notifier(cpu_dev, &priv->opp_nb);
out_free_priv:
kfree(priv);
out_free_opp: out_free_opp:
if (priv->have_static_opps)
dev_pm_opp_of_cpumask_remove_table(policy->cpus);

View file

@ -11,7 +11,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
--- a/drivers/cpufreq/cpufreq-dt.c --- a/drivers/cpufreq/cpufreq-dt.c
+++ b/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; struct private_data *priv = policy->driver_data;
int ret; int ret;
unsigned long target_freq = policy->freq_table[index].frequency * 1000; unsigned long target_freq = policy->freq_table[index].frequency * 1000;
@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
mutex_unlock(&priv->lock); mutex_unlock(&priv->lock);
return ret; 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; const char *name;
int ret; int ret;
struct srcu_notifier_head *opp_srcu_head; struct srcu_notifier_head *opp_srcu_head;
@ -63,7 +63,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
cpu_dev = get_cpu_device(policy->cpu); cpu_dev = get_cpu_device(policy->cpu);
if (!cpu_dev) { 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; policy->suspend_freq = dev_pm_opp_get_suspend_opp_freq(cpu_dev) / 1000;

View file

@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
--- a/drivers/cpufreq/cpufreq-dt.c --- a/drivers/cpufreq/cpufreq-dt.c
+++ b/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); ret = PTR_ERR(cpu_reg);
goto out; goto out;
} }

View file

@ -49,7 +49,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
}; };
--- a/drivers/net/phy/phylink.c --- a/drivers/net/phy/phylink.c
+++ b/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); EXPORT_SYMBOL_GPL(phylink_ethtool_set_pauseparam);

View file

@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/phylink.c --- a/drivers/net/phy/phylink.c
+++ b/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); clear_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state);
phylink_run_resolve(pl); phylink_run_resolve(pl);
@ -21,7 +21,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
if (pl->phydev) if (pl->phydev)
phy_start(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) if (pl->phydev)
phy_stop(pl->phydev); phy_stop(pl->phydev);