Messages in this thread | | | Date | Tue, 5 Dec 2017 10:18:21 +0200 (EET) | From | Meelis Roos <> | Subject | Re: [PATCH] cpufreq: longhaul: Set transition_delay_us to 20 ms |
| |
> The commit e948bc8fbee0 ("cpufreq: Cap the default transition delay > value to 10 ms") caused a regression on EPIA-M min-ITX computer where > shutdown or reboot hangs occasionally with a print message like: > > longhaul: Warning: Timeout while waiting for idle PCI bus > cpufreq: __target_index: Failed to change cpu frequency: -16 > > This probably happens because the cpufreq governor tries to change the > frequency of the CPU faster than allowed by the hardware. > > With the above commit, the default transition delay comes to 10 ms for a > transition_latency of 200 us. Set the default transition delay to 20 ms > directly to fix this regression. > > Fixes: e948bc8fbee0 ("cpufreq: Cap the default transition delay value to 10 ms") > Cc: 4.14+ <stable@vger.kernel.org> # 4.14+ > Reported-by: Meelis Roos <mroos@linux.ee> > Suggested-by: Rafael J. Wysocki <rjw@rjwysocki.net> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > drivers/cpufreq/longhaul.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/longhaul.c b/drivers/cpufreq/longhaul.c > index c46a12df40dd..56eafcb07859 100644 > --- a/drivers/cpufreq/longhaul.c > +++ b/drivers/cpufreq/longhaul.c > @@ -894,7 +894,7 @@ static int longhaul_cpu_init(struct cpufreq_policy *policy) > if ((longhaul_version != TYPE_LONGHAUL_V1) && (scale_voltage != 0)) > longhaul_setup_voltagescaling(); > > - policy->cpuinfo.transition_latency = 200000; /* nsec */ > + policy->transition_delay_us = 20000; /* usec */ > > return cpufreq_table_validate_and_show(policy, longhaul_table); > }
This patch also works on my EPIA-M board - tested 10+ times.
Sorry it took so long to test, it was a remote computer.
-- Meelis Roos (mroos@linux.ee)
| |