On Friday, July 22, 2016 08:36:56 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.

Why would it fail?  If governor->max_transition_latency is non-zero, but less
than UNIT_MAX, the condition checked will be true to my eyes.

Thanks,
Rafael

Reply via email to