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