From: Kevin Hilman <khilman@deeprootsystems.com>
To: jean.pihet@newoldbits.com
Cc: linux-omap@vger.kernel.org, Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH] OMAP3: disable idle during the entire suspend/resume sequence
Date: Mon, 22 Nov 2010 14:12:43 -0800 [thread overview]
Message-ID: <87pqtxnh2c.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1290454603-5513-1-git-send-email-j-pihet@ti.com> (jean pihet's message of "Mon, 22 Nov 2010 20:36:43 +0100")
jean.pihet@newoldbits.com writes:
> From: Jean Pihet <j-pihet@ti.com>
>
> Idle path should be disabled during the entire suspend/resume sequence.
> Currently it is disabled in ->prepare() and re-enabled in ->finish(),
> but the suspend sequence starts with ->begin() and ends with ->end(),
> leaving windows where the suspend/resume sequence is still underway and
> idle code could execute.
>
> The fix is to move the idle disable (disable_hlt) and enable (enable_hlt)
> into ->begin() and ->end() respectively to ensure that the idle path
> is disabled for the entire suspend/resume sequence.
> Remvoving omap3_pm_prepare and omap3_pm_finish since there are now empty.
>
> Tested with RET and OFF on Beagle and OMAP3EVM.
>
> Signed-off-by: Jean Pihet <j-pihet@ti.com>
>
> Comment rework suggested by Kevin.
>
> Cc: Kevin Hilman <khilman@deeprootsystems.com>
Thanks,
Unless there are any objections, I'll queue for .38 instead of .37-rc
since this isn't technically a regression.
Kevin
> ---
> arch/arm/mach-omap2/pm34xx.c | 15 ++-------------
> 1 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> index 75c0cd1..2e0621e 100644
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -506,12 +506,6 @@ out:
> #ifdef CONFIG_SUSPEND
> static suspend_state_t suspend_state;
>
> -static int omap3_pm_prepare(void)
> -{
> - disable_hlt();
> - return 0;
> -}
> -
> static int omap3_pm_suspend(void)
> {
> struct power_state *pwrst;
> @@ -574,14 +568,10 @@ static int omap3_pm_enter(suspend_state_t unused)
> return ret;
> }
>
> -static void omap3_pm_finish(void)
> -{
> - enable_hlt();
> -}
> -
> /* Hooks to enable / disable UART interrupts during suspend */
> static int omap3_pm_begin(suspend_state_t state)
> {
> + disable_hlt();
> suspend_state = state;
> omap_uart_enable_irqs(0);
> return 0;
> @@ -591,15 +581,14 @@ static void omap3_pm_end(void)
> {
> suspend_state = PM_SUSPEND_ON;
> omap_uart_enable_irqs(1);
> + enable_hlt();
> return;
> }
>
> static struct platform_suspend_ops omap_pm_ops = {
> .begin = omap3_pm_begin,
> .end = omap3_pm_end,
> - .prepare = omap3_pm_prepare,
> .enter = omap3_pm_enter,
> - .finish = omap3_pm_finish,
> .valid = suspend_valid_only_mem,
> };
> #endif /* CONFIG_SUSPEND */
prev parent reply other threads:[~2010-11-22 22:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-22 19:36 [PATCH] OMAP3: disable idle during the entire suspend/resume sequence jean.pihet
2010-11-22 22:12 ` Kevin Hilman [this message]
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=87pqtxnh2c.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=j-pihet@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=linux-omap@vger.kernel.org \
/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.