Thread (119 messages) 119 messages, 7 authors, 2021-08-26

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-08-18 15:55:34
Also in: dri-devel, linux-clk, linux-devicetree, linux-media, linux-mmc, linux-pm, linux-spi, linux-staging, linux-tegra, linux-usb, lkml

18.08.2021 12:41, Ulf Hansson пишет:
On Wed, 18 Aug 2021 at 11:14, Viresh Kumar [off-list ref] wrote:
quoted
On 18-08-21, 10:29, Ulf Hansson wrote:
quoted
Me and Dmitry discussed adding a new genpd callback for this. I agreed
that it seems like a reasonable thing to add, if he insists.
Either way gives the equal result. The new callback allows to remove the
boilerplate dev_pm_opp_set_rate(clk_get_rate() code from the rpm-resume
of consumer devices, that's it.
quoted
quoted
The intent was to invoke the new callback from __genpd_dev_pm_attach()
when the device has been attached to its genpd. This allows the
callback, to invoke clk_get_rate() and then dev_pm_opp_set_rate(), to
update the vote according to the current state of the HW.
I wouldn't call dev_pm_opp_set_rate() from there, since it means
configure and enable (both) for different resources, clk, regulator,
genpd, etc..
Right, good point!

dev_pm_opp_set_rate() is best called from consumer drivers, as they
need to be in control.
quoted
What we need here is just configure. So something like this then:
The intent wasn't to use dev_pm_opp_set_rate() from
__genpd_dev_pm_attach(), but to set genpd->rpm_pstate in accordance to
the h/w configuration.

On Tegra we have a chain of PDs and it's not trivial to convert the
device's OPP into pstate because only the parent domain can translate
the required OPP.

Viresh, please take a look at what I did in [1]. Maybe it could be done
in another way.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20210701232728.23591-3-digetx@gmail.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help