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: Paul Elder Message-Id: <20181214002538.GA7477@garnet.amanokami.net> Date: Thu, 13 Dec 2018 19:25:38 -0500 To: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com Cc: Nicolas Boichat , b-liu@ti.com, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, balbi@kernel.org, balbi@ti.com List-ID: T24gVHVlLCBPY3QgMDksIDIwMTggYXQgMDI6MzI6MjBBTSAtMDQwMCwgUGF1bCBFbGRlciB3cm90 ZToKPiBIYW5kbGluZyBzaG9ydCBwYWNrZXRzIChsZW5ndGggPCBtYXggcGFja2V0IHNpemUpIGlu IHRoZSBJbnZlbnRyYSBETUEKPiBlbmdpbmUgaW4gdGhlIE1VU0IgZHJpdmVyIGNhdXNlcyB0aGUg TVVTQiBETUEgY29udHJvbGxlciB0byBoYW5nLiBBbgo+IGV4YW1wbGUgb2YgYSBwcm9ibGVtIHRo YXQgaXMgY2F1c2VkIGJ5IHRoaXMgcHJvYmxlbSBpcyB3aGVuIHN0cmVhbWluZwo+IHZpZGVvIG91 dCBvZiBhIFVWQyBnYWRnZXQsIG9ubHkgdGhlIGZpcnN0IHZpZGVvIGZyYW1lIGlzIHRyYW5zZmVy cmVkLgo+IAo+IEZvciBzaG9ydCBwYWNrZXRzIChtb2RlLTAgb3IgbW9kZS0xIERNQSksIE1VU0Jf VFhDU1JfVFhQS1RSRFkgbXVzdCBiZQo+IHNldCBtYW51YWxseSBieSB0aGUgZHJpdmVyLiBUaGlz IHdhcyBwcmV2aW91c2x5IGRvbmUgaW4gbXVzYl9nX3R4Cj4gKG11c2JfZ2FkZ2V0LmMpLCBidXQg aW5jb3JyZWN0bHkgKGFsbCBjc3IgZmxhZ3Mgd2VyZSBjbGVhcmVkLCBhbmQgb25seQo+IE1VU0Jf VFhDU1JfTU9ERSBhbmQgTVVTQl9UWENTUl9UWFBLVFJEWSkuIEZpeGluZyB0aGF0IHByb2JsZW0g YWxsb3dzCj4gc29tZSByZXF1ZXN0cyB0byBiZSB0cmFuc2ZlcnJlZCBjb3JyZWN0bHksIGJ1dCBt dWx0aXBsZSByZXF1ZXN0cyB3ZXJlCj4gb2Z0ZW4gcHV0IHRvZ2V0aGVyIGluIG9uZSBVU0IgcGFj a2V0LCBhbmQgY2F1c2VkIHByb2JsZW1zIGlmIHRoZSBwYWNrZXQKPiBzaXplIHdhcyBub3QgYSBt dWx0aXBsZSBvZiA0Lgo+IAo+IEluc3RlYWQsIE1VU0JfVFhDU1JfVFhQS1RSRFkgaXMgc2V0IGlu IGRtYV9jb250cm9sbGVyX2lycSAobXVzYmhzZG1hLmMpLAo+IGp1c3QgbGlrZSBob3N0IG1vZGUg dHJhbnNmZXJzLCB0aGVuIG11c2JfZ190eCBmb3JjZXMgdGhlIHBhY2tldCB0byBiZQo+IGZsdXNo ZWQsIGJ5IHNldHRpbmcgTVVTQl9UWENTUl9GTFVTSEZJRk8uCj4gCj4gVGhpcyB0b3BpYyB3YXMg b3JpZ2luYWxseSB0YWNrbGVkIGJ5IE5pY29sYXMgQm9pY2hhdCBbMF0gWzFdIGFuZCBpcyBkaXNj dXNzZWQKPiBmdXJ0aGVyIGF0IFsyXSBhcyBwYXJ0IG9mIGhpcyBHU29DIHByb2plY3QgWzNdLgo+ IAo+IFswXSBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2ZvcnVtLz9obD1lbiMhdG9waWMvYmVh Z2xlYm9hcmQtZ3NvYy9rOEF6d2ZwNzVDVQo+IFsxXSBodHRwczovL2dpdG9yaW91cy5vcmcvYmVh Z2xlYm9hcmQtdXNic25pZmZlci9iZWFnbGVib2FyZC11c2JzbmlmZmVyLWtlcm5lbC9jb21taXQv YjBiZTNiNmNjMTk1YmE3MzIxODliMDRmMWQ0M2VjODQzYzNlNTRjOT9wPWJlYWdsZWJvYXJkLXVz YnNuaWZmZXI6YmVhZ2xlYm9hcmQtdXNic25pZmZlci1rZXJuZWwuZ2l0O2E9cGF0Y2g7aD1iMGJl M2I2Y2MxOTViYTczMjE4OWIwNGYxZDQzZWM4NDNjM2U1NGM5Cj4gWzJdIGh0dHA6Ly9iZWFnbGVi b2FyZC11c2JzbmlmZmVyLmJsb2dzcG90LmNvbS8yMDEwLzA3L211c2ItaXNvY2hyb25vdXMtdHJh bnNmZXJzLWZpeGVkLmh0bWwKPiBbM10gaHR0cDovL2VsaW51eC5vcmcvQmVhZ2xlQm9hcmQvR1Nv Qy9VU0JTbmlmZmVyCj4gCj4gSSBoYXZlIGZvcndhcmQtcG9ydGVkIHRoaXMgcGF0Y2ggZnJvbSAy LjYuMzQgdG8gNC4xOS1yYzEuCj4gCj4gU2lnbmVkLW9mZi1ieTogUGF1bCBFbGRlciA8cGF1bC5l bGRlckBpZGVhc29uYm9hcmQuY29tPgoKSGVsbG8gYWxsLAoKcGluZwoKSSB3YXMgd29uZGVyaW5n IGlmIGFueSBvZiB5b3UgaGFkIGEgY2hhbmNlIHRvIHRha2UgYSBsb29rIGF0IHRoaXMgeWV0LgoK VGhhbmtzLAoKUGF1bAoKPiAtLS0KPiAgZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jIHwg MjEgKysrKysrKysrKysrKystLS0tLS0tCj4gIGRyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMg ICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2Vy dGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9t dXNiL211c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKPiBpbmRl eCBlYWU4YjFiMWI0NWIuLmQzZjMzZjQ0OTQ0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9t dXNiL211c2JfZ2FkZ2V0LmMKPiArKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMK PiBAQCAtNDc5LDExICs0NzksMTYgQEAgdm9pZCBtdXNiX2dfdHgoc3RydWN0IG11c2IgKm11c2Is IHU4IGVwbnVtKQo+ICAJCQkmJiAocmVxdWVzdC0+YWN0dWFsID09IHJlcXVlc3QtPmxlbmd0aCkp Cj4gIAkJCQlzaG9ydF9wYWNrZXQgPSB0cnVlOwo+ICAKPiAtCQlpZiAoKG11c2JfZG1hX2ludmVu dHJhKG11c2IpIHx8IG11c2JfZG1hX3V4NTAwKG11c2IpKSAmJgo+IC0JCQkoaXNfZG1hICYmICgh ZG1hLT5kZXNpcmVkX21vZGUgfHwKPiAtCQkJCShyZXF1ZXN0LT5hY3R1YWwgJgo+IC0JCQkJCSht dXNiX2VwLT5wYWNrZXRfc3ogLSAxKSkpKSkKPiAtCQkJCXNob3J0X3BhY2tldCA9IHRydWU7Cj4g KwkJaWYgKGlzX2RtYSAmJiAobXVzYl9kbWFfaW52ZW50cmEobXVzYikgfHwgbXVzYl9kbWFfdXg1 MDAobXVzYikpKSB7Cj4gKwkJCWlmICghZG1hLT5kZXNpcmVkX21vZGUgfHwKPiArCQkJCQlyZXF1 ZXN0LT5hY3R1YWwgJSBtdXNiX2VwLT5wYWNrZXRfc3opIHsKPiArCQkJCW11c2JfZGJnKG11c2Is ICIlcyBGbHVzaGluZyAoRklGTykgRVAgOiBLUEJcbiIsCj4gKwkJCQkJCW11c2JfZXAtPmVuZF9w b2ludC5uYW1lKTsKPiArCQkJCW11c2Jfd3JpdGV3KGVwaW8sIE1VU0JfVFhDU1IsCj4gKwkJCQkJ CWNzciB8IE1VU0JfVFhDU1JfRkxVU0hGSUZPKTsKPiArCQkJCXJldHVybjsKPiArCQkJfQo+ICsJ CX0KPiAgCj4gIAkJaWYgKHNob3J0X3BhY2tldCkgewo+ICAJCQkvKgo+IEBAIC00OTMsOCArNDk4 LDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiAgCQkJ aWYgKGNzciAmIE1VU0JfVFhDU1JfVFhQS1RSRFkpCj4gIAkJCQlyZXR1cm47Cj4gIAo+IC0JCQlt dXNiX3dyaXRldyhlcGlvLCBNVVNCX1RYQ1NSLCBNVVNCX1RYQ1NSX01PREUKPiAtCQkJCQl8IE1V U0JfVFhDU1JfVFhQS1RSRFkpOwo+ICsJCQltdXNiX2RiZyhtdXNiLCAic2VuZGluZyB6ZXJvIHBr dCAoemVybz0lZCwgbGVuZ3RoPSVkLCBhY3R1YWw9JWQsIGRtYS0+ZGVzaXJlZF9tb2RlPSVkKVxu IiwKPiArCQkJCSByZXF1ZXN0LT56ZXJvLCByZXF1ZXN0LT5sZW5ndGgsIHJlcXVlc3QtPmFjdHVh bCwKPiArCQkJCSBkbWEtPmRlc2lyZWRfbW9kZSk7Cj4gKwkJCW11c2Jfd3JpdGV3KGVwaW8sIE1V U0JfVFhDU1IsIGNzciB8IE1VU0JfVFhDU1JfVFhQS1RSRFkpOwo+ICAJCQlyZXF1ZXN0LT56ZXJv ID0gMDsKPiAgCQl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2Rt YS5jIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYwo+IGluZGV4IGE2ODhmN2Y4NzgyOS4u ZTUxNGQ0NzAwYTZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMK PiArKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jCj4gQEAgLTM0NiwxMiArMzQ2LDEw IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBkbWFfY29udHJvbGxlcl9pcnEoaW50IGlycSwgdm9pZCAq cHJpdmF0ZV9kYXRhKQo+ICAJCQkJY2hhbm5lbC0+c3RhdHVzID0gTVVTQl9ETUFfU1RBVFVTX0ZS RUU7Cj4gIAo+ICAJCQkJLyogY29tcGxldGVkICovCj4gLQkJCQlpZiAoKGRldmN0bCAmIE1VU0Jf REVWQ1RMX0hNKQo+IC0JCQkJCSYmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0KQo+IC0JCQkJCSYm ICgoY2hhbm5lbC0+ZGVzaXJlZF9tb2RlID09IDApCj4gLQkJCQkJICAgIHx8IChjaGFubmVsLT5h Y3R1YWxfbGVuICYKPiAtCQkJCQkgICAgKG11c2JfY2hhbm5lbC0+bWF4X3BhY2tldF9zeiAtIDEp KSkKPiAtCQkJCSAgICApIHsKPiArCQkJCWlmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0ICYmCj4g KwkJCQkgICAgKCFjaGFubmVsLT5kZXNpcmVkX21vZGUgfHwKPiArCQkJCSAgICAgKGNoYW5uZWwt PmFjdHVhbF9sZW4gJQo+ICsJCQkJICAgICAgbXVzYl9jaGFubmVsLT5tYXhfcGFja2V0X3N6KSkp IHsKPiAgCQkJCQl1OCAgZXBudW0gID0gbXVzYl9jaGFubmVsLT5lcG51bTsKPiAgCQkJCQlpbnQg b2Zmc2V0ID0gbXVzYi0+aW8uZXBfb2Zmc2V0KGVwbnVtLAo+ICAJCQkJCQkJCSAgICBNVVNCX1RY Q1NSKTsKPiBAQCAtMzYzLDExICszNjEsMTQgQEAgc3RhdGljIGlycXJldHVybl90IGRtYV9jb250 cm9sbGVyX2lycShpbnQgaXJxLCB2b2lkICpwcml2YXRlX2RhdGEpCj4gIAkJCQkJICovCj4gIAkJ CQkJbXVzYl9lcF9zZWxlY3QobWJhc2UsIGVwbnVtKTsKPiAgCQkJCQl0eGNzciA9IG11c2JfcmVh ZHcobWJhc2UsIG9mZnNldCk7Cj4gLQkJCQkJdHhjc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIK PiArCQkJCQlpZiAoY2hhbm5lbC0+ZGVzaXJlZF9tb2RlID09IDEpIHsKPiArCQkJCQkJdHhjc3Ig Jj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIKPiAgCQkJCQkJCXwgTVVTQl9UWENTUl9BVVRPU0VUKTsK PiAtCQkJCQltdXNiX3dyaXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNzcik7Cj4gLQkJCQkJLyogU2Vu ZCBvdXQgdGhlIHBhY2tldCAqLwo+IC0JCQkJCXR4Y3NyICY9IH5NVVNCX1RYQ1NSX0RNQU1PREU7 Cj4gKwkJCQkJCW11c2Jfd3JpdGV3KG1iYXNlLCBvZmZzZXQsIHR4Y3NyKTsKPiArCQkJCQkJLyog U2VuZCBvdXQgdGhlIHBhY2tldCAqLwo+ICsJCQkJCQl0eGNzciAmPSB+TVVTQl9UWENTUl9ETUFN T0RFOwo+ICsJCQkJCQl0eGNzciB8PSBNVVNCX1RYQ1NSX0RNQUVOQUI7Cj4gKwkJCQkJfQo+ICAJ CQkJCXR4Y3NyIHw9ICBNVVNCX1RYQ1NSX1RYUEtUUkRZOwo+ICAJCQkJCW11c2Jfd3JpdGV3KG1i YXNlLCBvZmZzZXQsIHR4Y3NyKTsKPiAgCQkJCX0KPiAtLSAKPiAyLjE4LjAKPgo=