[PATCH] cpufreq: apple-soc: Switch to the lowest frequency on suspend

Viresh Kumar viresh.kumar at linaro.org
Wed Jan 4 02:47:18 PST 2023


On 04-01-23, 19:21, Hector Martin wrote:
> Without this, the CPUs are left in a random pstate. Since we don't
> support deep idle yet (which powers down the CPUs), this results in
> significantly increased idle power consumption in suspend.
> 
> Fixes: 6286bbb40576 ("cpufreq: apple-soc: Add new driver to control Apple SoC CPU P-states")
> Signed-off-by: Hector Martin <marcan at marcan.st>
> ---
>  drivers/cpufreq/apple-soc-cpufreq.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/cpufreq/apple-soc-cpufreq.c b/drivers/cpufreq/apple-soc-cpufreq.c
> index d1801281cdd9..1b4e6c701860 100644
> --- a/drivers/cpufreq/apple-soc-cpufreq.c
> +++ b/drivers/cpufreq/apple-soc-cpufreq.c
> @@ -280,6 +280,7 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy)
>  	policy->cpuinfo.transition_latency = transition_latency;
>  	policy->dvfs_possible_from_any_cpu = true;
>  	policy->fast_switch_possible = true;
> +	policy->suspend_freq = freq_table[0].frequency;
>  
>  	if (policy_has_boost_freq(policy)) {
>  		ret = cpufreq_enable_boost_support();
> @@ -329,6 +330,7 @@ static struct cpufreq_driver apple_soc_cpufreq_driver = {
>  	.fast_switch	= apple_soc_cpufreq_fast_switch,
>  	.register_em	= cpufreq_register_em_with_opp,
>  	.attr		= apple_soc_cpufreq_hw_attr,
> +	.suspend	= cpufreq_generic_suspend,
>  };
>  
>  static int __init apple_soc_cpufreq_module_init(void)

Applied. Thanks.

-- 
viresh



More information about the linux-arm-kernel mailing list