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: John Keeping Message-Id: <20181218143504.027fc53c@donbot> Date: Tue, 18 Dec 2018 14:35:04 +0000 To: Minas Harutyunyan Cc: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "arthur.petrosyan@synopsys.com" List-ID: SGkgTWluYXMsCgpPbiBGcmksIDE0IERlYyAyMDE4IDA5OjAwOjA4ICswMDAwCk1pbmFzIEhhcnV0 eXVueWFuIDxtaW5hcy5oYXJ1dHl1bnlhbkBzeW5vcHN5cy5jb20+IHdyb3RlOgo+IEZpcnN0IG9m IGFsbCwgc29ycnkgZm9yIGRlbGF5ZWQgYW5zd2VyLgo+IExvb2tzIGxpa2Ugc2ltaWxhciBpc3N1 ZSBzZWVuIGJ5IEFuZHJ6ZWogUGlldHJhc2lld2ljeiAKPiA8YW5kcnplai5wQHNhbXN1bmcuY29t PjogImR3YzIgaXNvY2hyb25vdXMgdHJhbnNmZXJzIGlzc3VlcyIuIFNhbWUgCj4gZmVlZGJhY2sg cHJvdmlkZWQgdG8gQW5kcnplai4KPiAKPiBJIHJ1biB0ZXN0cyBvbiA0LjIwLjAtcmM0IGluIERE TUEuIEJ5IGRlZmF1bHQgSU4gSVNPQyB0cmFmZmljIGZhaWxlZCAKPiBiZWNhdXNlIG9mIEJOQSBp bnRlcnJ1cHRzLiBJdCdzIGhhcHBlbiBiZWNhdXNlIFVBQzIgcmVxdWVzdHMgY291bnQKPiBzZXQg YnkgZGVmYXVsdCB0byAyLiBPdXIgY29yZSBhbmQgZHJpdmVyIGNhbid0IHdvcmsgaW4gRERNQSB3 aXRoCj4gZGVzY3JpcHRvciBsaXN0IGxlbmd0aCBlcXVhbCB0byAyLiBJdCdzIG5vdCBwb3NzaWJs ZSBvbiB0aW1lIHByZXBhcmUKPiBuZXh0IGRlc2NyaXB0b3JzIHRvIGF2b2lkIEJOQSBpbnRlcnJ1 cHQuCj4gCj4gQnkgY2hhbmdpbmcgVUFDMl9ERUZfUkVRX05VTSB0byA0IGFsbCBhdWRpbyBnYWRn ZXQgdGVzdHMgcGFzc2VkCj4gc21vb3RobHkuIENvdWxkIHlvdSBwbGVhc2UgYXBwbHkgdGhpcyBw YXRjaCBhbmQgcnVuIHRlc3RzIGluIERETUEKPiBtb2RlOgo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMyLmggCj4gYi9kcml2ZXJzL3VzYi9nYWRnZXQv ZnVuY3Rpb24vdV91YWMyLmgKPiBpbmRleCA4MzYyZWU1NzJlMWUuLjVlNjQ5MjU5YWI3NiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMyLmgKPiArKysgYi9k cml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMyLmgKPiBAQCAtMjEsNyArMjEsNyBAQAo+ ICAgI2RlZmluZSBVQUMyX0RFRl9DQ0hNQVNLIDB4Mwo+ICAgI2RlZmluZSBVQUMyX0RFRl9DU1JB VEUgNjQwMDAKPiAgICNkZWZpbmUgVUFDMl9ERUZfQ1NTSVpFIDIKPiAtI2RlZmluZSBVQUMyX0RF Rl9SRVFfTlVNIDIKPiArI2RlZmluZSBVQUMyX0RFRl9SRVFfTlVNIDQKPiAKPiAgIHN0cnVjdCBm X3VhYzJfb3B0cyB7Cj4gICAgICAgICAgc3RydWN0IHVzYl9mdW5jdGlvbl9pbnN0YW5jZSAgICBm dW5jX2luc3Q7Cj4gCj4gCj4gSWYgaXQgd2lsbCBPSyBvbiB5b3VyIHNpZGUgYWxzbyB0aGVuIHdp bGwgc3dpdGNoIHRvIEJETUEgbW9kZSBhbmQKPiBkZWJ1Zy4KCldpdGggRERNQSBlbmFibGVkLCBJ IHNlZSB0aGUgZm9sbG93aW5nIGVycm9yIGFmdGVyIHRoZSBzdHJlYW0gaGFzIGJlZW4KcnVubmlu ZyBmb3IgYSB3aGlsZSAoYW55dGhpbmcgZnJvbSBhIGZldyBzZWNvbmRzIHRvIGEgZmV3IG1pbnV0 ZXMpOgoKLS0gPjggLS0KWyAxNzk4LjgzNjMyMl0gZHdjMiBmZjU4MDAwMC51c2I6IGR3YzJfaHNv dGdfZXBfZGlzYWJsZTogY2FsbGVkIGZvciBlcDAKWyAxNzk4LjgzNjMyOV0gZHdjMiBmZjU4MDAw MC51c2I6IGR3YzJfaHNvdGdfZXBfZGlzYWJsZTogY2FsbGVkIGZvciBlcDAKWyAxNzk4Ljg1MTA5 Ml0gZHdjMiBmZjU4MDAwMC51c2I6IG5ldyBkZXZpY2UgaXMgaGlnaC1zcGVlZApbIDE3OTguOTI0 NDYxXSBkd2MyIGZmNTgwMDAwLnVzYjogbmV3IGRldmljZSBpcyBoaWdoLXNwZWVkClsgMTc5OC45 ODI4ODddIGR3YzIgZmY1ODAwMDAudXNiOiBuZXcgYWRkcmVzcyAyNQpbIDE3OTkuMDAyNDYzXSBj b25maWdmcy1nYWRnZXQgZ2FkZ2V0OiBoaWdoLXNwZWVkIGNvbmZpZyAjMTogY29uZmlnCi0tIDg8 IC0tCgpPbiB0aGUgaG9zdCBzaWRlIChMaW51eCA0LjE4LjE2IEludGVsIHhIQ0kpLCBJIHNlZSB0 aGlzIGxvZ2dlZCBhdCB0aGUKc2FtZSB0aW1lOgoKLS0gPjggLS0KWzE3MzU3NDAuNzE2MjQyXSBy ZXRpcmVfY2FwdHVyZV91cmI6IHVzYiAxLTIuMi43OiBmcmFtZSAwIGFjdGl2ZTogLTcxClsxNzM1 NzQwLjcxNjk5MF0gcmV0aXJlX2NhcHR1cmVfdXJiOiB1c2IgMS0yLjIuNzogZnJhbWUgMCBhY3Rp dmU6IC03MQpbMTczNTc0MC43MTc5MDZdIHJldGlyZV9jYXB0dXJlX3VyYjogdXNiIDEtMi4yLjc6 IGZyYW1lIDAgYWN0aXZlOiAtNzEKWzE3MzU3NDAuNzE4OTA1XSByZXRpcmVfY2FwdHVyZV91cmI6 IHVzYiAxLTIuMi43OiBmcmFtZSAwIGFjdGl2ZTogLTcxClsxNzM1NzQwLjcxOTkxNl0gcmV0aXJl X2NhcHR1cmVfdXJiOiB1c2IgMS0yLjIuNzogZnJhbWUgMCBhY3RpdmU6IC03MQpbMTczNTc0MC43 MjAwMzJdIHVzYiAxLTIuMi1wb3J0NzogZGlzYWJsZWQgYnkgaHViIChFTUk/KSwgcmUtZW5hYmxp bmcuLi4KWzE3MzU3NDAuNzIwMDM2XSB1c2IgMS0yLjIuNzogVVNCIGRpc2Nvbm5lY3QsIGRldmlj ZSBudW1iZXIgMjgKWzE3MzU3NDAuOTM3NTAwXSB1c2IgMS0yLjIuNzogbmV3IGhpZ2gtc3BlZWQg VVNCIGRldmljZSBudW1iZXIgMjkgdXNpbmcgeGhjaV9oY2QKLS0gODwgLS0KClRoZSBkZXZpY2Ug ZG9lcyB0aGVuIGVudW1lcmF0ZSBhbmQgd29ya3MgZm9yIGEgcGVyaW9kIG9mIHRpbWUgYmVmb3Jl IHRoZQpzYW1lIGVycm9yIGhhcHBlbnMgYWdhaW4uCgoKUmVnYXJkcywKSm9obgo= 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=-3.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, 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 4B96FC43387 for ; Tue, 18 Dec 2018 14:35:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0B25B21873 for ; Tue, 18 Dec 2018 14:35:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=metanate.com header.i=@metanate.com header.b="ZjEjSMOv" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726823AbeLROfO (ORCPT ); Tue, 18 Dec 2018 09:35:14 -0500 Received: from dougal.metanate.com ([90.155.101.14]:5278 "EHLO metanate.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726469AbeLROfL (ORCPT ); Tue, 18 Dec 2018 09:35:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=metanate.com; s=stronger; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References :In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=fDf8w06EvPPnJnz2mbgwzBBRvCSx7x9J3JyHflpLMEc=; b=ZjEjSMOvTWfykSCFmvLaxbjR3+ zXJGXIO/KXHtTqk5RKFHvgSHJtZGL9qX+ZL1tR9kjTI760XeGMBksNHQI3PXL/5V04p5kAMPC4pYO byX2eMiGEx+D2zAMxRJi3HXnv82u738eKtQq8L16zGARwY//MAiiqNhmkbjeEn/ZI6/4+mcxe3J/X CmqdebmuJNYg/0LfbpWUaPv5+tNO8CEkSBqxiJf35ys0SAoKDtOUuHe//YUsNkru9iZMRIgGyXup5 obRZj0DYnApZNQ9vv99LOFx/7t5Z+QX72WF6hzPa/0eXZL1qY+aGzkWuUszg0w/hXCsGDrcumtSFg 0Mm5fayg==; Received: from johnkeeping.plus.com ([81.174.171.191] helo=donbot) by shrek.metanate.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1gZGSg-0002Q1-Ol; Tue, 18 Dec 2018 14:35:06 +0000 Date: Tue, 18 Dec 2018 14:35:04 +0000 From: John Keeping To: 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 Message-ID: <20181218143504.027fc53c@donbot> In-Reply-To: <410670D7E743164D87FA6160E7907A56013A7BAB28@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> X-Mailer: Claws Mail 3.17.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Authenticated: YES Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Minas, On Fri, 14 Dec 2018 09:00:08 +0000 Minas Harutyunyan wrote: > First of all, sorry for delayed answer. > Looks like similar issue seen by Andrzej Pietrasiewicz > : "dwc2 isochronous transfers issues". Same > feedback provided to Andrzej. > > I run tests on 4.20.0-rc4 in DDMA. By default IN ISOC traffic failed > because of BNA interrupts. It's happen because UAC2 requests count > set by default to 2. Our core and driver can't work in DDMA with > descriptor list length equal to 2. It's not possible on time prepare > next descriptors to avoid BNA interrupt. > > By changing UAC2_DEF_REQ_NUM to 4 all audio gadget tests passed > smoothly. Could you please apply this patch and run tests in DDMA > mode: > > diff --git a/drivers/usb/gadget/function/u_uac2.h > b/drivers/usb/gadget/function/u_uac2.h > index 8362ee572e1e..5e649259ab76 100644 > --- a/drivers/usb/gadget/function/u_uac2.h > +++ b/drivers/usb/gadget/function/u_uac2.h > @@ -21,7 +21,7 @@ > #define UAC2_DEF_CCHMASK 0x3 > #define UAC2_DEF_CSRATE 64000 > #define UAC2_DEF_CSSIZE 2 > -#define UAC2_DEF_REQ_NUM 2 > +#define UAC2_DEF_REQ_NUM 4 > > struct f_uac2_opts { > struct usb_function_instance func_inst; > > > If it will OK on your side also then will switch to BDMA mode and > debug. With DDMA enabled, I see the following error after the stream has been running for a while (anything from a few seconds to a few minutes): -- >8 -- [ 1798.836322] dwc2 ff580000.usb: dwc2_hsotg_ep_disable: called for ep0 [ 1798.836329] dwc2 ff580000.usb: dwc2_hsotg_ep_disable: called for ep0 [ 1798.851092] dwc2 ff580000.usb: new device is high-speed [ 1798.924461] dwc2 ff580000.usb: new device is high-speed [ 1798.982887] dwc2 ff580000.usb: new address 25 [ 1799.002463] configfs-gadget gadget: high-speed config #1: config -- 8< -- On the host side (Linux 4.18.16 Intel xHCI), I see this logged at the same time: -- >8 -- [1735740.716242] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71 [1735740.716990] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71 [1735740.717906] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71 [1735740.718905] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71 [1735740.719916] retire_capture_urb: usb 1-2.2.7: frame 0 active: -71 [1735740.720032] usb 1-2.2-port7: disabled by hub (EMI?), re-enabling... [1735740.720036] usb 1-2.2.7: USB disconnect, device number 28 [1735740.937500] usb 1-2.2.7: new high-speed USB device number 29 using xhci_hcd -- 8< -- The device does then enumerate and works for a period of time before the same error happens again. Regards, John