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=-1.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,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 8A372C43381 for ; Mon, 4 Mar 2019 10:26:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5285B20823 for ; Mon, 4 Mar 2019 10:26:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="p1nDVfBJ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726203AbfCDK0J (ORCPT ); Mon, 4 Mar 2019 05:26:09 -0500 Received: from fllv0015.ext.ti.com ([198.47.19.141]:35422 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726035AbfCDK0J (ORCPT ); Mon, 4 Mar 2019 05:26:09 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id x24APNE1125711; Mon, 4 Mar 2019 04:25:23 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1551695123; bh=DTCWO1Mh8rcJ3Wv71Zn2pvbPG2rDg0CmGLKV/AWDgiM=; h=Subject:To:CC:References:From:Date:In-Reply-To; b=p1nDVfBJIa5C4ENBk/Xsfs7eYsxlP76kOhuz0BNNpzGxuoOsmJPQCCkIn7sgaGmVq ygOeiD1+1rBksGZVYaDWFycZ090Lu5ToRee+KbpYnLVux6p+7GqlcYzzioelxNCdy8 /hLMNWc8hFoD829MACptF8wmMfGMPFaSnP8UX5JQ= Received: from DLEE103.ent.ti.com (dlee103.ent.ti.com [157.170.170.33]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x24APN38122195 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 4 Mar 2019 04:25:23 -0600 Received: from DLEE114.ent.ti.com (157.170.170.25) by DLEE103.ent.ti.com (157.170.170.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Mon, 4 Mar 2019 04:25:19 -0600 Received: from dflp33.itg.ti.com (10.64.6.16) by DLEE114.ent.ti.com (157.170.170.25) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1591.10 via Frontend Transport; Mon, 4 Mar 2019 04:25:19 -0600 Received: from [192.168.2.6] (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id x24APFeO011419; Mon, 4 Mar 2019 04:25:16 -0600 Subject: Re: [PATCH v4 6/6] usb:cdns3 Fix for stuck packets in on-chip OUT buffer. To: Felipe Balbi , Pawel Laszczak , "devicetree@vger.kernel.org" CC: "gregkh@linuxfoundation.org" , "mark.rutland@arm.com" , "linux-usb@vger.kernel.org" , "hdegoede@redhat.com" , "heikki.krogerus@linux.intel.com" , "andy.shevchenko@gmail.com" , "robh+dt@kernel.org" , "linux-kernel@vger.kernel.org" , "jbergsagel@ti.com" , "nsekhar@ti.com" , "nm@ti.com" , Suresh Punnoose , "peter.chen@nxp.com" , Rahul Kumar References: <1550173514-23573-1-git-send-email-pawell@cadence.com> <1550173514-23573-7-git-send-email-pawell@cadence.com> <67da432f-9c95-d644-65b5-dbc5b942d24c@ti.com> <87va1dbokp.fsf@linux.intel.com> From: Roger Quadros Message-ID: <70967a02-2f02-9ac8-e205-cdbfac5fbbae@ti.com> Date: Mon, 4 Mar 2019 12:25:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: <87va1dbokp.fsf@linux.intel.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-GB Content-Transfer-Encoding: 8bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 21/02/2019 09:14, Felipe Balbi wrote: > > Hi, > > (please break your emails at 80-columns) > > Pawel Laszczak writes: >>>> One more thing. Workaround has implemented algorithm that decide for which >>>> endpoint it should be enabled. e.g for composite device MSC+NCM+ACM it >>>> should work only for ACM OUT endpoint. >>>> >>> >>> If ACM driver didn't queue the request for ACM OUT endpoint, why does the >>> controller accept the data at all? >>> >>> I didn't understand why we need a workaround for this. It should be standard >>> behaviour to NAK data if function driver didn't request for all endpoints. >> >> Yes, I agree with you. Controller shouldn’t accept such packet. As I know this >> behavior will be fixed in RTL. >> >> But I assume that some older version of this controller are one the market, >> and driver should work correct with them. >> >> In the feature this workaround can be limited only to selected controllers. >> >> Even now I assume that it can be enabled/disabled by module parameter. > > no module parameters, please. Use revision detection in runtime. > This is about whether to enable or disable the workaround. By default we don't want this workaround to be enabled. I'm debating whether we should have this workaround at all or not. It has the following problems. 1) It ACKs packets even when gadget end is not ready to accept the transfers. 2) It stores these packets in a temporary buffer and then pushes them to the gadget driver whenever the gadget driver is ready to process the data. 3) Since the gadget driver can become ready at an indefinite time in the future, it poses 2 problems: a) It is sending stale data to the sink. (problematic at next protocol level?) b) If this temporary buffer runs out we still hit the lock up issue. I think the right solution is to make sure that the gadget driver is always reading all the enabled OUT endpoints *or* (keep the OUT endpoints disabled if gadget driver is not ready to process OUT transfers). cheers, -roger -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki 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: [v4,6/6] usb:cdns3 Fix for stuck packets in on-chip OUT buffer. From: Roger Quadros Message-Id: <70967a02-2f02-9ac8-e205-cdbfac5fbbae@ti.com> Date: Mon, 4 Mar 2019 12:25:15 +0200 To: Felipe Balbi , Pawel Laszczak , "devicetree@vger.kernel.org" Cc: "gregkh@linuxfoundation.org" , "mark.rutland@arm.com" , "linux-usb@vger.kernel.org" , "hdegoede@redhat.com" , "heikki.krogerus@linux.intel.com" , "andy.shevchenko@gmail.com" , "robh+dt@kernel.org" , "linux-kernel@vger.kernel.org" , "jbergsagel@ti.com" , "nsekhar@ti.com" , "nm@ti.com" , Suresh Punnoose , "peter.chen@nxp.com" , Rahul Kumar List-ID: SGksCgpPbiAyMS8wMi8yMDE5IDA5OjE0LCBGZWxpcGUgQmFsYmkgd3JvdGU6Cj4gCj4gSGksCj4g Cj4gKHBsZWFzZSBicmVhayB5b3VyIGVtYWlscyBhdCA4MC1jb2x1bW5zKQo+IAo+IFBhd2VsIExh c3pjemFrIDxwYXdlbGxAY2FkZW5jZS5jb20+IHdyaXRlczoKPj4+PiBPbmUgbW9yZSB0aGluZy4g V29ya2Fyb3VuZCBoYXMgaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHRoYXQgZGVjaWRlIGZvciB3aGlj aAo+Pj4+IGVuZHBvaW50IGl0IHNob3VsZCBiZSBlbmFibGVkLiAgZS5nIGZvciBjb21wb3NpdGUg ZGV2aWNlIE1TQytOQ00rQUNNIGl0Cj4+Pj4gc2hvdWxkIHdvcmsgb25seSBmb3IgQUNNIE9VVCBl bmRwb2ludC4KPj4+Pgo+Pj4KPj4+IElmIEFDTSBkcml2ZXIgZGlkbid0IHF1ZXVlIHRoZSByZXF1 ZXN0IGZvciBBQ00gT1VUIGVuZHBvaW50LCB3aHkgZG9lcyB0aGUKPj4+IGNvbnRyb2xsZXIgYWNj ZXB0IHRoZSBkYXRhIGF0IGFsbD8KPj4+Cj4+PiBJIGRpZG4ndCB1bmRlcnN0YW5kIHdoeSB3ZSBu ZWVkIGEgd29ya2Fyb3VuZCBmb3IgdGhpcy4gSXQgc2hvdWxkIGJlIHN0YW5kYXJkCj4+PiBiZWhh dmlvdXIgdG8gTkFLIGRhdGEgaWYgZnVuY3Rpb24gZHJpdmVyIGRpZG4ndCByZXF1ZXN0IGZvciBh bGwgZW5kcG9pbnRzLgo+Pgo+PiBZZXMsIEkgYWdyZWUgd2l0aCB5b3UuIENvbnRyb2xsZXIgc2hv dWxkbuKAmXQgYWNjZXB0IHN1Y2ggcGFja2V0LiBBcyBJIGtub3cgdGhpcwo+PiBiZWhhdmlvciB3 aWxsIGJlIGZpeGVkIGluIFJUTC4KPj4KPj4gQnV0IEkgYXNzdW1lIHRoYXQgc29tZSBvbGRlciB2 ZXJzaW9uIG9mIHRoaXMgY29udHJvbGxlciBhcmUgb25lIHRoZSBtYXJrZXQsCj4+IGFuZCBkcml2 ZXIgc2hvdWxkIHdvcmsgY29ycmVjdCB3aXRoIHRoZW0uCj4+Cj4+IEluIHRoZSBmZWF0dXJlIHRo aXMgd29ya2Fyb3VuZCBjYW4gYmUgbGltaXRlZCBvbmx5IHRvIHNlbGVjdGVkIGNvbnRyb2xsZXJz Lgo+Pgo+PiBFdmVuIG5vdyBJIGFzc3VtZSB0aGF0IGl0IGNhbiBiZSBlbmFibGVkL2Rpc2FibGVk IGJ5IG1vZHVsZSBwYXJhbWV0ZXIuCj4gCj4gbm8gbW9kdWxlIHBhcmFtZXRlcnMsIHBsZWFzZS4g VXNlIHJldmlzaW9uIGRldGVjdGlvbiBpbiBydW50aW1lLgo+IAoKVGhpcyBpcyBhYm91dCB3aGV0 aGVyIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSB3b3JrYXJvdW5kLgpCeSBkZWZhdWx0IHdlIGRv bid0IHdhbnQgdGhpcyB3b3JrYXJvdW5kIHRvIGJlIGVuYWJsZWQuCgpJJ20gZGViYXRpbmcgd2hl dGhlciB3ZSBzaG91bGQgaGF2ZSB0aGlzIHdvcmthcm91bmQgYXQgYWxsIG9yIG5vdC4KCkl0IGhh cyB0aGUgZm9sbG93aW5nIHByb2JsZW1zLgoKMSkgSXQgQUNLcyBwYWNrZXRzIGV2ZW4gd2hlbiBn YWRnZXQgZW5kIGlzIG5vdCByZWFkeSB0byBhY2NlcHQgdGhlIHRyYW5zZmVycy4KMikgSXQgc3Rv cmVzIHRoZXNlIHBhY2tldHMgaW4gYSB0ZW1wb3JhcnkgYnVmZmVyIGFuZCB0aGVuIHB1c2hlcyB0 aGVtIHRvIHRoZQpnYWRnZXQgZHJpdmVyIHdoZW5ldmVyIHRoZSBnYWRnZXQgZHJpdmVyIGlzIHJl YWR5IHRvIHByb2Nlc3MgdGhlIGRhdGEuCjMpIFNpbmNlIHRoZSBnYWRnZXQgZHJpdmVyIGNhbiBi ZWNvbWUgcmVhZHkgYXQgYW4gaW5kZWZpbml0ZSB0aW1lIGluIHRoZQpmdXR1cmUsIGl0IHBvc2Vz IDIgcHJvYmxlbXM6CiBhKSBJdCBpcyBzZW5kaW5nIHN0YWxlIGRhdGEgdG8gdGhlIHNpbmsuIChw cm9ibGVtYXRpYyBhdCBuZXh0IHByb3RvY29sIGxldmVsPykKIGIpIElmIHRoaXMgdGVtcG9yYXJ5 IGJ1ZmZlciBydW5zIG91dCB3ZSBzdGlsbCBoaXQgdGhlIGxvY2sgdXAgaXNzdWUuCgpJIHRoaW5r IHRoZSByaWdodCBzb2x1dGlvbiBpcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZ2FkZ2V0IGRyaXZl ciBpcyBhbHdheXMKcmVhZGluZyBhbGwgdGhlIGVuYWJsZWQgT1VUIGVuZHBvaW50cyAqb3IqIChr ZWVwIHRoZSBPVVQgZW5kcG9pbnRzIGRpc2FibGVkCmlmIGdhZGdldCBkcml2ZXIgaXMgbm90IHJl YWR5IHRvIHByb2Nlc3MgT1VUIHRyYW5zZmVycykuCgpjaGVlcnMsCi1yb2dlcgo=