Re: [RFC PATCH 4/6] USB: ehci-omap: Suspend the controller duringbus suspend

From: Roger Quadros
Date: Thu Jun 20 2013 - 08:32:32 EST


On 06/19/2013 08:39 PM, Kevin Hilman wrote:
> Hi Roger,
>
> Roger Quadros <rogerq@xxxxxx> writes:
>
>> Runtime suspend the controller during bus suspend and resume it
>> during bus resume. This will ensure that the USB Host power domain
>> enters lower power state and does not prevent the SoC from
>> endering deeper sleep states.
>>
>> Remote wakeup will come up as an interrupt while the controller
>> is suspended, so tackle it carefully using a workqueue.
>
> I don't think you need a special workqueue here. The workqueue of the PM
> core (pm_wq) will be used if you just use an asynchronous 'get' in the
> ISR. Then, the driver's own runtime PM callbacks can be used instead of
> an additional workqueue.
>
> Another thing to worry about here when using runtime PM to implement
> suspend/resume is that runtime PM can be disabled from userspace (e.g.
> echo disabled > /sys/devices/.../power/control.) If that's the case,
> all the pm_runtime_suspended() checks will always fail becuase that
> call also checks if runtime PM is disabled. You'll likely want to use
> the pm_runtime_status_suspended() check instead, which checks only the
> status, and doesn't matter if runtime PM is currently disabled.
>
> Because of the corner issues here, please test system suspend/resume
> when runtime PM has been disabled.
>

Good points. Thanks. I'll need to think about it some more.

cheers,
-roger
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/