[PATCH 2/2] usb: dwc3: imx8mp: disable auto suspend for host role

Xu Yang xu.yang_2 at nxp.com
Wed Nov 5 08:06:36 PST 2025


On Wed, Nov 05, 2025 at 10:44:57AM -0500, Frank Li wrote:
> On Wed, Nov 05, 2025 at 03:45:03PM +0800, Xu Yang wrote:
> > Do dwc3 core auto suspend enable for device and disable for host
> > , this can make sure dwc3 core device auto suspend setting is
> > correct all the time, the background of disable dwc3 core device
> > auto suspend is to make its parent device suspend immediately
> > (so wakeup enable can be enabled) after xhci-plat device suspended,
> 
> Does wakeup only enable at runtime pm suspend? why core delay runtime

Yes.

> pm suspend impact wakeup function?

If xhci is suspended, I mean the wakeup function comes from external glue logic.

When xhci is suspended, it will stop host controller (RUN_STOP = 0) which means
it can't detect connect/disconnect event. Meanwhile, if dwc3 is active, the
wakeup IRQs (in glue) is still disabled. when a device is attached, xhci can't
detect this event and the external wakeup logic is still unfunctional. When dwc3
is suspended, the previous connect event can't be fired again even though wakeup
IRQ is enabled. So that event will be lost. 

Thanks,
Xu Yang

> 
> Frank
> 
> > for device mode, we keep the dwc3 core device auto suspend is to
> > give some wait for gadget to be enumerated.



More information about the linux-arm-kernel mailing list