Re: Re: [PATCH v6 5/8] PM / devfreq: tegra: remove operating-points

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 18 March 2015 at 06:23, MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> wrote:
> >> As the DT bindings don't have an operating-points property any more,
> >> build the OPP table from the frequencies supported by the EMC clock.
> >>
> >> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
> >> ---
[]
> >>
> >> +     for (rate = 0; rate <= tegra->max_freq * KHZ; rate++) {
> >> +             rate = clk_round_rate(tegra->emc_clock, rate);
> >> +             dev_pm_opp_add(&pdev->dev, rate, 0);
> >> +     }
> >> +
> >
> > Although I am not going to NACK for the single-time performance of a
> > single device driver for a device that I do not have or fully understand,
> > please note that you may be wasting several billion cycles unless
> > your product is running at MHZ/kHZ level.
> >
> > What is going on with this loop? Do you really have such a virtually-continuous
> > frequency scaling in your product? (Wow.... but in such a case, I don't think
> > OPP is appropriate.)
> 
> Actually, that loop is expected to only execute as many times as
> frequencies are supported by the clock. This is using knowledge of the
> clock always rounding up when possible, which I think is fine in this
> case.

Ah. ok. you are using "clk_frac_div_round_rate" of
drivers/clk/tegra/clk-divider.c (DIV_ROUND_UP)

Great. Thanks for the clarification.


Cheers,
MyungJoo

> 
> Regards,
> 
> Tomeu
> 
��.n��������+%������w��{.n�����{��נ���^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux