Quoting Bjorn Andersson (2023-12-20 19:50:36) > The GX GDSC is modelled to aid the GMU in powering down the GPU in the > event that the GPU crashes, so that it can be restarted again. But in > the event that the power-domain is supplied through a dedicated > regulator (in contrast to being a subdomin of another power-domain), > something needs to turn that regulator on, both to make sure things are > powered and to match the operation in gdsc_disable(). > > Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx> > --- > drivers/clk/qcom/gdsc.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c > index 5358e28122ab..d1139c895503 100644 > --- a/drivers/clk/qcom/gdsc.c > +++ b/drivers/clk/qcom/gdsc.c > @@ -557,7 +557,13 @@ void gdsc_unregister(struct gdsc_desc *desc) > */ > int gdsc_gx_do_nothing_enable(struct generic_pm_domain *domain) > { > + struct gdsc *sc = domain_to_gdsc(domain); > + int ret = 0; > + > /* Do nothing but give genpd the impression that we were successful */ Update this comment. > - return 0; > + if (sc->rsupply) > + ret = regulator_enable(sc->rsupply); > + > + return ret; > }