On 07/22/2016 03:25 PM, Linda Knippers wrote: > > > On 7/22/2016 11:36 AM, Viresh Kumar wrote: >> On 22-07-16, 17:14, Andreas Herrmann wrote: >>> diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c >>> index a7ecb9a..3f0ce2a 100644 >>> --- a/drivers/cpufreq/pcc-cpufreq.c >>> +++ b/drivers/cpufreq/pcc-cpufreq.c >>> @@ -555,8 +555,6 @@ static int pcc_cpufreq_cpu_init(struct cpufreq_policy *policy) >>> policy->min = policy->cpuinfo.min_freq = >>> ioread32(&pcch_hdr->minimum_frequency) * 1000; >>> >>> - policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; >>> - >>> pr_debug("init: policy->max is %d, policy->min is %d\n", >>> policy->max, policy->min); >>> out: >> >> Hi Rafael, >> >> I am very confused on this, can you help me understand ? >> >> - CPUFREQ_ETERNAL = -1 >> - unsigned int transition_latency = CPUFREQ_ETERNAL, will set it to UINT_MAX. >> - Many drivers do it today >> >> cpufreq.c >> >> if (policy->governor->max_transition_latency && >> policy->cpuinfo.transition_latency > >> policy->governor->max_transition_latency) { >> >> - And this check will always fail, unless max_transition_latency is zero. >> >> What am I missing ? > > I don't know what's missing but I can reproduce the problem. I added a debug message to show the transition latency values. [ 36.113829] cpufreq: ondemand governor failed, too long transition latency of HW, fallback to performance governor [ 36.164688] cpufreq: cpufreq_governor: max_transition_latency 0x10000000, transition_latency 0x4294967295 max_transition latency for ondemand seems to come from #define TRANSITION_LATENCY_LIMIT (10 * 1000 * 1000) How does this work for any driver? -- ljk > > -- ljk > -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html