diff options
author | 2014-02-02 09:43:20 +0100 | |
---|---|---|
committer | 2014-02-02 09:43:20 +0100 | |
commit | 65370bdf881e20907e7a53abab9b8c0bc5f60a6b (patch) | |
tree | 0d32a494e873b7b92dbfab0e67ffeef597ee8108 /arch/powerpc/platforms/powernv/setup.c | |
parent | locking/mcs: Allow architectures to hook in to contended paths (diff) | |
parent | Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild (diff) | |
download | linux-dev-65370bdf881e20907e7a53abab9b8c0bc5f60a6b.tar.xz linux-dev-65370bdf881e20907e7a53abab9b8c0bc5f60a6b.zip |
Merge branch 'linus' into core/locking
Refresh the topic.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/powerpc/platforms/powernv/setup.c')
-rw-r--r-- | arch/powerpc/platforms/powernv/setup.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c index 19884b2a51b4..21166f65c97c 100644 --- a/arch/powerpc/platforms/powernv/setup.c +++ b/arch/powerpc/platforms/powernv/setup.c @@ -26,6 +26,7 @@ #include <linux/of_fdt.h> #include <linux/interrupt.h> #include <linux/bug.h> +#include <linux/cpuidle.h> #include <asm/machdep.h> #include <asm/firmware.h> @@ -145,8 +146,10 @@ static void pnv_shutdown(void) /* Let the PCI code clear up IODA tables */ pnv_pci_shutdown(); - /* And unregister all OPAL interrupts so they don't fire - * up while we kexec + /* + * Stop OPAL activity: Unregister all OPAL interrupts so they + * don't fire up while we kexec and make sure all potentially + * DMA'ing ops are complete (such as dump retrieval). */ opal_shutdown(); } @@ -214,6 +217,16 @@ static int __init pnv_probe(void) return 1; } +void powernv_idle(void) +{ + /* Hook to cpuidle framework if available, else + * call on default platform idle code + */ + if (cpuidle_idle_call()) { + power7_idle(); + } +} + define_machine(powernv) { .name = "PowerNV", .probe = pnv_probe, @@ -223,7 +236,7 @@ define_machine(powernv) { .show_cpuinfo = pnv_show_cpuinfo, .progress = pnv_progress, .machine_shutdown = pnv_shutdown, - .power_save = power7_idle, + .power_save = powernv_idle, .calibrate_decr = generic_calibrate_decr, #ifdef CONFIG_KEXEC .kexec_cpu_down = pnv_kexec_cpu_down, |