Re: [PATCH 2/2] clk: qcom: mmcc-msm8974: fix MDSS_GDSC power flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.


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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux