Messages in this thread | | | From | Arnd Bergmann <> | Date | Thu, 21 Jan 2021 11:52:13 +0100 | Subject | Re: [RFC PATCH 2/7] arm64: kernel: Add a WFI hook. |
| |
On Wed, Jan 20, 2021 at 2:27 PM Mohamed Mediouni <mohamed.mediouni@caramail.com> wrote: > --- a/arch/arm64/kernel/cpu_ops.c > +++ b/arch/arm64/kernel/cpu_ops.c
> #if defined(CONFIG_STACKPROTECTOR) && !defined(CONFIG_STACKPROTECTOR_PER_TASK) > #include <linux/stackprotector.h> > @@ -74,8 +75,14 @@ void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd); > > static void noinstr __cpu_do_idle(void) > { > - dsb(sy); > - wfi(); > + const struct cpu_operations *ops = get_cpu_ops(task_cpu(current)); > + > + if (ops->cpu_wfi) { > + ops->cpu_wfi(); > + } else { > + dsb(sy); > + wfi(); > + } > }
I think the correct place to put this would be a platform specific driver in drivers/cpuidle/ instead of an added low-level callback in the default idle function and a custom cpu_operations structure.
Arnd
| |