From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: ADUXVKKNDnAg88DHF7o6uAX31iQNKi7dVse6QLrSiRaGZtg94P4xY9RVCB8hGqJ4ajat7j+Xq8Pm ARC-Seal: i=1; a=rsa-sha256; t=1527084236; cv=none; d=google.com; s=arc-20160816; b=J8dRDovtt50ayIW/H11Wvf24d5AixiGnWWCHKsc4s6aLDeoIePg7Oobui4Ewhnw0Nf LrdsKZpldXqnSxLIvxGlw+F3CX5QNylxvufy6IsjSvydwbYpLkffNWKlMUw7a3XRowHG V2cAOzXqAjZvTYVaGIGaDPd4SFIEwq9UfQhp10VUQA2le/18BpNZ7wGVAlSK0v1Tpgur 6pPcsgwwuBddR2FmWlqdyvcGQHTJOY9jwHKIlE9pwy8x/skRHyrmsQpiKRN++R0bG5Jl 9Je1yBI2JGY70IkdgdKYVSDvSjnfKw3Q4b/hONchhGzo5zGxPxLukcPkVZNXpX2ndUnH IgAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:message-id:in-reply-to:subject:cc:to:from:date :arc-authentication-results; bh=xEo8XdlxQ8ZKFiRU75HEJJofIrjMEDJstBvxAukuDV4=; b=SNwwPmY+nQ/07t5tBy7tOLA22zgte5o5ibDXthp7V9JahwJrpblYzoCIyBkLEMZaJJ u4F+joffSTnhyaRG3752L2f5ebFD/Sz8rpCMqMoQ+LGlLCLON9EeUT/nV3EZ6SnC0M/Q 79AhxhUhMht0hypuwGDizPfAg+ifEQKyLaVwOr/QPIWhrLkIcX7JeBYZ0VdLfw5m4PmZ L2Ekw45MveC2OI0vH+udPc0NWQlXc02l49EWwAVoD/dFTFPwN3ibzBCk3F4f69DmbGjh PNwUtoWTMCZ7/7SlLSSQ/uZjgS1ChSzAkeSWL5eL1b77PJOn+qFSd1XvHINVuRMTOVXB pCAw== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 192.131.102.54 is neither permitted nor denied by best guess record for domain of stern+5b0af0d8@rowland.harvard.edu) smtp.mailfrom=stern+5b0af0d8@rowland.harvard.edu Authentication-Results: mx.google.com; spf=neutral (google.com: 192.131.102.54 is neither permitted nor denied by best guess record for domain of stern+5b0af0d8@rowland.harvard.edu) smtp.mailfrom=stern+5b0af0d8@rowland.harvard.edu Date: Wed, 23 May 2018 10:03:55 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Nicolas Boichat cc: linux-usb@vger.kernel.org, Greg Kroah-Hartman , Mathias Nyman , Felipe Balbi , Eugene Korenevsky , Peter Chen , Daniel Drake , Joe Perches , Johan Hovold , Richard Leitner , , Subject: Re: [PATCH] usb: hub: Per-port setting to use old enumeration scheme In-Reply-To: <20180523021656.122455-1-drinkcat@chromium.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1601219430844559036?= X-GMAIL-MSGID: =?utf-8?q?1601263880362754322?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Wed, 23 May 2018, Nicolas Boichat wrote: > The "old" enumeration scheme is considerably faster (it takes > ~294ms instead of ~439ms to get the descriptor). > > It is currently only possible to use the old scheme globally > (/sys/module/usbcore/parameters/old_scheme_first), which is not > desirable as the new scheme was introduced to increase compatibility > with more devices. > > However, in our case, we care about time-to-active for a specific > USB device (which we make the firmware for), on a specific port > (that is pogo-pin based: not a standard USB port). This new > sysfs option makes it possible to use the old scheme on a single > port only. > > Signed-off-by: Nicolas Boichat > --- > > There are other "quirks" that we could add to reduce further > enumeration time (e.g. reduce USB debounce time, reduce TRSTRCY > to 10ms instead of 50ms as used currently), but the logic is quite > similar, so it'd be good to have this reviewed first. I'm not opposed to the idea in principle, although I don't like your implementation because it breaks the original old_scheme_first parameter. Let's see what some other people think. Yours is a rather special case, because you know exactly what device will be attached to a specific port. Still, I can see that sort of thing happening in constrained and special-purpose settings. How do you arrange to set the new quirk before the device is discovered? Alan Stern From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: hub: Per-port setting to use old enumeration scheme From: Alan Stern Message-Id: Date: Wed, 23 May 2018 10:03:55 -0400 (EDT) To: Nicolas Boichat Cc: linux-usb@vger.kernel.org, Greg Kroah-Hartman , Mathias Nyman , Felipe Balbi , Eugene Korenevsky , Peter Chen , Daniel Drake , Joe Perches , Johan Hovold , Richard Leitner , linux-kernel@vger.kernel.org, groeck@chromium.org List-ID: T24gV2VkLCAyMyBNYXkgMjAxOCwgTmljb2xhcyBCb2ljaGF0IHdyb3RlOgoKPiBUaGUgIm9sZCIg ZW51bWVyYXRpb24gc2NoZW1lIGlzIGNvbnNpZGVyYWJseSBmYXN0ZXIgKGl0IHRha2VzCj4gfjI5 NG1zIGluc3RlYWQgb2YgfjQzOW1zIHRvIGdldCB0aGUgZGVzY3JpcHRvcikuCj4gCj4gSXQgaXMg Y3VycmVudGx5IG9ubHkgcG9zc2libGUgdG8gdXNlIHRoZSBvbGQgc2NoZW1lIGdsb2JhbGx5Cj4g KC9zeXMvbW9kdWxlL3VzYmNvcmUvcGFyYW1ldGVycy9vbGRfc2NoZW1lX2ZpcnN0KSwgd2hpY2gg aXMgbm90Cj4gZGVzaXJhYmxlIGFzIHRoZSBuZXcgc2NoZW1lIHdhcyBpbnRyb2R1Y2VkIHRvIGlu Y3JlYXNlIGNvbXBhdGliaWxpdHkKPiB3aXRoIG1vcmUgZGV2aWNlcy4KPiAKPiBIb3dldmVyLCBp biBvdXIgY2FzZSwgd2UgY2FyZSBhYm91dCB0aW1lLXRvLWFjdGl2ZSBmb3IgYSBzcGVjaWZpYwo+ IFVTQiBkZXZpY2UgKHdoaWNoIHdlIG1ha2UgdGhlIGZpcm13YXJlIGZvciksIG9uIGEgc3BlY2lm aWMgcG9ydAo+ICh0aGF0IGlzIHBvZ28tcGluIGJhc2VkOiBub3QgYSBzdGFuZGFyZCBVU0IgcG9y dCkuIFRoaXMgbmV3Cj4gc3lzZnMgb3B0aW9uIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUg b2xkIHNjaGVtZSBvbiBhIHNpbmdsZQo+IHBvcnQgb25seS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBO aWNvbGFzIEJvaWNoYXQgPGRyaW5rY2F0QGNocm9taXVtLm9yZz4KPiAtLS0KPiAKPiBUaGVyZSBh cmUgb3RoZXIgInF1aXJrcyIgdGhhdCB3ZSBjb3VsZCBhZGQgdG8gcmVkdWNlIGZ1cnRoZXIKPiBl bnVtZXJhdGlvbiB0aW1lIChlLmcuIHJlZHVjZSBVU0IgZGVib3VuY2UgdGltZSwgcmVkdWNlIFRS U1RSQ1kKPiB0byAxMG1zIGluc3RlYWQgb2YgNTBtcyBhcyB1c2VkIGN1cnJlbnRseSksIGJ1dCB0 aGUgbG9naWMgaXMgcXVpdGUKPiBzaW1pbGFyLCBzbyBpdCdkIGJlIGdvb2QgdG8gaGF2ZSB0aGlz IHJldmlld2VkIGZpcnN0LgoKSSdtIG5vdCBvcHBvc2VkIHRvIHRoZSBpZGVhIGluIHByaW5jaXBs ZSwgYWx0aG91Z2ggSSBkb24ndCBsaWtlIHlvdXIKaW1wbGVtZW50YXRpb24gYmVjYXVzZSBpdCBi cmVha3MgdGhlIG9yaWdpbmFsIG9sZF9zY2hlbWVfZmlyc3QKcGFyYW1ldGVyLgoKTGV0J3Mgc2Vl IHdoYXQgc29tZSBvdGhlciBwZW9wbGUgdGhpbmsuCgpZb3VycyBpcyBhIHJhdGhlciBzcGVjaWFs IGNhc2UsIGJlY2F1c2UgeW91IGtub3cgZXhhY3RseSB3aGF0IGRldmljZQp3aWxsIGJlIGF0dGFj aGVkIHRvIGEgc3BlY2lmaWMgcG9ydC4gIFN0aWxsLCBJIGNhbiBzZWUgdGhhdCBzb3J0IG9mCnRo aW5nIGhhcHBlbmluZyBpbiBjb25zdHJhaW5lZCBhbmQgc3BlY2lhbC1wdXJwb3NlIHNldHRpbmdz LgoKSG93IGRvIHlvdSBhcnJhbmdlIHRvIHNldCB0aGUgbmV3IHF1aXJrIGJlZm9yZSB0aGUgZGV2 aWNlIGlzIApkaXNjb3ZlcmVkPwoKQWxhbiBTdGVybgotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0 aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJv ZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRv bW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==