From: Partha Basak <p-basak2@ti.com>
To: Alan Stern <stern@rowland.harvard.edu>,
Keshava Munegowda <keshava_mgowda@ti.com>
Cc: linux-usb@vger.kernel.org, linux-omap@vger.kernel.org,
linux-kernel@vger.kernel.org, Felipe Balbi <balbi@ti.com>,
Anand Gadiyar <gadiyar@ti.com>,
sameo@linux.intel.com, parthab@india.ti.com, tony@atomide.com,
Kevin Hilman <khilman@ti.com>, Benoit Cousson <b-cousson@ti.com>,
paul@pwsan.com, johnstul@us.ibm.com,
Vishwanath Sripathy <vishwanath.bs@ti.com>
Subject: RE: [PATCH 6/6 v2] arm: omap: usb: global Suspend and resume support of ehci and ohci
Date: Mon, 4 Jul 2011 10:36:54 +0530 [thread overview]
Message-ID: <11640ef76f97628579e457b5c6a74cc3@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1107011504530.1624-100000@iolanthe.rowland.org>
>-----Original Message-----
>From: Alan Stern [mailto:stern@rowland.harvard.edu]
>Sent: Saturday, July 02, 2011 12:37 AM
>To: Keshava Munegowda
>Cc: linux-usb@vger.kernel.org; linux-omap@vger.kernel.org; linux-
>kernel@vger.kernel.org; balbi@ti.com; gadiyar@ti.com;
>sameo@linux.intel.com; parthab@india.ti.com; tony@atomide.com;
>khilman@ti.com; b-cousson@ti.com; paul@pwsan.com; johnstul@us.ibm.com;
>vishwanath.bs@ti.com
>Subject: Re: [PATCH 6/6 v2] arm: omap: usb: global Suspend and resume
>support of ehci and ohci
>
>On Sat, 2 Jul 2011, Keshava Munegowda wrote:
>
>> From: Keshava Munegowda <Keshava_mgowda@ti.com>
>>
>> The global suspend and resume functions for ehci and ohci
>> drivers are implemented; these functions does the
>> pm_runtime_get_sync and pm_runtime_put_sync of the
>> parent device usbhs core driver respectively.
>>
>> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
>> ---
>> drivers/usb/host/ehci-omap.c | 22 ++++++++++++++++++++--
>> drivers/usb/host/ohci-omap3.c | 21 +++++++++++++++++++++
>> 2 files changed, 41 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-
>omap.c
>> index 178f63e..a02a684 100644
>> --- a/drivers/usb/host/ehci-omap.c
>> +++ b/drivers/usb/host/ehci-omap.c
>> @@ -259,14 +259,32 @@ static void ehci_hcd_omap_shutdown(struct
>platform_device *pdev)
>> hcd->driver->shutdown(hcd);
>> }
>>
>> +static int omap_ehci_resume(struct device *dev)
>> +{
>> + if (dev->parent)
>> + pm_runtime_get_sync(dev->parent);
>> + return 0;
>> +}
>> +
>> +static int omap_ehci_suspend(struct device *dev)
>> +{
>> + if (dev->parent)
>> + pm_runtime_put_sync(dev->parent);
>> + return 0;
>> +}
>
>I don't see any point in these routines (and likewise for
>omap_ohci_suspend/resume). When the whole system is going to sleep
>anyway, what reason is there for enabling runtime PM on the parent
>device?
Both for EHCI & OHCI, the clocks are owned by the parent (uhh-tll).
Calling pm_runtime_put_sync(dev->parent) within omap_ehci_suspend
will turn-off the parent clocks in the Suspend path.
Similarly, calling pm_runtime_get_sync(dev->parent) within
omap_ehci_resume
will turn-on the parent clocks in the resume path.
This way, all reference counting are implicit within the Runtime PM layer
and takes care of all combinations of only EHCI insmoded, OHCI insmoded,
both insmoded etc.
When both EHCI & OHCI are suspended, parent clocks will actually be
turned OFF and vice-versa.
Note that the parent per-se does not have any .suspend & .resume hooked
up.
At the end of the _probe of parent, the clocks are turned OFF.
Subsequently, enabling
the parent clocks are entirely done implicitly by the children get_sync()
in their _probe.
Therefore while .suspend/.resume of children are called they call back
into the parent to turn-off the clocks.
FYI, Keshava is out of office due to some emergency this week,
there will be some delays in replying from his side.
>
>Alan Stern
next prev parent reply other threads:[~2011-07-04 5:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-01 18:54 [PATCH 0/6 V2] arm: omap: usb: Runtime PM support for EHCI and OHCI drivers Keshava Munegowda
2011-07-01 18:54 ` [PATCH 1/6 v2] arm: omap: usb: ehci and ohci hwmod structures for omap4 Keshava Munegowda
2011-07-01 18:54 ` [PATCH 2/6 v2] arm: omap: usb: ehci and ohci hwmod structures for omap3 Keshava Munegowda
2011-07-01 18:54 ` [PATCH 3/6 v2] arm: omap: usb: register hwmods of usbhs Keshava Munegowda
2011-07-01 18:54 ` [PATCH 4/6 v2] arm: omap: usb: device name change for the clk names " Keshava Munegowda
2011-07-01 18:54 ` [PATCH 5/6 v2] arm: omap: usb: Runtime PM support Keshava Munegowda
2011-07-01 18:54 ` [PATCH 6/6 v2] arm: omap: usb: global Suspend and resume support of ehci and ohci Keshava Munegowda
2011-07-01 19:06 ` Alan Stern
2011-07-04 5:06 ` Partha Basak [this message]
2011-07-04 8:25 ` Felipe Balbi
2011-07-04 9:26 ` Partha Basak
2011-07-04 9:30 ` Felipe Balbi
2011-07-04 11:01 ` Partha Basak
2011-07-04 16:01 ` Alan Stern
2011-07-05 12:52 ` Felipe Balbi
2011-07-05 14:17 ` Alan Stern
2011-07-05 15:53 ` Felipe Balbi
2011-07-05 16:28 ` Alan Stern
2011-07-04 15:50 ` Alan Stern
2011-07-05 14:00 ` Partha Basak
2011-07-05 14:22 ` Alan Stern
2011-07-05 17:37 ` Kevin Hilman
2011-07-06 17:54 ` Felipe Balbi
2011-07-06 19:20 ` Kevin Hilman
2011-07-06 22:17 ` Felipe Balbi
2011-07-07 4:53 ` Partha Basak
2011-07-07 7:28 ` Felipe Balbi
2011-07-07 10:29 ` [PATCH 1/6 v2] arm: omap: usb: ehci and ohci hwmod structures for omap4 Felipe Balbi
2011-07-07 15:57 ` Kevin Hilman
2011-07-04 17:25 ` [PATCH 0/6 V2] arm: omap: usb: Runtime PM support for EHCI and OHCI drivers Samuel Ortiz
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=11640ef76f97628579e457b5c6a74cc3@mail.gmail.com \
--to=p-basak2@ti.com \
--cc=b-cousson@ti.com \
--cc=balbi@ti.com \
--cc=gadiyar@ti.com \
--cc=johnstul@us.ibm.com \
--cc=keshava_mgowda@ti.com \
--cc=khilman@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=parthab@india.ti.com \
--cc=paul@pwsan.com \
--cc=sameo@linux.intel.com \
--cc=stern@rowland.harvard.edu \
--cc=tony@atomide.com \
--cc=vishwanath.bs@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