Subject: [PATCH 11/12] cpuidle: mvebu: Add initial cpu idle support for Armada 370/XP SoC

From: [email-masked] (Kevin Hilman)
Date: Mon, 26 Aug 2013 20:28:01 -0700

Hi Gregory,

Gregory CLEMENT <[email-masked]> writes:

> Add wfi/cpu idle/cpu deep idle power states support for Armada XP SoC.
>
> All the latencies and the power consumption values used at the
> "armada_370_xp_idle_driver" structure are preliminary and will be
> modified in the future after running some measurements and analysis.
>
> Based on the work of Nadav Haklai.
>
> Signed-off-by: Nadav Haklai <[email-masked]>
> Signed-off-by: Gregory CLEMENT <[email-masked]>

[...]

> +int pm_support = WFI;
> +static int __init pm_enable_setup(char *str)
> +{
> +	if (!strncmp(str, "wfi", 3))
> +		pm_support = WFI;
> +	else if (!strncmp(str, "idle", 4))
> +		pm_support = MV_CPU_IDLE;
> +	else if (!strncmp(str, "deepidle", 6))
> +		pm_support = MV_CPU_DEEP_IDLE;
> +	else if (!strncmp(str, "off", 3))
> +		pm_support = DISABLED;
> +
> +	return 1;
> +}
> +__setup("pm_level=", pm_enable_setup);

Why is this new (but undocumented) kernel commandline needed when there
is already a way to configure the deepest C state from userspace?
(c.f. the 'disable' file under /sys/devices/system/cpu/cpuX/cpuidle/stateY)

Kevin