Re: [RFC PATCH 0/3] opp: required_opps: Power on genpd, scale down in reverse order

From: Ulf Hansson
Date: Wed Aug 12 2020 - 04:54:25 EST


On Thu, 30 Jul 2020 at 10:02, Stephan Gerhold <stephan@xxxxxxxxxxx> wrote:
>
> I'm trying to get CPR (Core Power Reduction, AVS) working for MSM8916 on mainline.
> Shortly said there are two power domains that must be scaled with the CPU OPP table:
>
> - (VDD)MX
> - CPR
>
> My idea for this was to add both as "required-opps" to the CPR OPP table
> and let the OPP core take care of all the scaling.
>
> There are two remaining problems that need to be addressed for that to work:
>
> 1. The power domains should be scaled down in reverse order
> (MX, CPR when scaling up, CPR, MX when scaling down).
> 2. Something has to enable the virtual genpd devices to make the rpmpd driver
> actually respect the performance states we vote for.
>
> Both issues were briefly discussed before (see links in the patches),
> but I think we did not agree on an exact solution yet. After some consideration,
> I thought it would be best to address these directly in the OPP core.
>
> However, note that this patch is RFC because it is just supposed to initiate
> discussion if alternative solutions would be better. :)

Ramping up since the holidays, so I might overlook something - but I
think your suggestion solution makes perfect sense to me.

>
> Stephan Gerhold (3):
> opp: Reduce code duplication in _set_required_opps()
> opp: Set required OPPs in reverse order when scaling down
> opp: Power on (virtual) power domains managed by the OPP core
>
> drivers/opp/core.c | 115 ++++++++++++++++++++++++++++++++++++---------
> drivers/opp/opp.h | 1 +
> 2 files changed, 93 insertions(+), 23 deletions(-)
>
> --
> 2.27.0

So, for the series:

Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Kind regards
Uffe