arm64: kernel: add CPU idle call
When CPU idle is enabled, the architectural idle call should go through the idle subsystem to allow CPUs to enter idle states defined by the platform CPU idle back-end operations. This patch, mirroring other archs behaviour, adds the CPU idle call to the architectural arch_cpu_idle implementation for arm64. Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
This commit is contained in:
parent
1f85008e74
commit
b8824dfe1b
|
@ -33,6 +33,7 @@
|
||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/cpu.h>
|
#include <linux/cpu.h>
|
||||||
|
#include <linux/cpuidle.h>
|
||||||
#include <linux/elfcore.h>
|
#include <linux/elfcore.h>
|
||||||
#include <linux/pm.h>
|
#include <linux/pm.h>
|
||||||
#include <linux/tick.h>
|
#include <linux/tick.h>
|
||||||
|
@ -98,8 +99,10 @@ void arch_cpu_idle(void)
|
||||||
* This should do all the clock switching and wait for interrupt
|
* This should do all the clock switching and wait for interrupt
|
||||||
* tricks
|
* tricks
|
||||||
*/
|
*/
|
||||||
cpu_do_idle();
|
if (cpuidle_idle_call()) {
|
||||||
local_irq_enable();
|
cpu_do_idle();
|
||||||
|
local_irq_enable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HOTPLUG_CPU
|
#ifdef CONFIG_HOTPLUG_CPU
|
||||||
|
|
Loading…
Reference in New Issue