Re: [PATCH 2/4] USB: dwc3: Adjust runtime pm the dwc3 driver to allow runtime suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

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 ;-)

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux