Re: [PATCH v4 3/9] usb: dwc3: Increase timeout for CmdAct cleared by device controller

From: Felipe Balbi
Date: Fri May 15 2020 - 05:31:17 EST



Hi,

Jun Li <lijun.kernel@xxxxxxxxx> writes:
>> @@ -397,12 +407,18 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned cmd,
>> dwc3_gadget_ep_get_transfer_index(dep);
>> }
>>
>> - if (saved_config) {
>> + if (saved_hs_config) {
>> reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
>> - reg |= saved_config;
>> + reg |= saved_hs_config;
>> dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
>> }
>>
>> + if (saved_ss_config) {
>> + reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
>> + reg |= saved_ss_config;
>> + dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
>> + }
>> +
>> return ret;
>> }
>
> Unfortunately this way can't work, once the SS PHY enters P3, disable
> suspend_en can't force SS PHY exit P3, unless do this at the very beginning
> to prevent SS PHY entering P3(e.g. add "snps,dis_u3_susphy_quirk" for test).

It sounds like you have a quirky PHY. If that's the case, then you
probably need to use the flag you mentioned above. Please verify with
that.

--
balbi

Attachment: signature.asc
Description: PGP signature