Re: [PATCH 0/3] clk: qcom: smd-rpm: Report enable state to framework

From: Bjorn Andersson
Date: Tue Nov 09 2021 - 10:54:58 EST


On Tue 09 Nov 02:26 PST 2021, Stephan Gerhold wrote:

> Hi Shawn,
>
> On Tue, Nov 09, 2021 at 10:25:55AM +0800, Shawn Guo wrote:
> > Currently the enable state of smd-rpm clocks are not properly reported
> > back to framework due to missing .is_enabled and .is_prepared hooks.
> > This causes a couple of issues.
> >
> > - All those unused clocks are not voted for off, because framework has
> > no knowledge that they are unused. It becomes a problem for vlow
> > power mode support, as we do not have every single RPM clock claimed
> > and voted for off by client devices, and rely on clock framework to
> > disable those unused RPM clocks.
> >
>
> I posted a similar patch a bit more than a year ago [1]. Back then one
> of the concerns was that we might disable critical clocks just because
> they have no driver using it actively. For example, not all of the
> platforms using clk-smd-rpm already have an interconnect driver.
> Disabling the interconnect related clocks will almost certainly make the
> device lock up completely. (I tried it back then, it definitely does...)
>
> I proposed adding CLK_IGNORE_UNUSED for the interconnect related clocks
> back then [2] which would allow disabling most of the clocks at least.
> Stephen Boyd had an alternative proposal to instead move the
> interconnect related clocks completely out of clk-smd-rpm [3].
> But I'm still unsure how this would work in a backwards compatible way. [4]
>

With the introduction of QoS the interconnect drivers need to be mmio
devices, and plural, while in order to talk to the RPM we need something
on the rpmsg bus.

So I don't think Stephen's proposal will work, unless we like in the
RPMh case comes up with an equivalent of the bcm-voter (which just moved
the clocks from one clock driver to a "clock" driver).


On the other hand, if clocks and the clk-smd-rpm driver in particular
moves to sync_state then this wouldn't be a problem...

Regards,
Bjorn

> Since your patches are more or less identical I'm afraid the same
> concerns still need to be solved somehow. :)
>
> Thanks,
> Stephan
>
> [1]: https://lore.kernel.org/linux-arm-msm/20200817140908.185976-1-stephan@xxxxxxxxxxx/
> [2]: https://lore.kernel.org/linux-arm-msm/20200818080738.GA46574@xxxxxxxxxxx/
> [3]: https://lore.kernel.org/linux-arm-msm/159796605593.334488.8355244657387381953@xxxxxxxxxxxxxxxxxxxxxxxxxx/
> [4]: https://lore.kernel.org/linux-arm-msm/20200821064857.GA905@xxxxxxxxxxx/