On 22-05-18, 14:07, Sudeep Holla wrote:
> On Tue, May 22, 2018 at 02:29:45PM +0300, Ilia Lin wrote:
> > In Certain QCOM SoCs like apq8096 and msm8996 that have KRYO processors,
> > the CPU frequency subset and voltage value of each OPP varies
> > based on the silicon variant in use. Qualcomm Process Voltage Scaling Tables
> > defines the voltage and frequency value based on the msm-id in SMEM
> > and speedbin blown in the efuse combination.
> > The qcom-cpufreq-kryo driver reads the msm-id and efuse value from the SoC
> > to provide the OPP framework with required information.
> > This is used to determine the voltage and frequency value for each OPP of
> > operating-points-v2 table when it is parsed by the OPP framework.
> > 
> > Signed-off-by: Ilia Lin <ilia...@codeaurora.org>
> > Acked-by: Viresh Kumar <viresh.ku...@linaro.org>
> 
> [...]
> 
> > +
> > +   switch (msm8996_version) {
> > +   case MSM8996_V3:
> > +           versions = 1 << (unsigned int)(*speedbin);
> > +           break;
> > +   case MSM8996_SG:
> > +           versions = 1 << ((unsigned int)(*speedbin) + 4);
> > +           break;
> > +   default:
> > +           BUG();
> > +           break;
> > +   }
> > +
> > +   for_each_possible_cpu(cpu) {
> > +           cpu_dev = get_cpu_device(cpu);
> > +           if (NULL == cpu_dev) {
> > +                   ret = -ENODEV;
> > +                   goto free_opp;
> > +           }
> > +
> > +           opp_tables[cpu] = dev_pm_opp_set_supported_hw(cpu_dev,
> > +                                                         &versions, 1);
> 
> Will be not get NULL for all CPUs except 0 ?

With my patches, we will get the OPP table again with refcount
incremented. And on failures, we need to call put-supported-hw helper
only for the CPUs for which it passed previously.

-- 
viresh

Reply via email to