Re: [PATCH V4 01/14] dt-bindings: cpufreq: mediatek: Add MediaTek CCI property

From: Rex-BC Chen
Date: Tue Apr 26 2022 - 04:34:45 EST


On Mon, 2022-04-25 at 12:52 +0200, Krzysztof Kozlowski wrote:
> On 25/04/2022 12:20, Rex-BC Chen wrote:
> > > However I am not sure if you solved your problem... see below:
> > >
> > > > For example:
> > > > mediatek cci set 1.2V originally. When cpufreq want to adjust
> > > > lower
> > > > frequency adn set voltage to 1.0V.
> > > > The framework will remain using 1.2V to prevent crash of
> > > > mediatek
> > > > cci.
> > >
> > > No, regulator_set_voltage() for proc_reg says:
> > > "NOTE: If the regulator is shared between several devices then
> > > the
> > > lowest
> > > request voltage that meets the system constraints will be used."
> > >
> > > Not the highest. So when your devfreq and cpufreq boots, calling
> > > regulator_set_voltage will still cause high frequency and low
> > > voltage.
> > >
> >
> > From the driver comment, I think it still needs to match "meets the
> > system constraints".
> >
> > From drivers, we can trace the driver and it finally to
> > regulator_get_optimal_voltage().
> > In [1], the framework will get max voltage while finding each
> > device's
> > voltage.
> >
> > [1]:
> >
https://urldefense.com/v3/__https://elixir.bootlin.com/linux/latest/source/drivers/regulator/core.c*L3815__;Iw!!CTRNKA9wMg0ARbw!35L9ISPWDpbGPsLEc0935D2nWTLtaLSNfPipvteddPaxwO2i_KaN0wfWegpkyaPjjagW$
> >
>
> Right, actually in your case it's the regulator_check_consumers()
> above
> that line, because you
>
> I think it's quite generic problem, so would be worth solving for
> more
> regulator consumers, but your approach is fine. At least I do not
> have
> anything smarter, at the moment.
>
> Best regards,
> Krzysztof

Hello Krzysztof,

Thanks for your review!
I will send next version to modify the description of mediatek,cci when
the driver part is explained clear.

BRs,
Rex