From: Kevin Hilman <khilman@linaro.org>
To: Sourav Poddar <sourav.poddar@ti.com>
Cc: gregkh@linuxfoundation.org, tony@atomide.com,
rmk+kernel@arm.linux.org.uk, linux-serial@vger.kernel.org,
linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/6] arm: mach-omap2: remove "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check
Date: Fri, 19 Apr 2013 07:52:23 -0700 [thread overview]
Message-ID: <871ua6zi6w.fsf@linaro.org> (raw)
In-Reply-To: <51714CCC.9090800@ti.com> (Sourav Poddar's message of "Fri, 19 Apr 2013 19:25:24 +0530")
Sourav Poddar <sourav.poddar@ti.com> writes:
[...]
> Yes, got your point. omap_device_idle should not be called only
> for console uart.
>
> Just did a quick testing by including the following hunk on top of my
> patch series..
>
> diff --git a/arch/arm/mach-omap2/omap_device.c
> b/arch/arm/mach-omap2/omap_device.c
> index c226946..7480e87 100644
> --- a/arch/arm/mach-omap2/omap_device.c
> +++ b/arch/arm/mach-omap2/omap_device.c
> @@ -617,8 +617,10 @@ static int _od_suspend_noirq(struct device *dev)
> ret = pm_generic_suspend_noirq(dev);
>
> if (!ret && !pm_runtime_status_suspended(dev)) {
> - if (pm_generic_runtime_suspend(dev) == 0)
> + if (pm_generic_runtime_suspend(dev) == 0) {
> + omap_device_idle(pdev);
> od->flags |= OMAP_DEVICE_SUSPENDED;
> + }
> }
>
> return ret;
> @@ -631,6 +633,7 @@ static int _od_resume_noirq(struct device *dev)
>
> if ((od->flags & OMAP_DEVICE_SUSPENDED) &&
> !pm_runtime_status_suspended(dev)) {
> + omap_device_enable(pdev);
> od->flags &= ~OMAP_DEVICE_SUSPENDED;
> pm_generic_runtime_resume(dev);
> }
> And found the wakeup from UART is no more functional.
> So, the omap_device_idle gets called for console UART also, thereby
> preventing the "no_idle_on_suspend" theory.
>
> Hence, merely putting prepare/complete callback the way I did is not
> helping.
> We need to delete omap_device_idle also, which I agree is not correct.
> So, we need a way to bypass this "omap_device_idle"
> call for console UART. ?
OK, I see what's happening now.
How about this: rather than using prepare/complete callbacks, can you
use the runtime_suspend callback to return an error code during suspend?
(only for the console, and only when no_console_suspend is enabled, and
only during suspend)
Since _od_suspend_noirq checks to be sure the drivers ->runtime_suspend
callback succeeds before it calls omap_device_idle(), if you report a
failure, omap_device_idle will not be called.
Kevin
next prev parent reply other threads:[~2013-04-19 14:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-17 11:34 [PATCH 0/6] Serial Omap fixes and cleanups Sourav Poddar
2013-04-17 11:34 ` [PATCH 1/6] driver: tty: serial: Move "uart_console" def to core header file Sourav Poddar
2013-04-17 11:34 ` [RFT/PATCH 2/6] driver: serial: mpc52xx_uart: Remove "uart_console" defintion Sourav Poddar
2013-04-18 3:56 ` Felipe Balbi
2013-04-18 5:17 ` Sourav Poddar
2013-04-18 10:50 ` Russell King - ARM Linux
2013-04-18 10:51 ` Sourav Poddar
2013-04-17 11:34 ` [PATCH 3/6] driver: serial: omap: add prepare/complete callback for "no_console_suspend" case Sourav Poddar
2013-04-18 3:58 ` Felipe Balbi
2013-04-18 12:07 ` Sourav Poddar
2013-04-18 13:06 ` Felipe Balbi
2013-04-18 17:56 ` Kevin Hilman
2013-04-18 18:11 ` Sourav Poddar
2013-04-18 21:56 ` Kevin Hilman
2013-04-17 11:34 ` [PATCH 4/6] arm: mach-omap2: remove "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check Sourav Poddar
2013-04-18 18:05 ` Kevin Hilman
2013-04-18 19:02 ` Sourav Poddar
2013-04-18 22:03 ` Kevin Hilman
2013-04-19 13:55 ` Sourav Poddar
2013-04-19 14:52 ` Kevin Hilman [this message]
2013-04-22 5:50 ` Sourav Poddar
2013-04-17 11:34 ` [PATCH 5/6] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
2013-04-17 11:34 ` [PATCH 6/6] arm: mach-omap2: Remove "no_console_suspend" Sourav Poddar
2013-04-18 18:09 ` Kevin Hilman
2013-04-18 19:09 ` Sourav Poddar
2013-04-18 18:11 ` Kevin Hilman
2013-04-18 19:11 ` Sourav Poddar
2013-04-18 18:23 ` [PATCH 0/6] Serial Omap fixes and cleanups Kevin Hilman
2013-04-18 19:17 ` Sourav Poddar
2013-04-19 12:02 ` Grygorii Strashko
2013-04-19 14:04 ` Sourav Poddar
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=871ua6zi6w.fsf@linaro.org \
--to=khilman@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=sourav.poddar@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).