diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2015-05-26 09:31:39 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2015-05-26 09:31:39 +0000 |
commit | 331deccdf529624f9b9a8c357086faf18b784c00 (patch) | |
tree | 6e4caff3b5ff872de31304dadaef26687ce86a51 /target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch | |
parent | dc562c4e6c274ea22db8a11fdfe7ddfe75859e36 (diff) | |
download | upstream-331deccdf529624f9b9a8c357086faf18b784c00.tar.gz upstream-331deccdf529624f9b9a8c357086faf18b784c00.tar.bz2 upstream-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
Diffstat (limited to 'target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch')
-rw-r--r-- | target/linux/mvebu/patches-4.0/031-disable_cpu_idle_on_armada_38x.patch | 62 |
1 files changed, 0 insertions, 62 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; |