Thread (105 messages) 105 messages, 10 authors, 2020-12-22

Re: [PATCH v1 00/30] Introduce core voltage scaling for NVIDIA Tegra20/30 SoCs

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-11-09 05:12:08
Also in: dri-devel, linux-media, linux-mmc, linux-pwm, linux-samsung-soc, linux-tegra, linux-usb, lkml

On 09-11-20, 08:10, Dmitry Osipenko wrote:
09.11.2020 07:47, Dmitry Osipenko пишет:
quoted
09.11.2020 07:43, Viresh Kumar пишет:
quoted
On 08-11-20, 15:19, Dmitry Osipenko wrote:
quoted
I took a detailed look at the GENPD and tried to implement it. Here is
what was found:

1. GENPD framework doesn't aggregate performance requests from the
attached devices. This means that if deviceA requests performance state
10 and then deviceB requests state 3, then framework will set domain's
state to 3 instead of 10.
It does. Look at _genpd_reeval_performance_state().
Thanks, I probably had a bug in the quick prototype and then overlooked
that function.
If a non-hardware device-tree node is okay to have for the domain, then
I can try again.

What I also haven't mentioned is that GENPD adds some extra complexity
to some drivers (3d, video decoder) because we will need to handle both
new GENPD and legacy Tegra specific pre-genpd era domains.

I'm also not exactly sure how the topology of domains should look like
because Tegra has a power-controller (PMC) which manages power rail of a
few hardware units. Perhaps it should be

  device -> PMC domain -> CORE domain

but not exactly sure for now.
I am also confused on if it should be a domain or regulator, but that
is for Ulf to tell :)

-- 
viresh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help