Re: [PATCH 1/2] usb: dwc3: core: Introduce dwc3_device_reinit()

From: Roger Quadros
Date: Mon Apr 11 2016 - 08:58:24 EST


On 11/04/16 15:51, Felipe Balbi wrote:
>
> Hi,
>
> Roger Quadros <rogerq@xxxxxx> writes:
>
> <snip>
>
>>> I don't have this text anywhere so I don't know. Is this something TI
>>> came up with or Synopsys ? Unless I can see a document (preferrably from
>>> Synopsys) stating this, I can't really accept $subject.
>>
>> OK. I'll try to find out if there is an official document about this.
>>
>>>
>>> Another question is: if all it takes is an extra SoftReset, why don't we
>>> just reset it during probe() if max_speed < SUPER and we're running on
>>> rev < 2.20a ? BTW, which revision of the IP is on AM57x/DRA7x ?
>>
>> The issue might happen on any Run/Stop transition so not sure if doing it
>> SoftReset just at probe fixes anything.
>>
>> On DRA7x it is rev 2.02a.
>
> oh, same block as OMAP5 ES2.0 :-(
>
>>>>> question is, then: How are you sure that resetting the device actually
>>>>> solves the issue ? Did you really hit the metastability problem and
>>>>> noted that it works after a soft-reset ? How did you verify that
>>>>
>>>> I don't know if it solves the issue or not. It was suggested by
>>>> Synopsis to TI's silicon team.
>>>
>>> now that's a bummer ;-)
>>>
>>>> I never hit the metastability problem detection condition in my
>>>> overnight tests (i.e. LTDB_LINK_STATE != 4).
>>>
>>> overnight is not enough. You need to keep this running for weeks.
>>
>> how many weeks is acceptable for you? I can run for that long, no problem.
>> And what if the issue doesn't happen in that time frame, would you still
>> consider this case?
>
> Well, there's always the possibility we have never triggered the issue
> to start with :-) What happens if you remove the the current workaround,
> set maximum-speed to high-speed and constantly toggle run/stop bit
> (there's a soft-connect file under the UDC's directory in sysfs). Can
> you ever cause the problems ?

I had tried a with max-speed set to high-speed and a script that just reloads g_zero.
That should toggle Run/Stop right?
Running this overnight didn't cause any problems.

cheers,
-roger