RE: [PATCH] cpufreq: qoriq: enhance bus frequency calculation

From: Andy Tang
Date: Fri Mar 10 2017 - 05:12:56 EST


Hi Viresh,

> -----Original Message-----
> From: Viresh Kumar [mailto:viresh.kumar@xxxxxxxxxx]
> Sent: Friday, March 10, 2017 6:05 PM
> To: Andy Tang
> Cc: rjw@xxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH] cpufreq: qoriq: enhance bus frequency calculation
>
> On 10-03-17, 01:44, Andy Tang wrote:
> > > Will this always work? If yes, then what about dropping the code
> > > parsing DT completely ? That is, just rely on clk_get_rate() in all cases.
> > >
> > We put all the clock tree configuration in driver, not in dts.
> > cg-pll0-div1 is hardcoded in driver since we don't depend on dts.
> > We kind of don't have other choices but use the hardcode clock name
> > here too.
>
> Looks like you misread my comment. Let me try again. Will it be fine to write
> get_bus_freq() this way?
>
> static u32 get_bus_freq(void)
> {
> struct clk *pltclk;
>
> /* get platform freq by its clock name */
> pltclk = clk_get(NULL, "cg-pll0-div1");
> if (IS_ERR(pltclk)) {
> pr_err("%s: can't get bus frequency %ld\n",
> __func__, PTR_ERR(pltclk));
> return PTR_ERR(pltclk);
> }
>
> return clk_get_rate(pltclk);
> }
>
Yes, we can. But for some legacy powerpc-based socs, this may not work.
powerpc-base socs are still using legacy clock driver. For compatibility sake, we better be compatible with old ones. It would break any compatibility this way.

Regards,
Yuantian

> --
> viresh