From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48813C43387 for ; Wed, 19 Dec 2018 14:09:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 006A62084A for ; Wed, 19 Dec 2018 14:09:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="E8P374Oj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729260AbeLSOJG (ORCPT ); Wed, 19 Dec 2018 09:09:06 -0500 Received: from us01smtprelay-2.synopsys.com ([198.182.60.111]:35892 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727479AbeLSOJG (ORCPT ); Wed, 19 Dec 2018 09:09:06 -0500 Received: from mailhost.synopsys.com (mailhost2.synopsys.com [10.13.184.66]) by smtprelay.synopsys.com (Postfix) with ESMTP id C4E0310C1DAC; Wed, 19 Dec 2018 06:09:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1545228545; bh=hrTJgRe397WXOBAxP2xVwYt/F/ApHu2Uagh6uu56ww8=; h=From:To:CC:Subject:Date:References:From; b=E8P374Oj/WYuVHZfP20L5CtF/XtM3oLM2JnQGh+jABgtv29f2/ZIO/53N95mlghSD bgCdwlOYP6qqPikYfUMYFNPmAIQ+o6s9JWOszI5zH42jU4LrqzSii7101GhO83K0yC 225/ZDwpQ/ExpxAwOgC722Zf/FsJEp/90rN+Wf9Y3P2ux7VqquNbdSYMvbWPsBCy0E vxy3TWeldIrvfFIba4GsK4I5nHmKwjyDLCZYqxQ6gta4lEtU6HO8EZeZuNjOokM26e DidACynsbNqaIbVdeiWzx2s0GB8RnS/BB2ifkNrIX709t4NcnCFOs7T7DbqaJS4YHw dfHbdSolb9SoA== Received: from US01WEHTC3.internal.synopsys.com (us01wehtc3.internal.synopsys.com [10.15.84.232]) by mailhost.synopsys.com (Postfix) with ESMTP id 26D3223B5; Wed, 19 Dec 2018 06:09:05 -0800 (PST) Received: from AM04WEHTCB.internal.synopsys.com (10.116.16.192) by US01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 19 Dec 2018 06:09:05 -0800 Received: from AM04WEMBXA.internal.synopsys.com ([fe80::79c3:55f2:1f20:5bf4]) by am04wehtcb.internal.synopsys.com ([::1]) with mapi id 14.03.0415.000; Wed, 19 Dec 2018 18:09:02 +0400 From: Minas Harutyunyan To: John Keeping , Minas Harutyunyan CC: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "arthur.petrosyan@synopsys.com" Subject: Re: [PATCH] usb: dwc2: gadget: fix ISOC frame overflow handling Thread-Topic: [PATCH] usb: dwc2: gadget: fix ISOC frame overflow handling Thread-Index: AQHUatZW7CBOg1jSlEOevZqXY6bG3Q== Date: Wed, 19 Dec 2018 14:09:01 +0000 Message-ID: <410670D7E743164D87FA6160E7907A56013A7BECBB@am04wembxa.internal.synopsys.com> References: <20181023134355.29829-1-john@metanate.com> <410670D7E743164D87FA6160E7907A56013A79E7CE@am04wembxa.internal.synopsys.com> <20181108173654.118f9e3e@donbot> <410670D7E743164D87FA6160E7907A56013A7A0F2B@am04wembxa.internal.synopsys.com> <410670D7E743164D87FA6160E7907A56013A7A12C1@am04wembxa.internal.synopsys.com> <20181109184246.33cb4487@donbot> <410670D7E743164D87FA6160E7907A56013A7A27D7@am04wembxa.internal.synopsys.com> <20181112224626.6b44568a@donbot> <410670D7E743164D87FA6160E7907A56013A7BAB28@am04wembxa.internal.synopsys.com> <20181218143504.027fc53c@donbot> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.116.70.132] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi John,=0A= =0A= On 12/18/2018 6:35 PM, John Keeping wrote:=0A= > Hi Minas,=0A= > =0A= > On Fri, 14 Dec 2018 09:00:08 +0000=0A= > Minas Harutyunyan wrote:=0A= >> First of all, sorry for delayed answer.=0A= >> Looks like similar issue seen by Andrzej Pietrasiewicz=0A= >> : "dwc2 isochronous transfers issues". Same=0A= >> feedback provided to Andrzej.=0A= >>=0A= >> I run tests on 4.20.0-rc4 in DDMA. By default IN ISOC traffic failed=0A= >> because of BNA interrupts. It's happen because UAC2 requests count=0A= >> set by default to 2. Our core and driver can't work in DDMA with=0A= >> descriptor list length equal to 2. It's not possible on time prepare=0A= >> next descriptors to avoid BNA interrupt.=0A= >>=0A= >> By changing UAC2_DEF_REQ_NUM to 4 all audio gadget tests passed=0A= >> smoothly. Could you please apply this patch and run tests in DDMA=0A= >> mode:=0A= >>=0A= >> diff --git a/drivers/usb/gadget/function/u_uac2.h=0A= >> b/drivers/usb/gadget/function/u_uac2.h=0A= >> index 8362ee572e1e..5e649259ab76 100644=0A= >> --- a/drivers/usb/gadget/function/u_uac2.h=0A= >> +++ b/drivers/usb/gadget/function/u_uac2.h=0A= >> @@ -21,7 +21,7 @@=0A= >> #define UAC2_DEF_CCHMASK 0x3=0A= >> #define UAC2_DEF_CSRATE 64000=0A= >> #define UAC2_DEF_CSSIZE 2=0A= >> -#define UAC2_DEF_REQ_NUM 2=0A= >> +#define UAC2_DEF_REQ_NUM 4=0A= >>=0A= >> struct f_uac2_opts {=0A= >> struct usb_function_instance func_inst;=0A= >>=0A= >>=0A= >> If it will OK on your side also then will switch to BDMA mode and=0A= >> debug.=0A= > =0A= > With DDMA enabled, I see the following error after the stream has been=0A= > running for a while (anything from a few seconds to a few minutes):=0A= > =0A= > -- >8 --=0A= > [ 1798.836322] dwc2 ff580000.usb: dwc2_hsotg_ep_disable: called for ep0= =0A= > [ 1798.836329] dwc2 ff580000.usb: dwc2_hsotg_ep_disable: called for ep0= =0A= > [ 1798.851092] dwc2 ff580000.usb: new device is high-speed=0A= > [ 1798.924461] dwc2 ff580000.usb: new device is high-speed=0A= > [ 1798.982887] dwc2 ff580000.usb: new address 25=0A= > [ 1799.002463] configfs-gadget gadget: high-speed config #1: config=0A= > -- 8< --=0A= > =0A= > On the host side (Linux 4.18.16 Intel xHCI), I see this logged at the=0A= > same time:=0A= > =0A= > -- >8 --=0A= > [1735740.716242] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71=0A= > [1735740.716990] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71=0A= > [1735740.717906] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71=0A= > [1735740.718905] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71=0A= > [1735740.719916] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71=0A= > [1735740.720032] usb 1-2.2-port7: disabled by hub (EMI?), re-enabling...= =0A= > [1735740.720036] usb 1-2.2.7: USB disconnect, device number 28=0A= > [1735740.937500] usb 1-2.2.7: new high-speed USB device number 29 using x= hci_hcd=0A= > -- 8< --=0A= > =0A= > The device does then enumerate and works for a period of time before the= =0A= > same error happens again.=0A= > =0A= From logs not clear who initiate disconnect: host or device. More =0A= probably host, after some errors in retire_capture_urb initiate =0A= disconnect. Do you have any idea?=0A= Can't you connect device to host on same platform?=0A= If root cause of disconnect by host is device issue, i.e. not able to =0A= send to host data packets in time then I need device side dmesg log with = =0A= debug enabled. USB trace around the disconnect will help to debug.=0A= =0A= Thanks,=0A= Minas=0A= =0A= > =0A= > Regards,=0A= > John=0A= > =0A= =0A= 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: dwc2: gadget: fix ISOC frame overflow handling From: Minas Harutyunyan Message-Id: <410670D7E743164D87FA6160E7907A56013A7BECBB@am04wembxa.internal.synopsys.com> Date: Wed, 19 Dec 2018 14:09:01 +0000 To: John Keeping , Minas Harutyunyan Cc: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "arthur.petrosyan@synopsys.com" List-ID: SGkgSm9obiwKCk9uIDEyLzE4LzIwMTggNjozNSBQTSwgSm9obiBLZWVwaW5nIHdyb3RlOgo+IEhp IE1pbmFzLAo+IAo+IE9uIEZyaSwgMTQgRGVjIDIwMTggMDk6MDA6MDggKzAwMDAKPiBNaW5hcyBI YXJ1dHl1bnlhbiA8bWluYXMuaGFydXR5dW55YW5Ac3lub3BzeXMuY29tPiB3cm90ZToKPj4gRmly c3Qgb2YgYWxsLCBzb3JyeSBmb3IgZGVsYXllZCBhbnN3ZXIuCj4+IExvb2tzIGxpa2Ugc2ltaWxh ciBpc3N1ZSBzZWVuIGJ5IEFuZHJ6ZWogUGlldHJhc2lld2ljego+PiA8YW5kcnplai5wQHNhbXN1 bmcuY29tPjogImR3YzIgaXNvY2hyb25vdXMgdHJhbnNmZXJzIGlzc3VlcyIuIFNhbWUKPj4gZmVl ZGJhY2sgcHJvdmlkZWQgdG8gQW5kcnplai4KPj4KPj4gSSBydW4gdGVzdHMgb24gNC4yMC4wLXJj NCBpbiBERE1BLiBCeSBkZWZhdWx0IElOIElTT0MgdHJhZmZpYyBmYWlsZWQKPj4gYmVjYXVzZSBv ZiBCTkEgaW50ZXJydXB0cy4gSXQncyBoYXBwZW4gYmVjYXVzZSBVQUMyIHJlcXVlc3RzIGNvdW50 Cj4+IHNldCBieSBkZWZhdWx0IHRvIDIuIE91ciBjb3JlIGFuZCBkcml2ZXIgY2FuJ3Qgd29yayBp biBERE1BIHdpdGgKPj4gZGVzY3JpcHRvciBsaXN0IGxlbmd0aCBlcXVhbCB0byAyLiBJdCdzIG5v dCBwb3NzaWJsZSBvbiB0aW1lIHByZXBhcmUKPj4gbmV4dCBkZXNjcmlwdG9ycyB0byBhdm9pZCBC TkEgaW50ZXJydXB0Lgo+Pgo+PiBCeSBjaGFuZ2luZyBVQUMyX0RFRl9SRVFfTlVNIHRvIDQgYWxs IGF1ZGlvIGdhZGdldCB0ZXN0cyBwYXNzZWQKPj4gc21vb3RobHkuIENvdWxkIHlvdSBwbGVhc2Ug YXBwbHkgdGhpcyBwYXRjaCBhbmQgcnVuIHRlc3RzIGluIERETUEKPj4gbW9kZToKPj4KPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91X3VhYzIuaAo+PiBiL2RyaXZl cnMvdXNiL2dhZGdldC9mdW5jdGlvbi91X3VhYzIuaAo+PiBpbmRleCA4MzYyZWU1NzJlMWUuLjVl NjQ5MjU5YWI3NiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3Vf dWFjMi5oCj4+ICsrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91X3VhYzIuaAo+PiBA QCAtMjEsNyArMjEsNyBAQAo+PiAgICAjZGVmaW5lIFVBQzJfREVGX0NDSE1BU0sgMHgzCj4+ICAg ICNkZWZpbmUgVUFDMl9ERUZfQ1NSQVRFIDY0MDAwCj4+ICAgICNkZWZpbmUgVUFDMl9ERUZfQ1NT SVpFIDIKPj4gLSNkZWZpbmUgVUFDMl9ERUZfUkVRX05VTSAyCj4+ICsjZGVmaW5lIFVBQzJfREVG X1JFUV9OVU0gNAo+Pgo+PiAgICBzdHJ1Y3QgZl91YWMyX29wdHMgewo+PiAgICAgICAgICAgc3Ry dWN0IHVzYl9mdW5jdGlvbl9pbnN0YW5jZSAgICBmdW5jX2luc3Q7Cj4+Cj4+Cj4+IElmIGl0IHdp bGwgT0sgb24geW91ciBzaWRlIGFsc28gdGhlbiB3aWxsIHN3aXRjaCB0byBCRE1BIG1vZGUgYW5k Cj4+IGRlYnVnLgo+IAo+IFdpdGggRERNQSBlbmFibGVkLCBJIHNlZSB0aGUgZm9sbG93aW5nIGVy cm9yIGFmdGVyIHRoZSBzdHJlYW0gaGFzIGJlZW4KPiBydW5uaW5nIGZvciBhIHdoaWxlIChhbnl0 aGluZyBmcm9tIGEgZmV3IHNlY29uZHMgdG8gYSBmZXcgbWludXRlcyk6Cj4gCj4gLS0gPjggLS0K PiBbIDE3OTguODM2MzIyXSBkd2MyIGZmNTgwMDAwLnVzYjogZHdjMl9oc290Z19lcF9kaXNhYmxl OiBjYWxsZWQgZm9yIGVwMAo+IFsgMTc5OC44MzYzMjldIGR3YzIgZmY1ODAwMDAudXNiOiBkd2My X2hzb3RnX2VwX2Rpc2FibGU6IGNhbGxlZCBmb3IgZXAwCj4gWyAxNzk4Ljg1MTA5Ml0gZHdjMiBm ZjU4MDAwMC51c2I6IG5ldyBkZXZpY2UgaXMgaGlnaC1zcGVlZAo+IFsgMTc5OC45MjQ0NjFdIGR3 YzIgZmY1ODAwMDAudXNiOiBuZXcgZGV2aWNlIGlzIGhpZ2gtc3BlZWQKPiBbIDE3OTguOTgyODg3 XSBkd2MyIGZmNTgwMDAwLnVzYjogbmV3IGFkZHJlc3MgMjUKPiBbIDE3OTkuMDAyNDYzXSBjb25m aWdmcy1nYWRnZXQgZ2FkZ2V0OiBoaWdoLXNwZWVkIGNvbmZpZyAjMTogY29uZmlnCj4gLS0gODwg LS0KPiAKPiBPbiB0aGUgaG9zdCBzaWRlIChMaW51eCA0LjE4LjE2IEludGVsIHhIQ0kpLCBJIHNl ZSB0aGlzIGxvZ2dlZCBhdCB0aGUKPiBzYW1lIHRpbWU6Cj4gCj4gLS0gPjggLS0KPiBbMTczNTc0 MC43MTYyNDJdIHJldGlyZV9jYXB0dXJlX3VyYjogdXNiIDEtMi4yLjc6IGZyYW1lIDAgYWN0aXZl OiAtNzEKPiBbMTczNTc0MC43MTY5OTBdIHJldGlyZV9jYXB0dXJlX3VyYjogdXNiIDEtMi4yLjc6 IGZyYW1lIDAgYWN0aXZlOiAtNzEKPiBbMTczNTc0MC43MTc5MDZdIHJldGlyZV9jYXB0dXJlX3Vy YjogdXNiIDEtMi4yLjc6IGZyYW1lIDAgYWN0aXZlOiAtNzEKPiBbMTczNTc0MC43MTg5MDVdIHJl dGlyZV9jYXB0dXJlX3VyYjogdXNiIDEtMi4yLjc6IGZyYW1lIDAgYWN0aXZlOiAtNzEKPiBbMTcz NTc0MC43MTk5MTZdIHJldGlyZV9jYXB0dXJlX3VyYjogdXNiIDEtMi4yLjc6IGZyYW1lIDAgYWN0 aXZlOiAtNzEKPiBbMTczNTc0MC43MjAwMzJdIHVzYiAxLTIuMi1wb3J0NzogZGlzYWJsZWQgYnkg aHViIChFTUk/KSwgcmUtZW5hYmxpbmcuLi4KPiBbMTczNTc0MC43MjAwMzZdIHVzYiAxLTIuMi43 OiBVU0IgZGlzY29ubmVjdCwgZGV2aWNlIG51bWJlciAyOAo+IFsxNzM1NzQwLjkzNzUwMF0gdXNi IDEtMi4yLjc6IG5ldyBoaWdoLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDI5IHVzaW5nIHhoY2lf aGNkCj4gLS0gODwgLS0KPiAKPiBUaGUgZGV2aWNlIGRvZXMgdGhlbiBlbnVtZXJhdGUgYW5kIHdv cmtzIGZvciBhIHBlcmlvZCBvZiB0aW1lIGJlZm9yZSB0aGUKPiBzYW1lIGVycm9yIGhhcHBlbnMg YWdhaW4uCj4gCiBGcm9tIGxvZ3Mgbm90IGNsZWFyIHdobyBpbml0aWF0ZSBkaXNjb25uZWN0OiBo b3N0IG9yIGRldmljZS4gIE1vcmUgCnByb2JhYmx5IGhvc3QsIGFmdGVyIHNvbWUgZXJyb3JzIGlu IHJldGlyZV9jYXB0dXJlX3VyYiBpbml0aWF0ZSAKZGlzY29ubmVjdC4gRG8geW91IGhhdmUgYW55 IGlkZWE/CkNhbid0IHlvdSBjb25uZWN0IGRldmljZSB0byBob3N0IG9uIHNhbWUgcGxhdGZvcm0/ CklmIHJvb3QgY2F1c2Ugb2YgZGlzY29ubmVjdCBieSBob3N0IGlzIGRldmljZSBpc3N1ZSwgaS5l LiBub3QgYWJsZSB0byAKc2VuZCB0byBob3N0IGRhdGEgcGFja2V0cyBpbiB0aW1lIHRoZW4gSSBu ZWVkIGRldmljZSBzaWRlIGRtZXNnIGxvZyB3aXRoIApkZWJ1ZyBlbmFibGVkLiBVU0IgdHJhY2Ug YXJvdW5kIHRoZSBkaXNjb25uZWN0IHdpbGwgaGVscCB0byBkZWJ1Zy4KClRoYW5rcywKTWluYXMK Cj4gCj4gUmVnYXJkcywKPiBKb2huCj4K