Messages in this thread | | | From | "Zengtao (B)" <> | Subject | RE: [PATCH] usb: hub: try old enumeration scheme first for high speed devices | Date | Fri, 17 Aug 2018 02:15:52 +0000 |
| |
Hi Roger:
>-----Original Message----- >From: Roger Quadros [mailto:rogerq@ti.com] >Sent: Thursday, August 16, 2018 7:14 PM >To: Zengtao (B) <prime.zeng@hisilicon.com>; Alan Stern ><stern@rowland.harvard.edu> >Cc: gregkh@linuxfoundation.org; mathias.nyman@linux.intel.com; >drinkcat@chromium.org; felipe.balbi@linux.intel.com; >drake@endlessm.com; mike.looijmans@topic.nl; joe@perches.com; >linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org >Subject: Re: [PATCH] usb: hub: try old enumeration scheme first for high >speed devices > >On 16/08/18 13:59, Zengtao (B) wrote: >> Hi Roger: >> >>> -----Original Message----- >>> From: Roger Quadros [mailto:rogerq@ti.com] >>> Sent: Thursday, August 16, 2018 3:17 PM >>> To: Zengtao (B) <prime.zeng@hisilicon.com>; Alan Stern >>> <stern@rowland.harvard.edu> >>> Cc: gregkh@linuxfoundation.org; mathias.nyman@linux.intel.com; >>> drinkcat@chromium.org; felipe.balbi@linux.intel.com; >>> drake@endlessm.com; mike.looijmans@topic.nl; joe@perches.com; >>> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org >>> 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@rowland.harvard.edu] >>>>> Sent: Tuesday, August 14, 2018 10:40 PM >>>>> To: Zengtao (B) <prime.zeng@hisilicon.com> >>>>> Cc: Roger Quadros <rogerq@ti.com>; gregkh@linuxfoundation.org; >>>>> mathias.nyman@linux.intel.com; drinkcat@chromium.org; >>>>> felipe.balbi@linux.intel.com; drake@endlessm.com; >>>>> mike.looijmans@topic.nl; joe@perches.com; >>>>> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org >>>>> 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@vger.kernel.org >>>>>>> [mailto:linux-usb-owner@vger.kernel.org] On Behalf Of Alan Stern >>>>>>> Sent: Friday, August 10, 2018 10:20 PM >>>>>>> To: Roger Quadros <rogerq@ti.com> >>>>>>> Cc: Zengtao (B) <prime.zeng@hisilicon.com>; >>>>>>> gregkh@linuxfoundation.org; mathias.nyman@linux.intel.com; >>>>>>> drinkcat@chromium.org; felipe.balbi@linux.intel.com; >>>>>>> drake@endlessm.com; mike.looijmans@topic.nl; >joe@perches.com; >>>>>>> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org >>>>>>> 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. > >The workaround isn't always required. Only in certain circumstances >decided by the user. >How can a user set the quirk? Now it is as easy as setting it in the kernel >command line. > >One option would be to use the old_scheme_first_port via sysfs. >/sys/bus/usb/devices/.../(hub interface)/portX/quirks > >But that won't work if devices are hard-wired in the system and get >enumerated before user gets access to sysfs. We need a way to force one >type of scheme before devices are enumerated. >
Okay, make sense, thank you for the explanation.
>-- >cheers, >-roger > >Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. >Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
| |