On Tue, 30 May 2023 at 02:47, Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > On 11/05/2023 11:15, Manivannan Sadhasivam wrote: > > On Tue, May 09, 2023 at 02:20:07PM +0300, Dmitry Baryshkov wrote: > >> On Tue, 9 May 2023 at 08:50, Manivannan Sadhasivam > >> <manivannan.sadhasivam@xxxxxxxxxx> wrote: > >>> > >>> On Sun, May 07, 2023 at 08:53:35PM +0300, Dmitry Baryshkov wrote: > >>>> Using PWRSTS_RET on msm8974's MDSS_GDSC causes display to stop working. > >>>> The gdsc doesn't fully come out of retention mode. Change it's pwrsts > >>>> flags to PWRSTS_OFF_ON. > >>>> > >>> > >>> What does "stop working" implies? Does it work during boot and randomly stopped > >>> working or it stopped working after resume from suspend? > >> > >> It stops working during the boot. I observed the MDP not starting up > >> properly. Mea culpa, I did not look deep enough into the details, just > >> stomped upon this change which fixes the problem for me. > >> > > > > IIUC, GDSC will be transitioned to retention mode only if the parent domain goes > > to low power mode. So if the MDSS GDSC goes to retention mode during boot, then > > it suggests that the parent domain is not voted properly. Unless I misunderstood > > something... > > Not sure, what is the parent domain here. Note, it is a pretty old > implementation. Colleagues, any further feedback on this? I'd like to note that all other platforms use PWRSTS_OFF_ON for the MDSS_GDSC, I do not think that msm8974 is particularly different here. > > > > > Or is the GDSC behavior changes between RPM and RPMh? > > > > - Mani > > > >>> > >>> Even though reverting to non-retention mode works, I think the issue might be > >>> somewhere else. Like the vote might be missing to get the GDSC out of retention > >>> mode. > >> > >> I don't think there is a vote missing. The driver votes on MDSS_GDSC > >> before enabling access to any of the registers from the MDSS region. > >> > >>> > >>> - Mani > >>> > >>>> Fixes: d399723950c4 ("clk: qcom: gdsc: Fix the handling of PWRSTS_RET support") > >>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > >>>> --- > >>>> drivers/clk/qcom/mmcc-msm8974.c | 2 +- > >>>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>>> > >>>> diff --git a/drivers/clk/qcom/mmcc-msm8974.c b/drivers/clk/qcom/mmcc-msm8974.c > >>>> index aa29c79fcd55..277ef0065aae 100644 > >>>> --- a/drivers/clk/qcom/mmcc-msm8974.c > >>>> +++ b/drivers/clk/qcom/mmcc-msm8974.c > >>>> @@ -2401,7 +2401,7 @@ static struct gdsc mdss_gdsc = { > >>>> .pd = { > >>>> .name = "mdss", > >>>> }, > >>>> - .pwrsts = PWRSTS_RET_ON, > >>>> + .pwrsts = PWRSTS_OFF_ON, > >>>> }; > >>>> > >>>> static struct gdsc camss_jpeg_gdsc = { > >>>> -- > >>>> 2.39.2 > >>>> > >>> > >>> -- > >>> மணிவண்ணன் சதாசிவம் > >> > >> > >> > >> -- > >> With best wishes > >> Dmitry > > > > -- > With best wishes > Dmitry > -- With best wishes Dmitry