linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@linaro.org>
To: "Bedia, Vaibhav" <vaibhav.bedia@ti.com>
Cc: "Poddar, Sourav" <sourav.poddar@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: Thu, 11 Apr 2013 07:15:33 -0700	[thread overview]
Message-ID: <87y5cpxiey.fsf@linaro.org> (raw)
In-Reply-To: <87bo9myt52.fsf@linaro.org> (Kevin Hilman's message of "Wed, 10 Apr 2013 14:26:17 -0700")

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


[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>

  reply	other threads:[~2013-04-11 14:15 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 [this message]
2013-04-15 11:50                   ` Bedia, Vaibhav
2013-04-15 21:33                     ` Kevin Hilman
2013-04-15 11:55                   ` Sourav Poddar
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=87y5cpxiey.fsf@linaro.org \
    --to=khilman@linaro.org \
    --cc=balbi@ti.com \
    --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=rnayak@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=sourav.poddar@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).