Re: [PATCH 2/4] USB: dwc3: Adjust runtime pm the dwc3 driver toallow runtime suspend
From: Felipe Balbi
Date: Wed Feb 27 2013 - 03:06:36 EST
sorry for the delay
On Mon, Jan 28, 2013 at 07:06:56PM +0530, Vivek Gautam wrote:
> Hi Felipe,
> On Mon, Jan 28, 2013 at 5:15 PM, Felipe Balbi <balbi@xxxxxx> wrote:
> > On Mon, Jan 28, 2013 at 05:12:26PM +0530, Vivek Gautam wrote:
> >> The current code in the dwc3 probe effectively disables runtime pm
> >> from ever working because it calls a get() that was never put() until
> >> device removal. Change the runtime pm code to match the standard
> >> formula and allow runtime pm to function.
> >> Note that this doesn't enable full runtime pm on the DWC3 device in
> >> that the port isn't put into a lower power mode when not used.
> >> However it does allow users of dwc3 (like dwc3-exynos) to do some
> >> amount of runtime power management.
> >> Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx>
> >> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
> >> ---
> >> drivers/usb/dwc3/core.c | 4 +++-
> >> 1 files changed, 3 insertions(+), 1 deletions(-)
> >> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> >> index 3a4004a..59c2494 100644
> >> --- a/drivers/usb/dwc3/core.c
> >> +++ b/drivers/usb/dwc3/core.c
> >> @@ -453,6 +453,7 @@ static int dwc3_probe(struct platform_device *pdev)
> >> if (of_get_property(node, "tx-fifo-resize", NULL))
> >> dwc->needs_fifo_resize = true;
> >> + pm_runtime_set_active(dev);
> > this usage of pm_runtime_set_active() actually makes me a bit scared. At
> > least OMAP starts with the device switched off, so this will probably
> > break OMAP at least.
> I am fine with dropping pm_runtime_set_active(), actually thought
> to put device in active state so that as and when system finds it idle,
> force into suspend state.
> I fact should i drop pm_runtime_set_active() calls from other places too
> (xhci-plat, dwc3-exynos, and samsung-usb3 phy) and call get_sync() alongwith
> enable() ?
that's correct, make sure it works fine for you ;-)
Description: Digital signature