Skip to content

Commit

Permalink
Merge tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu in…
Browse files Browse the repository at this point in the history
…to 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 <[email protected]>
  • Loading branch information
olofj committed Apr 3, 2015
2 parents 77479b3 + 548ae94 commit 1eddf57
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion arch/arm/mach-mvebu/pmsu.c
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,9 @@ static __init int armada_38x_cpuidle_init(void)
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)
Expand Down Expand Up @@ -476,6 +479,16 @@ static int __init mvebu_v7_cpu_pm_init(void)
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"))
Expand All @@ -489,7 +502,8 @@ static int __init mvebu_v7_cpu_pm_init(void)
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;
Expand Down

0 comments on commit 1eddf57

Please sign in to comment.