Re: [PATCH] usb: host: xhci-plat: add XHCI_MISSING_CAS quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20.02.20 16:37, Jun Li wrote:
> 
> 
>> -----Original Message-----
>> From: Martin Kepplinger <martin.kepplinger@xxxxxxx>
>> Sent: 2020年2月20日 19:44
>> To: Jun Li <jun.li@xxxxxxx>; Peter Chen <peter.chen@xxxxxxx>;
>> mathias.nyman@xxxxxxxxx
>> Cc: linux-usb@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Anson Huang
>> <anson.huang@xxxxxxx>; shawnguo@xxxxxxxxxx; kernel@xxxxxxxxxxxxxx
>> Subject: Re: [PATCH] usb: host: xhci-plat: add XHCI_MISSING_CAS quirk
>>
>> On 20.02.20 07:31, Jun Li wrote:
>>>> -----Original Message-----
>>>> From: Martin Kepplinger <martin.kepplinger@xxxxxxx>
>>>> Sent: 2020年2月20日 1:37
>>>> To: Jun Li <jun.li@xxxxxxx>; Peter Chen <peter.chen@xxxxxxx>;
>>>> mathias.nyman@xxxxxxxxx
>>>> Cc: linux-usb@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>;
>>>> Anson Huang <anson.huang@xxxxxxx>; shawnguo@xxxxxxxxxx;
>>>> kernel@xxxxxxxxxxxxxx
>>>> Subject: [PATCH] usb: host: xhci-plat: add XHCI_MISSING_CAS quirk
>>>>
>>>> From: Li Jun <jun.li@xxxxxxx>
>>>>
>>>> i.MX8MQ USB3 host needs XHCI_MISSING_CAS quirk to warm reset the port
>>>> to enum the
>>>> USB3 device plugged in while system sleep, as the port state is stuck
>>>> in polling mode after resume.
>>>>
>>>> Signed-off-by: Li Jun <jun.li@xxxxxxx>
>>>> Acked-by: Peter Chen <peter.chen@xxxxxxx>
>>>> ---
>>>>
>>>> Hi,
>>>>
>>>> Because resume from S3 suspend is broken for me on imx8mq, I stumbled
>>>> upon this patch in NXP's linux tree. (Please note that I'm not the
>>>> author and I've not yet put my SoB tag under it). This is just a
>>>> question:
>>>>
>>>> This patch (and the docs) clearly is missing in mainline Linux
>>>> because the imx8mq devicetree description includes it (which does nothing now).
>>>>
>>>> I've tested this and this particular addition doesn't fix my problem:
>>>>
>>>> [   84.257538] imx8mq-usb-phy 381f0040.usb-phy: bus resume
>>>> [   84.263195] imx8mq-usb-phy 382f0040.usb-phy: bus resume
>>>> [   84.268898] dwc3 38100000.usb: driver resume
>>>>
>>>> during resume from S3 suspend, here it still hangs.
>>>
>>> Is your problem a system hang? If yes, this may another issue, where
>>> the hang happens? dwc3_resume_common()?
>>
>> exactly! I followed to the point it hangs once again and it's
>>
>> dwc3_core_init() called from dwc3_resume_common()'s "OTG" case.
>>
>> Specifically, dwc3_writel() is what I don't get past:
>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.bootl
>> in.com%2Flinux%2Fv5.6-rc2%2Fsource%2Fdrivers%2Fusb%2Fdwc3%2Fcore.c%23L934&amp;
>> data=02%7C01%7Cjun.li%40nxp.com%7C130cd29875c44792d1a908d7b5fa2516%7C686ea1d3b
>> c2b4c6fa92cd99c5c301635%7C0%7C0%7C637177958284696041&amp;sdata=mqh9MH6ESLVxKvW
>> vvMq4vwt2dcTuvNopgGVdXEbbMwk%3D&amp;reserved=0
> 
> So while dwc3 resume, the first register access cause hang.
> Looks like some required clocks or power domain of USB0 is not on.

which would these be in imx8mq.dtsi ?

>  
>>
>> do you have an idea why this writel() hangs?
> 
> I never encounter such hang on my iMX8MQ EVK board
> using upstream kernel(5.x) + changes of enable USB0 port,
> but I didn't try latest 5.6 kernel.
> I will enable the first port based on Linux-next to give a
> try on my NXP iMX8MQ EVK board, do you think I can reproduce
> your problem?
> 
> Li Jun

Hi Li, thanks for taking a look. I would think that you can reproduce
that, yes. I'm running v5.6-rc2 with no changes to usb or any relevant
changes to clk (I think), but in case you're curious, this is the whole
tree:
https://source.puri.sm/Librem5/linux-next/tree/imx8-linux-next-librem5

What "changes of enable USB0 port" do you mean?

thanks,

                       martin

>>
>>>
>>> The question patch is to give a warm reset for connected USB device if
>>> the link state is not connect/CAS after system resume, otherwise host
>>> will wait 2s for device appear:
>>>
>>> [   44.834831] usb 2-1: Waited 2000ms for CONNECT
>>> ...
>>> [   45.055718] PM: resume devices took 3.132 seconds
>>>
>>> I will post this patch and doc(to be updated) to upstream later.
>>>
>>
>> ok, good, thanks,
>>
>>                                  martin
> 



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux