aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2015-05-26 09:31:39 +0000
committerImre Kaloz <kaloz@openwrt.org>2015-05-26 09:31:39 +0000
commit331deccdf529624f9b9a8c357086faf18b784c00 (patch)
tree6e4caff3b5ff872de31304dadaef26687ce86a51
parentdc562c4e6c274ea22db8a11fdfe7ddfe75859e36 (diff)
downloadmaster-187ad058-331deccdf529624f9b9a8c357086faf18b784c00.tar.gz
master-187ad058-331deccdf529624f9b9a8c357086faf18b784c00.tar.bz2
master-187ad058-331deccdf529624f9b9a8c357086faf18b784c00.zip
mvebu: update Linux 4.0 patches
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45762 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch62
-rw-r--r--target/linux/mvebu/patches-4.0/202-gpio_mvebu_add_limited_pwm_support.patch10
2 files changed, 5 insertions, 67 deletions
diff --git a/target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch b/target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch
deleted file mode 100644
index 31a73a504c..0000000000
--- a/target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-On Armada 38x SoCs, under heavy I/O load, the system hangs when CPU
-Idle is enabled. Waiting for a solution to this issue, this patch
-disables the CPU Idle support for this SoC.
-
-As CPU Hot plug support also uses some of the CPU Idle functions it is
-also affected by the same issue. This patch disables it also for the
-Armada 38x SoCs.
-
-Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Cc: <stable@vger.kernel.org> # v3.17 +
----
-Hi,
-
-In this version I removed the unneeded initialization of the ret
-variable, I also fixed the warning message, and finally I added the
-Tested-by from Thomas.
-
-Gregory
-
- arch/arm/mach-mvebu/pmsu.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
---- a/arch/arm/mach-mvebu/pmsu.c
-+++ b/arch/arm/mach-mvebu/pmsu.c
-@@ -415,6 +415,9 @@ static __init int armada_38x_cpuidle_ini
- void __iomem *mpsoc_base;
- u32 reg;
-
-+ pr_warn("CPU idle is currently broken on Armada 38x: disabling");
-+ return 0;
-+
- np = of_find_compatible_node(NULL, NULL,
- "marvell,armada-380-coherency-fabric");
- if (!np)
-@@ -476,6 +479,16 @@ static int __init mvebu_v7_cpu_pm_init(v
- return 0;
- of_node_put(np);
-
-+ /*
-+ * Currently the CPU idle support for Armada 38x is broken, as
-+ * the CPU hotplug uses some of the CPU idle functions it is
-+ * broken too, so let's disable it
-+ */
-+ if (of_machine_is_compatible("marvell,armada380")) {
-+ cpu_hotplug_disable();
-+ pr_warn("CPU hotplug support is currently broken on Armada 38x: disabling");
-+ }
-+
- if (of_machine_is_compatible("marvell,armadaxp"))
- ret = armada_xp_cpuidle_init();
- else if (of_machine_is_compatible("marvell,armada370"))
-@@ -489,7 +502,8 @@ static int __init mvebu_v7_cpu_pm_init(v
- return ret;
-
- mvebu_v7_pmsu_enable_l2_powerdown_onidle();
-- platform_device_register(&mvebu_v7_cpuidle_device);
-+ if (mvebu_v7_cpuidle_device.name)
-+ platform_device_register(&mvebu_v7_cpuidle_device);
- cpu_pm_register_notifier(&mvebu_v7_cpu_pm_notifier);
-
- return 0;
diff --git a/target/linux/mvebu/patches-4.0/202-gpio_mvebu_add_limited_pwm_support.patch b/target/linux/mvebu/patches-4.0/202-gpio_mvebu_add_limited_pwm_support.patch
index 535901dcd5..f1b868851a 100644
--- a/target/linux/mvebu/patches-4.0/202-gpio_mvebu_add_limited_pwm_support.patch
+++ b/target/linux/mvebu/patches-4.0/202-gpio_mvebu_add_limited_pwm_support.patch
@@ -299,7 +299,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
{
struct mvebu_gpio_chip *mvchip =
container_of(chip, struct mvebu_gpio_chip, chip);
-@@ -609,6 +592,8 @@ static int mvebu_gpio_suspend(struct pla
+@@ -617,6 +600,8 @@ static int mvebu_gpio_suspend(struct pla
BUG();
}
@@ -308,7 +308,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
return 0;
}
-@@ -652,6 +637,8 @@ static int mvebu_gpio_resume(struct plat
+@@ -660,6 +645,8 @@ static int mvebu_gpio_resume(struct plat
BUG();
}
@@ -317,7 +317,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
return 0;
}
-@@ -663,7 +650,6 @@ static int mvebu_gpio_probe(struct platf
+@@ -671,7 +658,6 @@ static int mvebu_gpio_probe(struct platf
struct resource *res;
struct irq_chip_generic *gc;
struct irq_chip_type *ct;
@@ -325,7 +325,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
unsigned int ngpios;
int soc_variant;
int i, cpu, id;
-@@ -693,10 +679,10 @@ static int mvebu_gpio_probe(struct platf
+@@ -701,10 +687,10 @@ static int mvebu_gpio_probe(struct platf
return id;
}
@@ -339,7 +339,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
mvchip->soc_variant = soc_variant;
mvchip->chip.label = dev_name(&pdev->dev);
-@@ -830,7 +816,8 @@ static int mvebu_gpio_probe(struct platf
+@@ -838,7 +824,8 @@ static int mvebu_gpio_probe(struct platf
goto err_generic_chip;
}