Re: [PATCH v3 11/12] opp: Handle missing OPP table in dev_pm_opp_xlate_performance_state()

From: Viresh Kumar
Date: Mon Jan 18 2021 - 06:22:41 EST


On 18-01-21, 03:55, Dmitry Osipenko wrote:
> NVIDIA Tegra SoCs have a power domains topology such that child domains
> only clamp a power rail, while parent domain controls shared performance
> state of the multiple child domains. In this case child's domain doesn't
> need to have OPP table. Hence we want to allow children power domains to
> pass performance state to the parent domain if child's domain doesn't have
> OPP table.
>
> The dev_pm_opp_xlate_performance_state() gets src_table=NULL if a child
> power domain doesn't have OPP table and in this case we should pass the
> performance state to the parent domain.
>
> Tested-by: Peter Geis <pgwipeout@xxxxxxxxx>
> Tested-by: Nicolas Chauvet <kwizart@xxxxxxxxx>
> Tested-by: Matt Merhar <mattmerhar@xxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> drivers/opp/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
> index 7726c4c40b53..ca8c6acc29f4 100644
> --- a/drivers/opp/core.c
> +++ b/drivers/opp/core.c
> @@ -2419,7 +2419,7 @@ int dev_pm_opp_xlate_performance_state(struct opp_table *src_table,
> * and so none of them have the "required-opps" property set. Return the
> * pstate of the src_table as it is in such cases.
> */
> - if (!src_table->required_opp_count)
> + if (!src_table || !src_table->required_opp_count)
> return pstate;
>
> for (i = 0; i < src_table->required_opp_count; i++) {

Applied. Thanks.

--
viresh