Re: [PATCH 2/4] usb: host: xhci: Introduce one new 'usb3_slow_suspend' member for xhci private data

From: Felipe Balbi
Date: Thu Aug 18 2016 - 08:26:13 EST



Hi,

Baolin Wang <baolin.wang@xxxxxxxxxx> writes:
> Hi Felipe,
>
> On 18 August 2016 at 15:18, Felipe Balbi <balbi@xxxxxxxxxx> wrote:
>>
>> Hi,
>>
>> Baolin Wang <baolin.wang@xxxxxxxxxx> writes:
>>> Now some usb controllers (such as dwc3 controller) need 'XHCI_SLOW_SUSPEND'
>>> quirk when suspending the xhci, thus we need to add 'usb3_slow_suspend' member
>>> in xhci platform data to support this.
>>>
>>> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
>>> ---
>>> drivers/usb/host/xhci-plat.c | 3 +++
>>> include/linux/usb/xhci_pdriver.h | 3 +++
>>> 2 files changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
>>> index e2e2487..162f17c 100644
>>> --- a/drivers/usb/host/xhci-plat.c
>>> +++ b/drivers/usb/host/xhci-plat.c
>>> @@ -250,6 +250,9 @@ static int xhci_plat_probe(struct platform_device *pdev)
>>> (pdata && pdata->usb3_lpm_capable))
>>> xhci->quirks |= XHCI_LPM_SUPPORT;
>>>
>>> + if (pdata && pdata->usb3_slow_suspend)
>>> + xhci->quirks |= XHCI_SLOW_SUSPEND;
>>
>> I remember having a discussion about this with Paul Z and it turned out
>> that we really didn't need SLOW_SUSPEND. Can you describe further in
>> what situation you need this quirk?
>
> On my dwc3 platform, xhci suspend will be failed if we have not
> enabled XHCI_SLOW_SUSPEND quirk.

fail how? What error do you see? Do you have some traces of what's
happening? Did you try figuring out if this is, perhaps, caused by some
call ordering which is wrong? Perhaps disabling PHYs too early or
something like that?

--
balbi

Attachment: signature.asc
Description: PGP signature