]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
openrisc: Initial support for the idle state
authorSebastian Macke <sebastian@macke.de>
Sun, 20 Jul 2014 15:13:31 +0000 (15:13 +0000)
committerStafford Horne <shorne@gmail.com>
Fri, 24 Feb 2017 19:14:35 +0000 (04:14 +0900)
This patch adds basic support for the idle state of the cpu.
The patch overrides the regular idle function, enables the interupts,
checks for the power management unit and enables the cpu doze mode
if available.

Signed-off-by: Sebastian Macke <sebastian@macke.de>
[shorne@gmail.com: Fixed checkpatch, blankline after declarations]
Signed-off-by: Stafford Horne <shorne@gmail.com>
arch/openrisc/kernel/process.c

index c49350b200e1c981dd5fc2f309c4f7bdd4286366..6e9d1cb519f245777ada914e1a9e009ed5d7980a 100644 (file)
@@ -75,6 +75,17 @@ void machine_power_off(void)
        __asm__("l.nop 1");
 }
 
+/*
+ * Send the doze signal to the cpu if available.
+ * Make sure, that all interrupts are enabled
+ */
+void arch_cpu_idle(void)
+{
+       local_irq_enable();
+       if (mfspr(SPR_UPR) & SPR_UPR_PMP)
+               mtspr(SPR_PMR, mfspr(SPR_PMR) | SPR_PMR_DME);
+}
+
 void (*pm_power_off) (void) = machine_power_off;
 
 /*