All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@baylibre.com>
To: Tony Lindgren <tony@atomide.com>, linux-omap@vger.kernel.org
Cc: Dave Gerlach <d-gerlach@ti.com>, Faiz Abbas <faiz_abbas@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Keerthy <j-keerthy@ti.com>, Nishanth Menon <nm@ti.com>,
	Suman Anna <s-anna@ti.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Jarkko Nikula <jarkko.nikula@bitmer.com>
Subject: Re: [PATCH] bus: ti-sysc: Fix gpt12 system timer issue with reserved status
Date: Fri, 04 Mar 2022 09:41:07 -0800	[thread overview]
Message-ID: <7h7d99ehu4.fsf@baylibre.com> (raw)
In-Reply-To: <20210611060224.36769-1-tony@atomide.com>

Hi Tony,

Tony Lindgren <tony@atomide.com> writes:

> Jarkko Nikula <jarkko.nikula@bitmer.com> reported that Beagleboard
> revision c2 stopped booting. Jarkko bisected the issue down to
> commit 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend
> and resume for am3 and am4").
>
> Let's fix the issue by tagging system timers as reserved rather than
> ignoring them. And let's not probe any interconnect target module child
> devices for reserved modules.
>
> This allows PM runtime to keep track of clocks and clockdomains for
> the interconnect target module, and prevent the system timer from idling
> as we already have SYSC_QUIRK_NO_IDLE and SYSC_QUIRK_NO_IDLE_ON_INIT
> flags set for system timers.
>
> Fixes: 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4")
> Reported-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>

I'm debugging why suspend/resume on AM3x and AM4x are mostly working,
but getting the warning that not all powerdomains are transitioning:

   pm33xx pm33xx: PM: Could not transition all powerdomains to target state

I bisected it down to $SUBJECT patch, and verified that reverting it
makes both on am335x-boneblack and am437x-gp-evm fully suspend, and I'm
now seeing:

   pm33xx pm33xx: PM: Successfully put all powerdomains to target state

Note that it doesn't revert cleanly due to some other changes, but this
one-liner[1] effectively reverts the behavior of $SUBJECT patch, and
also makes things work again.

I verified the revert (and hack[1]) on both v5.10 stable and mainline
v5.16 but TBH, I'm still not 100% sure what's going on so looking for
some guidance from you Tony on what the "real" fix should be.

Kevin

[1] 
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c                                                                                                            
index 54c0ee6dda30..82379ff9dce5 100644                                                                                                                               
--- a/drivers/bus/ti-sysc.c                                                                                                                                           
+++ b/drivers/bus/ti-sysc.c                                                                                                                                           
@@ -3304,7 +3304,7 @@ static int sysc_probe(struct platform_device *pdev)                                                                                             
                                                                                                                                                                      
        error = sysc_check_active_timer(ddata);                                                                                                                       
        if (error == -ENXIO)                                                                                                                                          
-               ddata->reserved = true;                                                                                                                               
+               return error;                                                                                                                                         
        else if (error)                                                                                                                                               
                return error;                                                                                                                                         
         

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Tony Lindgren <tony@atomide.com>, linux-omap@vger.kernel.org
Cc: Nishanth Menon <nm@ti.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Dave Gerlach <d-gerlach@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, Faiz Abbas <faiz_abbas@ti.com>,
	Jarkko Nikula <jarkko.nikula@bitmer.com>,
	Keerthy <j-keerthy@ti.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] bus: ti-sysc: Fix gpt12 system timer issue with reserved status
Date: Fri, 04 Mar 2022 09:41:07 -0800	[thread overview]
Message-ID: <7h7d99ehu4.fsf@baylibre.com> (raw)
In-Reply-To: <20210611060224.36769-1-tony@atomide.com>

Hi Tony,

Tony Lindgren <tony@atomide.com> writes:

> Jarkko Nikula <jarkko.nikula@bitmer.com> reported that Beagleboard
> revision c2 stopped booting. Jarkko bisected the issue down to
> commit 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend
> and resume for am3 and am4").
>
> Let's fix the issue by tagging system timers as reserved rather than
> ignoring them. And let's not probe any interconnect target module child
> devices for reserved modules.
>
> This allows PM runtime to keep track of clocks and clockdomains for
> the interconnect target module, and prevent the system timer from idling
> as we already have SYSC_QUIRK_NO_IDLE and SYSC_QUIRK_NO_IDLE_ON_INIT
> flags set for system timers.
>
> Fixes: 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4")
> Reported-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>

I'm debugging why suspend/resume on AM3x and AM4x are mostly working,
but getting the warning that not all powerdomains are transitioning:

   pm33xx pm33xx: PM: Could not transition all powerdomains to target state

I bisected it down to $SUBJECT patch, and verified that reverting it
makes both on am335x-boneblack and am437x-gp-evm fully suspend, and I'm
now seeing:

   pm33xx pm33xx: PM: Successfully put all powerdomains to target state

Note that it doesn't revert cleanly due to some other changes, but this
one-liner[1] effectively reverts the behavior of $SUBJECT patch, and
also makes things work again.

I verified the revert (and hack[1]) on both v5.10 stable and mainline
v5.16 but TBH, I'm still not 100% sure what's going on so looking for
some guidance from you Tony on what the "real" fix should be.

Kevin

[1] 
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c                                                                                                            
index 54c0ee6dda30..82379ff9dce5 100644                                                                                                                               
--- a/drivers/bus/ti-sysc.c                                                                                                                                           
+++ b/drivers/bus/ti-sysc.c                                                                                                                                           
@@ -3304,7 +3304,7 @@ static int sysc_probe(struct platform_device *pdev)                                                                                             
                                                                                                                                                                      
        error = sysc_check_active_timer(ddata);                                                                                                                       
        if (error == -ENXIO)                                                                                                                                          
-               ddata->reserved = true;                                                                                                                               
+               return error;                                                                                                                                         
        else if (error)                                                                                                                                               
                return error;                                                                                                                                         
         

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-03-04 17:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11  6:02 [PATCH] bus: ti-sysc: Fix gpt12 system timer issue with reserved status Tony Lindgren
2021-06-11  6:02 ` Tony Lindgren
2021-06-11 13:45 ` Jarkko Nikula
2021-06-11 13:45   ` Jarkko Nikula
2021-08-10 12:40 ` Pavel Machek
2021-08-10 12:40   ` Pavel Machek
2021-08-10 12:52   ` Tony Lindgren
2021-08-10 12:52     ` Tony Lindgren
2021-08-11  6:12     ` Tony Lindgren
2021-08-11  6:12       ` Tony Lindgren
2022-03-04 17:41 ` Kevin Hilman [this message]
2022-03-04 17:41   ` Kevin Hilman
2022-03-07 12:51   ` Tony Lindgren
2022-03-07 12:51     ` Tony Lindgren
2022-03-09 10:36     ` Kevin Hilman
2022-03-09 10:36       ` Kevin Hilman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7h7d99ehu4.fsf@baylibre.com \
    --to=khilman@baylibre.com \
    --cc=d-gerlach@ti.com \
    --cc=faiz_abbas@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=grygorii.strashko@ti.com \
    --cc=j-keerthy@ti.com \
    --cc=jarkko.nikula@bitmer.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=s-anna@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.