RE: [PATCH] usb: hub: try old enumeration scheme first for high speed devices

From: Zengtao (B)
Date: Thu Aug 16 2018 - 06:59:48 EST


Hi Roger:

>-----Original Message-----
>From: Roger Quadros [mailto:rogerq@xxxxxx]
>Sent: Thursday, August 16, 2018 3:17 PM
>To: Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>; Alan Stern
><stern@xxxxxxxxxxxxxxxxxxx>
>Cc: gregkh@xxxxxxxxxxxxxxxxxxx; mathias.nyman@xxxxxxxxxxxxxxx;
>drinkcat@xxxxxxxxxxxx; felipe.balbi@xxxxxxxxxxxxxxx;
>drake@xxxxxxxxxxxx; mike.looijmans@xxxxxxxx; joe@xxxxxxxxxxx;
>linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>Subject: Re: [PATCH] usb: hub: try old enumeration scheme first for high
>speed devices
>
>On 16/08/18 09:21, Zengtao (B) wrote:
>> Hi alan:
>>
>>> -----Original Message-----
>>> From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx]
>>> Sent: Tuesday, August 14, 2018 10:40 PM
>>> To: Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>
>>> Cc: Roger Quadros <rogerq@xxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx;
>>> mathias.nyman@xxxxxxxxxxxxxxx; drinkcat@xxxxxxxxxxxx;
>>> felipe.balbi@xxxxxxxxxxxxxxx; drake@xxxxxxxxxxxx;
>>> mike.looijmans@xxxxxxxx; joe@xxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx;
>>> linux-kernel@xxxxxxxxxxxxxxx
>>> Subject: RE: [PATCH] usb: hub: try old enumeration scheme first for
>>> high speed devices
>>>
>>> On Tue, 14 Aug 2018, Zengtao (B) wrote:
>>>
>>>> Hi alan:
>>>>
>>>>> -----Original Message-----
>>>>> From: linux-usb-owner@xxxxxxxxxxxxxxx
>>>>> [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Alan Stern
>>>>> Sent: Friday, August 10, 2018 10:20 PM
>>>>> To: Roger Quadros <rogerq@xxxxxx>
>>>>> Cc: Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>;
>>>>> gregkh@xxxxxxxxxxxxxxxxxxx; mathias.nyman@xxxxxxxxxxxxxxx;
>>>>> drinkcat@xxxxxxxxxxxx; felipe.balbi@xxxxxxxxxxxxxxx;
>>>>> drake@xxxxxxxxxxxx; mike.looijmans@xxxxxxxx; joe@xxxxxxxxxxx;
>>>>> linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>>>>> Subject: Re: [PATCH] usb: hub: try old enumeration scheme first for
>>>>> high speed devices
>>>>>
>>>>> On Fri, 10 Aug 2018, Roger Quadros wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 10/08/18 18:01, Zeng Tao wrote:
>>>>>>> The new scheme is required just to support legacy low and
>>>>>>> full-speed devices. For high speed devices, it will slower the
>>>>>>> enumeration
>>> speed.
>>>>>>> So in this patch we try the "old" enumeration scheme first for
>>>>>>> high speed devices.
>>>>>>
>>>>>> How slow does it get? Is it significant?
>>>>>> Do we risk breaking existing HS devices that work? I don't think
>>>>>> we can be sure till we run this through testing.
>>>>>
>>>>> Indeed. I am extremely skeptical about a patch like this, unless
>>>>> somebody can show that Windows uses the "old" scheme for
>high-speed
>>> devices.
>>>>
>>>> Yes, this is what the windows has done, you can refer to
>>>>
>https://blogs.msdn.microsoft.com/usbcoreblog/2013/04/11/usb-2-1-2-0-
>>>> 1- 1-device-enumeration-changes-in-windows-8/
>>>
>>> And that blog post is 5 years old!
>>>
>>> Okay, I think we can go ahead and make this change. However, you
>>> should update the patch description to mention what Microsoft did in
>>> Windows 8 and say that the new behavior matches theirs.
>>>
>> Okay, I will update it the change log in v2.
>>
>>> Also, as Roger mentioned, you should update the documentation to say
>>> that the old_scheme_first module parameter now applies only to low-
>>> and full-speed devices, since high- and SuperSpeed devices always use
>the old scheme first.
>>>
>>
>> Since we should have dedicated enumeration flow for SS, HIGH, low and
>> full speed devices, So I think the old_scheme_first and use_both_schemes
>parameters should be removed.
>> What do you think about it?
>
>I think we should retain them as some host controllers can have issues and
>these parameters give some control to system integrators to workaround if
>required.
>
>I'm aware of one errata [1] that requires the old_scheme_first to be set in
>certain circumstances.
>
>[1] http://www.ti.com/lit/er/sprz429l/sprz429l.pdf
>Section i897

I 'd rather to use a quirk to workaround.
And the main idea is to keep the enumeration flow as simple as possible.

>
>--
>Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
>Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki