Re: [PATCH v3 02/11] USB: dwc3: Adjust runtime pm to allowautosuspend

From: Felipe Balbi
Date: Wed Apr 03 2013 - 04:17:32 EST


Hi,

On Wed, Apr 03, 2013 at 11:35:43AM +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.
> >>
> >> Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx>
> >> CC: Doug Anderson <dianders@xxxxxxxxxxxx>
> >> ---
> >> drivers/usb/dwc3/core.c | 8 +++++++-
> >> 1 files changed, 7 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> >> index e2325ad..3a6993c 100644
> >> --- a/drivers/usb/dwc3/core.c
> >> +++ b/drivers/usb/dwc3/core.c
> >> @@ -491,6 +491,11 @@ static int dwc3_probe(struct platform_device *pdev)
> >>
> >> dwc->needs_fifo_resize = of_property_read_bool(node, "tx-fifo-resize");
> >>
> >> + /* Setting device state as 'suspended' initially,
> >
> > wrong comment style.
> Yea :-( will fix this.
>
> >
> >> + * to make sure we know device state prior to
> >> + * pm_runtime_enable
> >> + */
> >> + pm_runtime_set_suspended(dev);
> >
> > didn't Alan mention this should be done at the Bus level ? In that case,
> > shouldn't you have call pm_runtime_set_active/suspended() based on
> > DT's status=okay or status=disabled ? Or something similar ?
>
> True, we should be doing this at bus level. But he did also mention to
> let pm core
> know of the state of the device before enabling the runtime pm. Right ?
> Moreover immediately after pm_runtime_enable(), we do pm_runtime_get_sync()
> so that device comes to active state.
> I am possibly missing things out here, not able to grab this whole
> picture completely :-(
>
> Wouldn't DT's status=disabled actually be disabling the device as a whole ?
> So, how much will runtime power management on the device be affecting ?

indeed, maybe we can keep it like this, but it would be nice to have OF
core handle this for us based on whatever data.

--
balbi

Attachment: signature.asc
Description: Digital signature