[PATCH v3] usb: dwc2: add bus suspend/resume for dwc2
Kever Yang
kever.yang at rock-chips.com
Wed Nov 12 16:42:06 PST 2014
Doug,
On 11/13/2014 07:22 AM, Doug Anderson wrote:
> Kever,
>
> On Mon, Nov 10, 2014 at 5:09 AM, Kever Yang <kever.yang at rock-chips.com> wrote:
>> Hcd controller needs bus_suspend/resume, dwc2 controller make
>> root hub generate suspend/resume signal with hprt0 register
>> when work in host mode.
>> After the root hub enter suspend, we can make controller enter
>> low power state with PCGCTL register.
>>
>> We also update the lx_state for hsotg state.
>>
>> This patch has tested on rk3288 with suspend/resume.
>>
>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
>> Acked-by: Paul Zimmerman <paulz at synopsys.com>
>> ---
>>
>> Changes in v3:
>> - remove CONFIG_PM macro for bus_suspend/resume
>> - add PCGCTL operation for no device connect case
>>
>> Changes in v2:
>> - update commit message
>> - make dwc2 suspend/resume sourcecode work
>>
>> drivers/usb/dwc2/hcd.c | 88 +++++++++++++++++++++++++++++++++++++++++++-------
>> 1 file changed, 77 insertions(+), 11 deletions(-)
> I would certainly appreciate confirmation, but my inclination is to
> NAK this change due to the fact that it regresses functionality. I
> haven't done any serious review of it, but I've been testing it and it
> appears to break hotplug.
>
> Said another way, I did this:
>
> 1. Without this patch, I booted with a USB stick in. It was detected.
> I unplugged it, waited 5 seconds, and then plugged it back in. The
> USB stick was redetcted.
>
> 2. With this patch, I did the same thing. The USB not redected after
> plugging it back in.
With this patch, the dwc2 hcd/root hub will be auto suspend after device
on port is disconnected, and it can't detect the device connect any more,
I think that's the problem.
I will figure out how to make dwc2 detect the device connect after auto
suspend,
or disable the auto suspend feature for the dwc2 hcd.
- Kever
More information about the Linux-rockchip
mailing list