Re: [PATCH v3 3/5] OPP: Improve require-opps linking

From: Sibi Sankar
Date: Wed Jan 29 2020 - 08:35:06 EST


Hey Viresh,


On 1/27/20 11:41 AM, Viresh Kumar wrote:
On 25-11-19, 16:58, Viresh Kumar wrote:
>From 8df083ca64d82ff57f778689271cc1be75aa99c4 Mon Sep 17 00:00:00 2001
Message-Id: <8df083ca64d82ff57f778689271cc1be75aa99c4.1574681211.git.viresh.kumar@xxxxxxxxxx>
From: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Mon, 25 Nov 2019 13:57:58 +0530
Subject: [PATCH] opp: Allow lazy-linking of required-opps

The OPP core currently requires the required opp tables to be available
before the dependent OPP table is added, as it needs to create links
from the dependent OPP table to the required ones. This may not be
convenient to all the platforms though, as this requires strict ordering
of probing of drivers.

This patch allows lazy-linking of the required-opps. The OPP tables for
which the required-opp-tables aren't available at the time of their
initialization, are added to a special list of OPP tables:
pending_opp_tables. Later on, whenever a new OPP table is registered
with the OPP core, we check if it is required by an OPP table in the
pending list; if yes, then we complete the linking then and there.

An OPP table is marked unusable until the time all its required-opp
tables are available. And if lazy-linking fails for an OPP table, the
OPP core disables all of its OPPs to make sure no one can use them.

Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
---
drivers/opp/core.c | 13 ++++++
drivers/opp/of.c | 113 +++++++++++++++++++++++++++++++++++++++++++--
drivers/opp/opp.h | 4 +-
3 files changed, 124 insertions(+), 6 deletions(-)

I was hoping to queue this up for next release, any update on getting
this tested ?

I don't have a gen-pd use case to test against but with the is_genpd
check removed it works as expected when I used it against this
series: https://patchwork.kernel.org/cover/11353185/

In the lazy_link_required_opps fn shouldn't we skip the dynamic
opps in the the opp list?

With ^^ addressed:
Reviewed-by: Sibi Sankar <sibis@xxxxxxxxxxxxxx>
Tested-by: Sibi Sankar <sibis@xxxxxxxxxxxxxx>




--
Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc, is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project