linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sourav Poddar <sourav.poddar@ti.com>
To: Kevin Hilman <khilman@linaro.org>
Cc: "Bedia, Vaibhav" <vaibhav.bedia@ti.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"tony@atomide.com" <tony@atomide.com>,
	"rmk+kernel@arm.linux.org.uk" <rmk+kernel@arm.linux.org.uk>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"Shilimkar, Santosh" <santosh.shilimkar@ti.com>,
	"Balbi, Felipe" <balbi@ti.com>, "Nayak, Rajendra" <rnayak@ti.com>
Subject: Re: [PATCHv3] driver: serial: prevent UART console idle on suspend while using "no_console_suspend"
Date: Mon, 15 Apr 2013 17:25:48 +0530	[thread overview]
Message-ID: <516BEAC4.7040608@ti.com> (raw)
In-Reply-To: <87y5cpxiey.fsf@linaro.org>

Hi Kevin,
On Thursday 11 April 2013 07:45 PM, Kevin Hilman wrote:
> Kevin Hilman<khilman@linaro.org>  writes:
>
>> "Bedia, Vaibhav"<vaibhav.bedia@ti.com>  writes:
>>
>>> Hi Sourav,
>>>
>>> On Wed, Apr 10, 2013 at 15:13:44, Poddar, Sourav wrote:
>>> [...]
>>>> Yes, had a look at that and found your situation similar to UART.
>>>>
>>>> But how exactly this gets used, I mean I don't  see any drivers/ in mainline
>>>> making use of this compatible string  "ti,am3352-ocmcram".  ?
>>> OCMC clock is enabled during bootup (not sure whether that's the h/w
>>> default or ROM does it) since the initial bootloader runs from there.
>>> By marking the corresponding hwmod with HWMOD_INIT_NO_IDLE we leave the
>>> clock running. Right now the sram code under arch/arm/plat-omap/ is what
>>> manages the OCMC. I guess this needs to move somewhere under drivers/
>>> and start managing the clocks. Even then we'll need a mechanism
>>> to leave the clocks running as part of the kernel suspend process
>>> since the assembly code which runs at the fag end of the suspend
>>> process runs out of OCMC and hence we can't cut its clock.
>>>
>>> On AM335x, the OCMC clock is cut to have PER power domain transition
>>> but that's done in the WKUP-M3 firmware when going down. During the
>>> wakeup sequence, WKUP-M3 re-enables the OCMC clock so that when the
>>> kernel resumes the h/w state is same.
>> OK, but *today*, in *mainline*, where in the linux kernel (not the M3
>> firmware) is the OCMRAM clock cut during suspend?
>>
>>  From what I can see, there is no driver for this device, so there are no
>> system PM calls being done for that device, and thus no omap_device
>> calls being done for that device, so the no_idle_on_suspend has no
>> effect.
> OK, I think I confused things here, sorry. I was thinking runtime PM
> here, but wrote system PM.  The no_idle_on_suspend feature only affects
> system PM, and the omap_device calls will still be called during system
> PM, even without a driver.
>
> That being said, the commit below[1], added in v3.6 should prevent the
> any automaic clock gating for devices without drivers bound.  Since
> there is no driver for the OCM RAM block, you shouldn't be affected by
> the automatic idle on suspend anyways.
>
> So, my proposal is that Sourav remove that flag from the AM33xx hwmod
> when he removes this feature.
>
> Kevin
>
Thanks a lot for your inputs and helping in bringing this thread to
a logical conclusion.

I will post a v4 for this patch along with other fixes/cleanups
required as recommended by you and russell.

Thanks,
Sourav
> [1]
> commit 72bb6f9b51c82c820ddef892455a85b115460904
> Author: Kevin Hilman<khilman@ti.com>
> Date:   Tue Jul 10 15:29:04 2012 -0700
>
>      ARM: OMAP: omap_device: don't attempt late suspend if no driver bound
>
>      Currently, the omap_device PM domain layer uses the late suspend and
>      early resume callbacks to ensure devices are in their low power
>      states.
>
>      However, this is attempted even in cases where a driver probe has
>      failed.  If a driver's ->probe() method fails, the driver is likely in
>      a state where it is not expecting its runtime PM callbacks to be
>      called, yet currently the omap_device PM domain code attempts to call
>      the drivers callbacks.
>
>      To fix, use the omap_device driver_status field to check whether a
>      driver is bound to the omap_device before attempting to trigger driver
>      callbacks.
>
>      Reviewed-by: Paul Walmsley<paul@pwsan.com>
>      Signed-off-by: Kevin Hilman<khilman@ti.com>


  parent reply	other threads:[~2013-04-15 11:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 13:15 [PATCHv3] driver: serial: prevent UART console idle on suspend while using "no_console_suspend" Sourav Poddar
2013-04-05 17:40 ` Kevin Hilman
2013-04-09 18:54   ` Sourav Poddar
2013-04-09 19:07     ` Kevin Hilman
2013-04-10  6:07       ` Sourav Poddar
2013-04-10  6:19         ` Bedia, Vaibhav
2013-04-10  9:43           ` Sourav Poddar
2013-04-10 11:26             ` Bedia, Vaibhav
2013-04-10 21:26               ` Kevin Hilman
2013-04-11 14:15                 ` Kevin Hilman
2013-04-15 11:50                   ` Bedia, Vaibhav
2013-04-15 21:33                     ` Kevin Hilman
2013-04-15 11:55                   ` Sourav Poddar [this message]
2013-04-08 17:14 ` Russell King - ARM Linux
2013-04-10  5:27   ` 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=516BEAC4.7040608@ti.com \
    --to=sourav.poddar@ti.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=khilman@linaro.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=rnayak@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=tony@atomide.com \
    --cc=vaibhav.bedia@ti.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).