[PATCH 08/10] ARM: clps711x: Add CLPS711X cpuidle driver

Alexander Shiyan shc_work at mail.ru
Sun Jul 21 06:04:52 EDT 2013


On Sun, 21 Jul 2013 10:32:31 +0200
Daniel Lezcano <daniel.lezcano at linaro.org> wrote:

> On 07/21/2013 06:11 AM, Alexander Shiyan wrote:
> > On Sat, 20 Jul 2013 23:42:11 +0200
> > Daniel Lezcano <daniel.lezcano at linaro.org> wrote:
> > 
> >> On 07/18/2013 08:34 PM, Alexander Shiyan wrote:
> >>> This adds the cpuidle driver for Cirrus Logic CLPS711X series SoCs.
> >>> Designed primarily for migration CLPS711X subarch for multiplatform & DT.
> >>>
> >>> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
> >>> ---
> >>>  drivers/cpuidle/Kconfig            |  6 +++
> >>>  drivers/cpuidle/Makefile           |  1 +
> >>>  drivers/cpuidle/cpuidle-clps711x.c | 80 ++++++++++++++++++++++++++++++++++++++
> >>>  3 files changed, 87 insertions(+)
> >>>  create mode 100644 drivers/cpuidle/cpuidle-clps711x.c
> > [...]
> >>> +static int clps711x_cpuidle_halt(struct cpuidle_device *dev,
> >>> +				 struct cpuidle_driver *drv, int index)
> >>> +{
> >>> +	writel(1, clps711x_halt);
> >>
> >> In what the 'clps711x_halt' differs from the usual WFI (cpu_do_idle) ?
> > 
> > AFAIK, ARM720T does not implement the WFI instruction.
> > "HALT" register in CLPS711X do the same:
> > "A write to this location will put the system into the Idle State by
> > halting the clock to the processor until an interrupt is generated."
> 
> I am wondering if you are not using more states, may be you can consider
> to add a clps711x idle function for the 'arm_pm_idle' callback instead
> of creating a new driver.

Currently, this is exactly what is done :)
But I really would like to further add a second mode (STDBY),
which allow to use all PM features.
At this time add this mode is too hard, because there are some barriers
for this, which will be resolved when all drivers for this platform will
contains DT-support.

[...]

-- 
Alexander Shiyan <shc_work at mail.ru>



More information about the linux-arm-kernel mailing list