mvebu fix for 4.0
Disable CPU Idle on Armada 38x -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEABECAAYFAlUc/VsACgkQCwYYjhRyO9VRMQCgm649m2RGKpuIHIfrrUY5Ml9P sYEAn3B+ExgeILErBXde/N3gGlu84U4Q =qI89 -----END PGP SIGNATURE----- Merge tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu into fixes Merge "ARM: mvebu: fixes for v4.0" from Gregory Clement: mvebu fix for 4.0 Disable CPU Idle on Armada 38x * tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Disable CPU Idle on Armada 38x Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
1eddf578e2
|
@ -415,6 +415,9 @@ static __init int armada_38x_cpuidle_init(void)
|
||||||
void __iomem *mpsoc_base;
|
void __iomem *mpsoc_base;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
|
||||||
|
pr_warn("CPU idle is currently broken on Armada 38x: disabling");
|
||||||
|
return 0;
|
||||||
|
|
||||||
np = of_find_compatible_node(NULL, NULL,
|
np = of_find_compatible_node(NULL, NULL,
|
||||||
"marvell,armada-380-coherency-fabric");
|
"marvell,armada-380-coherency-fabric");
|
||||||
if (!np)
|
if (!np)
|
||||||
|
@ -476,6 +479,16 @@ static int __init mvebu_v7_cpu_pm_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
of_node_put(np);
|
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"))
|
if (of_machine_is_compatible("marvell,armadaxp"))
|
||||||
ret = armada_xp_cpuidle_init();
|
ret = armada_xp_cpuidle_init();
|
||||||
else if (of_machine_is_compatible("marvell,armada370"))
|
else if (of_machine_is_compatible("marvell,armada370"))
|
||||||
|
@ -489,7 +502,8 @@ static int __init mvebu_v7_cpu_pm_init(void)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
mvebu_v7_pmsu_enable_l2_powerdown_onidle();
|
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);
|
cpu_pm_register_notifier(&mvebu_v7_cpu_pm_notifier);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue