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: gadget: musb: fix short isoc packets with inventra dma for pandaboard es From: Bin Liu Message-Id: <20190108161158.GH25910@uda0271908> Date: Tue, 8 Jan 2019 10:11:58 -0600 To: Paul Elder Cc: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com, Nicolas Boichat , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, balbi@kernel.org List-ID: T24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMTE6NDU6MjRQTSAtMDUwMCwgUGF1bCBFbGRlciB3cm90 ZToKPiBIaSBCaW4sCj4gCj4gT24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMDE6MTE6NTdQTSAtMDYw MCwgQmluIExpdSB3cm90ZToKPiA+IEhpIFBhdWwsCj4gPiAKPiA+IFNvcnJ5IGZvciB0aGUgZGVs YXkgb24gcmV2aWV3aW5nIGl0Lgo+IAo+IFRoYW5rcyBmb3IgdGhlIHJldmlldy4KPiAKPiA+IEZv ciB0aGUgc3ViamVjdCwgY2FuIHlvdSBwbGVhc2UgdXNlCj4gPiAKPiA+IAl1c2I6IG11c2I6IGdh ZGdldDogZml4IHNob3J0IGlzb2MgcGFja2V0cyB3aXRoIGludmVudHJhIGRtYQo+IAo+IGFjawo+ IAo+ID4gT24gVHVlLCBPY3QgMDksIDIwMTggYXQgMDI6MzI6MjBBTSAtMDQwMCwgUGF1bCBFbGRl ciB3cm90ZToKPiA+ID4gSGFuZGxpbmcgc2hvcnQgcGFja2V0cyAobGVuZ3RoIDwgbWF4IHBhY2tl dCBzaXplKSBpbiB0aGUgSW52ZW50cmEgRE1BCj4gPiA+IGVuZ2luZSBpbiB0aGUgTVVTQiBkcml2 ZXIgY2F1c2VzIHRoZSBNVVNCIERNQSBjb250cm9sbGVyIHRvIGhhbmcuIEFuCj4gPiA+IGV4YW1w bGUgb2YgYSBwcm9ibGVtIHRoYXQgaXMgY2F1c2VkIGJ5IHRoaXMgcHJvYmxlbSBpcyB3aGVuIHN0 cmVhbWluZwo+ID4gPiB2aWRlbyBvdXQgb2YgYSBVVkMgZ2FkZ2V0LCBvbmx5IHRoZSBmaXJzdCB2 aWRlbyBmcmFtZSBpcyB0cmFuc2ZlcnJlZC4KPiA+ID4gCj4gPiA+IEZvciBzaG9ydCBwYWNrZXRz IChtb2RlLTAgb3IgbW9kZS0xIERNQSksIE1VU0JfVFhDU1JfVFhQS1RSRFkgbXVzdCBiZQo+ID4g PiBzZXQgbWFudWFsbHkgYnkgdGhlIGRyaXZlci4gVGhpcyB3YXMgcHJldmlvdXNseSBkb25lIGlu IG11c2JfZ190eAo+ID4gPiAobXVzYl9nYWRnZXQuYyksIGJ1dCBpbmNvcnJlY3RseSAoYWxsIGNz ciBmbGFncyB3ZXJlIGNsZWFyZWQsIGFuZCBvbmx5Cj4gPiA+IE1VU0JfVFhDU1JfTU9ERSBhbmQg TVVTQl9UWENTUl9UWFBLVFJEWSkuIEZpeGluZyB0aGF0IHByb2JsZW0gYWxsb3dzCj4gPiA+IHNv bWUgcmVxdWVzdHMgdG8gYmUgdHJhbnNmZXJyZWQgY29ycmVjdGx5LCBidXQgbXVsdGlwbGUgcmVx dWVzdHMgd2VyZQo+ID4gPiBvZnRlbiBwdXQgdG9nZXRoZXIgaW4gb25lIFVTQiBwYWNrZXQsIGFu ZCBjYXVzZWQgcHJvYmxlbXMgaWYgdGhlIHBhY2tldAo+ID4gPiBzaXplIHdhcyBub3QgYSBtdWx0 aXBsZSBvZiA0Lgo+ID4gPiAKPiA+ID4gSW5zdGVhZCwgTVVTQl9UWENTUl9UWFBLVFJEWSBpcyBz ZXQgaW4gZG1hX2NvbnRyb2xsZXJfaXJxIChtdXNiaHNkbWEuYyksCj4gPiA+IGp1c3QgbGlrZSBo b3N0IG1vZGUgdHJhbnNmZXJzLCB0aGVuIG11c2JfZ190eCBmb3JjZXMgdGhlIHBhY2tldCB0byBi ZQo+ID4gPiBmbHVzaGVkLCBieSBzZXR0aW5nIE1VU0JfVFhDU1JfRkxVU0hGSUZPLgoKVGhpcyBz aG91bGQgYmUgcmV3b3JkZWQsIHNpbmNlIHdlIGRvbid0IHNldCBNVVNCX1RYQ1NSX0ZMVVNIRklG TyBpbiB0aGUKY29kZS4KCj4gPiA+IAo+ID4gPiBUaGlzIHRvcGljIHdhcyBvcmlnaW5hbGx5IHRh Y2tsZWQgYnkgTmljb2xhcyBCb2ljaGF0IFswXSBbMV0gYW5kIGlzIGRpc2N1c3NlZAo+ID4gCj4g PiB0aGlzIGxpbmUgaXMgbG9uZ2VyIHRoYW4gNzUgY2hhcnMuCj4gCj4gYWNrCj4gCj4gPiA+IGZ1 cnRoZXIgYXQgWzJdIGFzIHBhcnQgb2YgaGlzIEdTb0MgcHJvamVjdCBbM10uCj4gPiA+IAo+ID4g PiBbMF0gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8/aGw9ZW4jIXRvcGljL2JlYWds ZWJvYXJkLWdzb2MvazhBendmcDc1Q1UKPiA+ID4gWzFdIGh0dHBzOi8vZ2l0b3Jpb3VzLm9yZy9i ZWFnbGVib2FyZC11c2JzbmlmZmVyL2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIta2VybmVsL2NvbW1p dC9iMGJlM2I2Y2MxOTViYTczMjE4OWIwNGYxZDQzZWM4NDNjM2U1NGM5P3A9YmVhZ2xlYm9hcmQt dXNic25pZmZlcjpiZWFnbGVib2FyZC11c2JzbmlmZmVyLWtlcm5lbC5naXQ7YT1wYXRjaDtoPWIw YmUzYjZjYzE5NWJhNzMyMTg5YjA0ZjFkNDNlYzg0M2MzZTU0YzkKPiA+ID4gWzJdIGh0dHA6Ly9i ZWFnbGVib2FyZC11c2JzbmlmZmVyLmJsb2dzcG90LmNvbS8yMDEwLzA3L211c2ItaXNvY2hyb25v dXMtdHJhbnNmZXJzLWZpeGVkLmh0bWwKPiA+ID4gWzNdIGh0dHA6Ly9lbGludXgub3JnL0JlYWds ZUJvYXJkL0dTb0MvVVNCU25pZmZlcgo+ID4gPiAKPiA+ID4gSSBoYXZlIGZvcndhcmQtcG9ydGVk IHRoaXMgcGF0Y2ggZnJvbSAyLjYuMzQgdG8gNC4xOS1yYzEuCj4gPiAKPiA+IHRoaXMgbGluZSBp cyBpcnJlbGV2YW50IHRvIHRoZSBjb21taXQgbWVzc2FnZSwgcGxlYXNlIG1vdmUgaXQgZG93biB0 bwo+ID4gdW5kZXIgJy0tLScuCj4gCj4gYWNrCj4gCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBQYXVsIEVsZGVyIDxwYXVsLmVsZGVyQGlkZWFzb25ib2FyZC5jb20+Cj4gPiA+IC0tLQo+ID4g PiAgZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jIHwgMjEgKysrKysrKysrKysrKystLS0t LS0tCj4gPiA+ICBkcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jICAgfCAyMSArKysrKysrKysr Ky0tLS0tLS0tLS0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTcg ZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9t dXNiX2dhZGdldC5jIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jCj4gPiA+IGluZGV4 IGVhZThiMWIxYjQ1Yi4uZDNmMzNmNDQ5NDQ1IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3Vz Yi9tdXNiL211c2JfZ2FkZ2V0LmMKPiA+ID4gKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dh ZGdldC5jCj4gPiA+IEBAIC00NzksMTEgKzQ3OSwxNiBAQCB2b2lkIG11c2JfZ190eChzdHJ1Y3Qg bXVzYiAqbXVzYiwgdTggZXBudW0pCj4gPiA+ICAJCQkmJiAocmVxdWVzdC0+YWN0dWFsID09IHJl cXVlc3QtPmxlbmd0aCkpCj4gPiA+ICAJCQkJc2hvcnRfcGFja2V0ID0gdHJ1ZTsKPiA+ID4gIAo+ ID4gPiAtCQlpZiAoKG11c2JfZG1hX2ludmVudHJhKG11c2IpIHx8IG11c2JfZG1hX3V4NTAwKG11 c2IpKSAmJgo+ID4gPiAtCQkJKGlzX2RtYSAmJiAoIWRtYS0+ZGVzaXJlZF9tb2RlIHx8Cj4gPiA+ IC0JCQkJKHJlcXVlc3QtPmFjdHVhbCAmCj4gPiA+IC0JCQkJCShtdXNiX2VwLT5wYWNrZXRfc3og LSAxKSkpKSkKPiA+ID4gLQkJCQlzaG9ydF9wYWNrZXQgPSB0cnVlOwo+ID4gPiArCQlpZiAoaXNf ZG1hICYmIChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBtdXNiX2RtYV91eDUwMChtdXNiKSkp IHsKPiA+IAo+ID4gbW9yZSB0aGFuIDgwIGNoYXJzLgo+ID4KPiA+ID4gKwkJCWlmICghZG1hLT5k ZXNpcmVkX21vZGUgfHwKPiA+IAo+ID4gSSB1bmRlcnN0YW5kIHlvdSBmb3J3YXJkLXBvcnQgTmlj b2xhcycgcGF0Y2gsIGJ1dCBkbyB5b3UgaGF2ZSBhIHNwZWNpZmljCj4gPiByZWFkb24gdG8gcmUt d3JpdGUgdGhpcyAnaWYnIGNvbmRpdGlvbj8gSSdkIGxpa2UgdG8gc2VlIG1pbmltdW0gY29kZQo+ ID4gY2hhbmdlIGluIGJ1ZyBmaXhlcywKPiA+Cj4gPiA+ICsJCQkJCXJlcXVlc3QtPmFjdHVhbCAl IG11c2JfZXAtPnBhY2tldF9zeikgewo+ID4gCj4gPiBidXQgSSBsaWtlIHRoaXMgdmVyc2lvbiB0 aG91Z2gsIGVhc2llciB0byByZWFkLgo+ID4gCj4gPiA+ICsJCQkJbXVzYl9kYmcobXVzYiwgIiVz IEZsdXNoaW5nIChGSUZPKSBFUCA6IEtQQlxuIiwKPiA+IAo+ID4gd2hhdCBpcyAnS1BCJz8gdGhl IG1lc3NhZ2UgY291bGQgYmUgbW9yZSBtZWFuaW5nZnVsPwo+ID4gCj4gPiA+ICsJCQkJCQltdXNi X2VwLT5lbmRfcG9pbnQubmFtZSk7Cj4gPiA+ICsJCQkJbXVzYl93cml0ZXcoZXBpbywgTVVTQl9U WENTUiwKPiA+ID4gKwkJCQkJCWNzciB8IE1VU0JfVFhDU1JfRkxVU0hGSUZPKTsKPiA+IAo+ID4g V2hhdCBpZiB3aXRob3V0IHRoaXMgbGluZT8gVGhlIHNob3J0IHBhY2tldCBkb2Vzbid0IHNlbmQg b3V0PyAgc2V0dGluZwo+ID4gVFhTQ1JfVFhQS1RSRFkgaW4gdGhlIGRtYSBkcml2ZXIgaXMgbm90 IHN1ZmZpY2llbnQ/ICBUWFNDUl9GTFVTSEZJRk8gaXMKPiA+IG9ubHkgdXNlZCBmb3IgYWJvcnRp bmcgY2FzZXMuCj4gCj4gSSBqdXN0IHRlc3RlZCB0aGlzIGFuZCB5b3UgYXJlIHJpZ2h0LCBpdCBk b2VzIHdvcmsgd2l0aG91dCB0aGlzIGxpbmUuCj4gU2luY2UgdGhpcyBpcyB0aGUgb25seSBzaWdu aWZpY2FudCBsaW5lIGluIHRoaXMgdmVyeSBjb21wbGV4IGlmIGJsb2NrLAo+IEknbGwganVzdCBy ZW1vdmUgdGhpcyBlbnRpcmUgYmxvY2sgdG9vLgo+IAo+ID4gPiArCQkJCXJldHVybjsKPiA+ID4g KwkJCX0KPiA+ID4gKwkJfQo+ID4gPiAgCj4gPiA+ICAJCWlmIChzaG9ydF9wYWNrZXQpIHsKPiA+ ID4gIAkJCS8qCj4gPiA+IEBAIC00OTMsOCArNDk4LDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVj dCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiA+ID4gIAkJCWlmIChjc3IgJiBNVVNCX1RYQ1NSX1RY UEtUUkRZKQo+ID4gPiAgCQkJCXJldHVybjsKPiA+ID4gIAo+ID4gPiAtCQkJbXVzYl93cml0ZXco ZXBpbywgTVVTQl9UWENTUiwgTVVTQl9UWENTUl9NT0RFCj4gPiA+IC0JCQkJCXwgTVVTQl9UWENT Ul9UWFBLVFJEWSk7Cj4gPiA+ICsJCQltdXNiX2RiZyhtdXNiLCAic2VuZGluZyB6ZXJvIHBrdCAo emVybz0lZCwgbGVuZ3RoPSVkLCBhY3R1YWw9JWQsIGRtYS0+ZGVzaXJlZF9tb2RlPSVkKVxuIiwK CmFjdHVhbGx5IHRoaXMgaXMgbm90IGEgJ3plcm8nIHBhY2tldCwgaXQgaXMgYSBzaG9ydCBwYWNr ZXQuCgo+ID4gPiArCQkJCSByZXF1ZXN0LT56ZXJvLCByZXF1ZXN0LT5sZW5ndGgsIHJlcXVlc3Qt PmFjdHVhbCwKPiA+IAo+ID4gbW9yZSB0aGFuIDgwIGNoYXJzLgo+IAo+IFRoZSBmb3JtYXQgc3Ry aW5nIG9yIHRoZSBwYXJhbWV0ZXJzPwoKTmV2ZXIgbWluZC4gSSBtZWFudCB0aGUgcGFyYW1ldGVy cywgYnV0IGl0IGlzIG9ubHkgMSBjaGFyIGxvbmdlciwganVzdApsZWF2ZSBpdCBsaWtlIHRoaXMu Cgo+IAo+ID4gCj4gPiA+ICsJCQkJIGRtYS0+ZGVzaXJlZF9tb2RlKTsKPiA+ID4gKwkJCW11c2Jf d3JpdGV3KGVwaW8sIE1VU0JfVFhDU1IsIGNzciB8IE1VU0JfVFhDU1JfVFhQS1RSRFkpOwo+ID4g Cj4gPiBtb3JlIHRoYW4gODAgY2hhcnMuCj4gCj4gSXQncyBvbmx5IGJ5IDEgY2hhcmFjdGVyLiBT aG91bGQgSSBzdGlsbCBwdXQgdGhlIGxhc3QgYXJndW1lbnQgb24gYSBuZXcKPiBsaW5lPwoKc2Ft ZSBoZXJlLCBuZXZlciBtaW5kIG15IGNvbW1lbnQuCgo+IAo+ID4gCj4gPiA+ICAJCQlyZXF1ZXN0 LT56ZXJvID0gMDsKPiA+ID4gIAkJfQo+ID4gPiAgCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3VzYi9tdXNiL211c2Joc2RtYS5jIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYwo+ID4g PiBpbmRleCBhNjg4ZjdmODc4MjkuLmU1MTRkNDcwMGE2YiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYwo+ID4gPiArKysgYi9kcml2ZXJzL3VzYi9tdXNiL211 c2Joc2RtYS5jCj4gPiA+IEBAIC0zNDYsMTIgKzM0NiwxMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg ZG1hX2NvbnRyb2xsZXJfaXJxKGludCBpcnEsIHZvaWQgKnByaXZhdGVfZGF0YSkKPiA+ID4gIAkJ CQljaGFubmVsLT5zdGF0dXMgPSBNVVNCX0RNQV9TVEFUVVNfRlJFRTsKPiA+ID4gIAo+ID4gPiAg CQkJCS8qIGNvbXBsZXRlZCAqLwo+ID4gPiAtCQkJCWlmICgoZGV2Y3RsICYgTVVTQl9ERVZDVExf SE0pCj4gPiA+IC0JCQkJCSYmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0KQo+ID4gPiAtCQkJCQkm JiAoKGNoYW5uZWwtPmRlc2lyZWRfbW9kZSA9PSAwKQo+ID4gPiAtCQkJCQkgICAgfHwgKGNoYW5u ZWwtPmFjdHVhbF9sZW4gJgo+ID4gPiAtCQkJCQkgICAgKG11c2JfY2hhbm5lbC0+bWF4X3BhY2tl dF9zeiAtIDEpKSkKPiA+ID4gLQkJCQkgICAgKSB7Cj4gPiA+ICsJCQkJaWYgKG11c2JfY2hhbm5l bC0+dHJhbnNtaXQgJiYKPiA+ID4gKwkJCQkgICAgKCFjaGFubmVsLT5kZXNpcmVkX21vZGUgfHwK PiA+ID4gKwkJCQkgICAgIChjaGFubmVsLT5hY3R1YWxfbGVuICUKPiA+ID4gKwkJCQkgICAgICBt dXNiX2NoYW5uZWwtPm1heF9wYWNrZXRfc3opKSkgewo+ID4gCj4gPiBpbXByb3BlciBpbmRlbnRh dGlvbi4KPiAKPiBhY2suIFlvdSBkb24ndCB0aGluayB0aGlzIGlzIG1vcmUgcmVhZGFibGUgdGhh biBpZiBldmVyeXRoaW5nIHdhcyBsaW5lZAo+IHVwPwoKVGhlIG9yaWdpbmFsIHZlcnNpb24gaGFz IDQtY2hhcnMgaW5kZW50YXRpb24sIEkgdGhpbmsgaXQgaXMgY2xlYXJlci4KCj4gCj4gPiA+ICAJ CQkJCXU4ICBlcG51bSAgPSBtdXNiX2NoYW5uZWwtPmVwbnVtOwo+ID4gPiAgCQkJCQlpbnQgb2Zm c2V0ID0gbXVzYi0+aW8uZXBfb2Zmc2V0KGVwbnVtLAo+ID4gPiAgCQkJCQkJCQkgICAgTVVTQl9U WENTUik7Cj4gPiA+IEBAIC0zNjMsMTEgKzM2MSwxNCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZG1h X2NvbnRyb2xsZXJfaXJxKGludCBpcnEsIHZvaWQgKnByaXZhdGVfZGF0YSkKPiA+ID4gIAkJCQkJ ICovCj4gPiA+ICAJCQkJCW11c2JfZXBfc2VsZWN0KG1iYXNlLCBlcG51bSk7Cj4gPiA+ICAJCQkJ CXR4Y3NyID0gbXVzYl9yZWFkdyhtYmFzZSwgb2Zmc2V0KTsKPiA+ID4gLQkJCQkJdHhjc3IgJj0g fihNVVNCX1RYQ1NSX0RNQUVOQUIKPiA+ID4gKwkJCQkJaWYgKGNoYW5uZWwtPmRlc2lyZWRfbW9k ZSA9PSAxKSB7Cj4gPiA+ICsJCQkJCQl0eGNzciAmPSB+KE1VU0JfVFhDU1JfRE1BRU5BQgo+ID4g PiAgCQkJCQkJCXwgTVVTQl9UWENTUl9BVVRPU0VUKTsKPiA+ID4gLQkJCQkJbXVzYl93cml0ZXco bWJhc2UsIG9mZnNldCwgdHhjc3IpOwo+ID4gPiAtCQkJCQkvKiBTZW5kIG91dCB0aGUgcGFja2V0 ICovCj4gPiA+IC0JCQkJCXR4Y3NyICY9IH5NVVNCX1RYQ1NSX0RNQU1PREU7Cj4gPiA+ICsJCQkJ CQltdXNiX3dyaXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNzcik7Cj4gPiAKPiA+IG1vcmUgdGhhbiA4 MCBjaGFycy4KPiAKPiBUaGlzIGlzIGFsc28gb25seSBieSAyIGNoYXJhY3RlcnM7IGRvIHlvdSBz dGlsbCB3YW50IGp1c3QgdGhlIGxhc3QKPiBhcmd1bWVudCBvbiBhIG5ldyBsaW5lPwoKbmV2ZXIg bWluZCBteSBjb21tZW50LgoKUmVnYXJkcywKLUJpbi4K