On Sun, 29 Aug 2021 at 17:47, Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > On SM8250 both the display and video clock controllers are powered up by > the MMCX power domain. Handle this by linking clock controllers to the > proper power domain, and using runtime power management to enable and > disable the MMCX power domain. > > Dependencies: > https://lore.kernel.org/linux-pm/1628767642-4008-1-git-send-email-rnayak@xxxxxxxxxxxxxx/ > (pending inclusion into 5.15) I think I already reviewed v6, but perhaps you made some bigger changes. Anyway, feel free to add, for the series: Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Kind regards Uffe > > Changes since v6: > - Dropped dependency on Bjorn's patches > - Restored required-opps properties > - Held pm device state while gdsc is powered on, removing dependency on > genpd's power_on() powering the domain into required state. > > Changes since v5: > - Dropped devm_pm_runtime_enable callback to remove extra dependency > > Changes since v4: > - Dropped pm_runtime handling from drivers/clk/qcom/common.c Moved the > code into dispcc-sm8250.c and videocc-sm8250.c > > Changes since v3: > - Wrap gdsc_enable/gdsc_disable into pm_runtime_get/put calls rather > than calling pm_runtime_get in gdsc_enabled and _put in gdsc_disable > - Squash gdsc patches together to remove possible dependencies between > two patches. > > Changes since v2: > - Move pm_runtime calls from generic genpd code to the gdsc code for > now (as suggested by Ulf & Bjorn) > > Changes since v1: > - Rebase on top of Bjorn's patches, removing the need for setting > performance state directly. > - Move runtime PM calls from GDSC code to generic genpd code. > - Always call pm_runtime_enable in the Qualcomm generic clock > controller code. > - Register GDSC power domains as subdomains of the domain powering the > clock controller if there is one. > > ---------------------------------------------------------------- > Dmitry Baryshkov (8): > dt-bindings: clock: qcom,dispcc-sm8x50: add mmcx power domain > dt-bindings: clock: qcom,videocc: add mmcx power domain > clk: qcom: dispcc-sm8250: use runtime PM for the clock controller > clk: qcom: videocc-sm8250: use runtime PM for the clock controller > clk: qcom: gdsc: enable optional power domain support > arm64: dts: qcom: sm8250: remove mmcx regulator > clk: qcom: dispcc-sm8250: stop using mmcx regulator > clk: qcom: videocc-sm8250: stop using mmcx regulator > > .../bindings/clock/qcom,dispcc-sm8x50.yaml | 13 ++++++ > .../devicetree/bindings/clock/qcom,videocc.yaml | 13 ++++++ > arch/arm64/boot/dts/qcom/sm8250.dtsi | 13 ++---- > drivers/clk/qcom/dispcc-sm8250.c | 28 ++++++++++-- > drivers/clk/qcom/gdsc.c | 51 ++++++++++++++++++++-- > drivers/clk/qcom/gdsc.h | 2 + > drivers/clk/qcom/videocc-sm8250.c | 31 ++++++++++--- > 7 files changed, 130 insertions(+), 21 deletions(-) > > >