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: [v2] usb: add usb_fill_iso_urb() From: Laurent Pinchart Message-Id: <25147045.lgE5vyKaS2@avalon> Date: Thu, 09 Aug 2018 00:48:19 +0300 To: Sebastian Andrzej Siewior Cc: Alan Stern , linux-media@vger.kernel.org, Mauro Carvalho Chehab , linux-usb@vger.kernel.org, tglx@linutronix.de, Greg Kroah-Hartman , Takashi Iwai List-ID: SGkgU2ViYXN0aWFuLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBUaHVyc2RheSwgOSBB dWd1c3QgMjAxOCAwMDozMzo0OSBFRVNUIFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3Igd3JvdGU6 Cj4gUHJvdmlkZSB1c2JfZmlsbF9pc29fdXJiKCkgZm9yIHRoZSBpbml0aWFsaXNhdGlvbiBvZiBp c29jaHJvbm91cyBVUkJzLgo+IFdlIGFscmVhZHkgaGF2ZSBvbmUgb2YgdGhpcyBoZWxwZXJzIGZv ciBjb250cm9sLCBidWxrIGFuZCBpbnRlcnJ1cHRpYmxlCj4gVVJCIHR5cGVzLiBUaGlzIGhlbHBz IHRvIGtlZXAgdGhlIGluaXRpYWxpc2F0aW9uIG9mIHRoZSBVUkIgbWVtYmVycyBpbgo+IG9uZSBw bGFjZS4KPiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gYnkgYWRkaW5nIHRoaXMgdG8gdGhlIGF2 YWlsYWJsZSBpbml0IGZ1bmN0aW9ucwo+IGFuZCByZW1vdmUgdGhlIHN1Z2dlc3Rpb24gdG8gdXNl IHRoZSBgX2ludF8nIGhlbHBlciB3aGljaCBtaWdodCBwcm92aWRlCj4gd3JvbmcgZW5jb2Rpbmcg Zm9yIHRoZSBgaW50ZXJ2YWwnIG1lbWJlci4KPiAKPiBUaGlzIGxvb2tzIGxpa2UgaXQgd291bGQg Y292ZXIgbW9zdCB1c2VycyBuaWNlbHkuIFRoZSBzb3VuZCBzdWJzeXN0ZW0KPiBpbml0aWFsaXNl cyB0aGUgLT5pc29fZnJhbWVfZGVzY1tdLm9mZnNldCArIGxlbmd0aCBtZW1iZXIgYXQgYSBkaWZm ZXJlbnQKPiBsb2NhdGlvbiBhbmQgSSdtIG5vdCBzdXJlIC0+aW50ZXJ2YWwgd2lsbCB3b3JrIGFz IGV4cGVjdGVkLgo+IAo+IFNvbWUgdXNlcnMgYWxzbyBpbml0aWFsaXNlIC0+aXNvX2ZyYW1lX2Rl c2NbXS5hY3R1YWxfbGVuZ3RoIGJ1dCBJIGRvbid0Cj4gdGhpbmsgdGhhdCB0aGlzIGlzIHJlcXVp cmVkIHNpbmNlIGl0IGlzIHRoZSByZXR1cm4gdmFsdWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2Vi YXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgo+IC0tLQo+IFJG QyDigKYgdjI6Cj4gCS0gcmVwaHJhc2VkIHRoZSBpbnRlcnZhbCBkZXNjcmlwdGlvbiBhcyBwZXIg QWxhbiBTdGVybi4KPiAJLSBwYWNrZXRzIGFuZCBwYWNrZXRfc2l6ZSBjYW4gYmUgMCBzbyB0aGUg aW5pdGlhbGlzYXRpb24gb2YKPiAJICB0aG9zZSBtZW1iZXJzIHdpbGwgYmUgc2tpcHBlZC4gU3Vn Z2VzdGVkIGJ5IEFsYW4gU3Rlcm4sIGNhbWUKPiAJICBoYW5keSB3aGlsZSBjb252ZXJ0aW5nIGRy aXZlcnMuCj4gCS0gVXBkYXRlZCB3b3JkaW5nIGFzIHN1Z2dlc3RlZCBieSBMYXVyZW50IFBpbmNo YXJ0Lgo+IAo+ICBEb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdXNiL1VSQi5yc3QgfCAxMiArKyst LS0KPiAgaW5jbHVkZS9saW51eC91c2IuaCAgICAgICAgICAgICAgICAgIHwgNjAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyks IDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZHJpdmVyLWFw aS91c2IvVVJCLnJzdAo+IGIvRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3VzYi9VUkIucnN0IGlu ZGV4IDYxYTU0ZGE5ZmNlOS4uMjAwMzBiNzgxNTE5Cj4gMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRh dGlvbi9kcml2ZXItYXBpL3VzYi9VUkIucnN0Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kcml2ZXIt YXBpL3VzYi9VUkIucnN0Cj4gQEAgLTExNiwxMSArMTE2LDExIEBAIFdoYXQgaGFzIHRvIGJlIGZp bGxlZCBpbj8KPiAKPiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uLCB0aGVy ZSBhcmUgc29tZSBpbmxpbmUgZnVuY3Rpb25zCj4gIGRlZmluZWQgaW4gYGBsaW51eC91c2IuaGBg IHRvIHNpbXBsaWZ5IHRoZSBpbml0aWFsaXphdGlvbiwgc3VjaCBhcwo+IC06YzpmdW5jOmB1c2Jf ZmlsbF9jb250cm9sX3VyYmAsIDpjOmZ1bmM6YHVzYl9maWxsX2J1bGtfdXJiYCBhbmQKPiAtOmM6 ZnVuYzpgdXNiX2ZpbGxfaW50X3VyYmAuICBJbiBnZW5lcmFsLCB0aGV5IG5lZWQgdGhlIHVzYiBk ZXZpY2UgcG9pbnRlciwKPiAtdGhlIHBpcGUgKHVzdWFsIGZvcm1hdCBmcm9tIHVzYi5oKSwgdGhl IHRyYW5zZmVyIGJ1ZmZlciwgdGhlIGRlc2lyZWQKPiB0cmFuc2ZlciAtbGVuZ3RoLCB0aGUgY29t cGxldGlvbiBoYW5kbGVyLCBhbmQgaXRzIGNvbnRleHQuIFRha2UgYSBsb29rIGF0Cj4gdGhlIHNv bWUgLWV4aXN0aW5nIGRyaXZlcnMgdG8gc2VlIGhvdyB0aGV5J3JlIHVzZWQuCj4gKzpjOmZ1bmM6 YHVzYl9maWxsX2NvbnRyb2xfdXJiYCwgOmM6ZnVuYzpgdXNiX2ZpbGxfYnVsa191cmJgLAo+ICs6 YzpmdW5jOmB1c2JfZmlsbF9pbnRfdXJiYCBhbmQgOmM6ZnVuYzpgdXNiX2ZpbGxfaXNvX3VyYmAu ICBJbiBnZW5lcmFsLAo+IHRoZXkgK25lZWQgdGhlIHVzYiBkZXZpY2UgcG9pbnRlciwgdGhlIHBp cGUgKHVzdWFsIGZvcm1hdCBmcm9tIHVzYi5oKSwgdGhlCj4gdHJhbnNmZXIgK2J1ZmZlciwgdGhl IGRlc2lyZWQgdHJhbnNmZXIgbGVuZ3RoLCB0aGUgY29tcGxldGlvbiBoYW5kbGVyLCBhbmQKPiBp dHMgY29udGV4dC4gK1Rha2UgYSBsb29rIGF0IHRoZSBzb21lIGV4aXN0aW5nIGRyaXZlcnMgdG8g c2VlIGhvdyB0aGV5J3JlCj4gdXNlZC4KPiAKPiAgRmxhZ3M6Cj4gCj4gQEAgLTI0Myw3ICsyNDMs NyBAQCBCZXNpZGVzIHRoZSBmaWVsZHMgcHJlc2VudCBvbiBhIGJ1bGsgdHJhbnNmZXIsIGZvciBJ U08sCj4geW91IGFsc28gYWxzbyBoYXZlIHRvIHNldCBgYHVyYi0+aW50ZXJ2YWxgYCB0byBzYXkg aG93IG9mdGVuIHRvIG1ha2UKPiB0cmFuc2ZlcnM7IGl0J3Mgb2Z0ZW4gb25lIHBlciBmcmFtZSAo d2hpY2ggaXMgb25jZSBldmVyeSBtaWNyb2ZyYW1lIGZvcgo+IGhpZ2hzcGVlZCBkZXZpY2VzKS4g VGhlIGFjdHVhbCBpbnRlcnZhbCB1c2VkIHdpbGwgYmUgYSBwb3dlciBvZiB0d28gdGhhdCdzCj4g bm8gYmlnZ2VyIHRoYW4gd2hhdCAteW91IHNwZWNpZnkuIFlvdSBjYW4gdXNlIHRoZQo+IDpjOmZ1 bmM6YHVzYl9maWxsX2ludF91cmJgIG1hY3JvIHRvIGZpbGwgK3lvdSBzcGVjaWZ5LiBZb3UgY2Fu IHVzZSB0aGUKPiA6YzpmdW5jOmB1c2JfZmlsbF9pc29fdXJiYCBtYWNybyB0byBmaWxsIG1vc3Qg SVNPIHRyYW5zZmVyIGZpZWxkcy4KPiAKPiAgRm9yIElTTyB0cmFuc2ZlcnMgeW91IGFsc28gaGF2 ZSB0byBmaWxsIGEKPiA6Yzp0eXBlOmB1c2JfaXNvX3BhY2tldF9kZXNjcmlwdG9yYCBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC91c2IuaAo+IGIvaW5jbHVkZS9saW51eC91c2IuaAo+IGluZGV4 IDRjZGQ1MTVhNDM4NS4uZWMxMjAwZDUzYWM1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgv dXNiLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L3VzYi5oCj4gQEAgLTE2OTcsNiArMTY5Nyw2NiBA QCBzdGF0aWMgaW5saW5lIHZvaWQgdXNiX2ZpbGxfaW50X3VyYihzdHJ1Y3QgdXJiICp1cmIsCj4g IAl1cmItPnN0YXJ0X2ZyYW1lID0gLTE7Cj4gIH0KPiAKPiArLyoqCj4gKyAqIHVzYl9maWxsX2lz b191cmIgLSBpbml0aWFsaXplcyBhbiBpc29jaHJvbm91cyB1cmIKPiArICogQHVyYjogcG9pbnRl ciB0byB0aGUgdXJiIHRvIGluaXRpYWxpemUuCj4gKyAqIEBkZXY6IHBvaW50ZXIgdG8gdGhlIHN0 cnVjdCB1c2JfZGV2aWNlIGZvciB0aGlzIHVyYi4KPiArICogQHBpcGU6IHRoZSBlbmRwb2ludCBw aXBlCj4gKyAqIEB0cmFuc2Zlcl9idWZmZXI6IHBvaW50ZXIgdG8gdGhlIHRyYW5zZmVyIGJ1ZmZl cgo+ICsgKiBAYnVmZmVyX2xlbmd0aDogbGVuZ3RoIG9mIHRoZSB0cmFuc2ZlciBidWZmZXIKPiAr ICogQGNvbXBsZXRlX2ZuOiBwb2ludGVyIHRvIHRoZSB1c2JfY29tcGxldGVfdCBmdW5jdGlvbgo+ ICsgKiBAY29udGV4dDogd2hhdCB0byBzZXQgdGhlIHVyYiBjb250ZXh0IHRvLgo+ICsgKiBAaW50 ZXJ2YWw6IHdoYXQgdG8gc2V0IHRoZSB1cmIgaW50ZXJ2YWwgdG8sIGVuY29kZWQgbGlrZQo+ICsg Kgl0aGUgZW5kcG9pbnQgZGVzY3JpcHRvcidzIGJJbnRlcnZhbCB2YWx1ZS4KPiArICogQHBhY2tl dHM6IG51bWJlciBvZiBJU08gcGFja2V0cy4KPiArICogQHBhY2tldF9zaXplOiBzaXplIG9mIGVh Y2ggSVNPIHBhY2tldC4KPiArICoKPiArICogSW5pdGlhbGl6ZXMgYW4gaXNvY2hyb25vdXMgdXJi IHdpdGggdGhlIHByb3BlciBpbmZvcm1hdGlvbiBuZWVkZWQgdG8KPiBzdWJtaXQKPiArICogaXQg dG8gYSBkZXZpY2UuCj4gKyAqCj4gKyAqIEZ1bGwtc3BlZWQgZGV2aWNlcyBleHByZXNzIHBvbGxp bmcgaW50ZXJ2YWxzIGluIGZyYW1lcyAoMSBwZXIgbXMpOwo+ICsgKiBoaWdoLXNwZWVkIGFuZCBT dXBlclNwZWVkIGRldmljZXMgZXhwcmVzcyBwb2xsaW5nIGludGVydmFscyBpbgo+ICsgKiBtaWNy b2ZyYW1lcyAoOCBwZXIgbXMpLgo+ICsgKgo+ICsgKiBUaGUgYXJndW1lbnRzIEBwYWNrZXRzIGlz IHRvIGluaXRpYWxpemUgbnVtYmVyX29mX3BhY2tldHMgbWVtYmVyIG9mCj4gc3RydWN0Cj4gKyAq IHVzYi4gSWYgQHBhY2tldHMgYW5kIEBwYWNrZXRfc2l6ZSBpcyBub24gemVybyB0aGVuIHRoZSBp c29fZnJhbWVfZGVzYwo+IGFycmF5Cj4gKyAqIHdpbGwgYmUgaW5pdGlhbGl6ZWQgYW5kIGVhY2gg cGFja2V0IHdpbGwgaGF2ZSB0aGUgc2FtZSBzaXplLgo+ICsgKi8KPiArc3RhdGljIGlubGluZSB2 b2lkIHVzYl9maWxsX2lzb191cmIoc3RydWN0IHVyYiAqdXJiLAo+ICsJCQkJICAgIHN0cnVjdCB1 c2JfZGV2aWNlICpkZXYsCj4gKwkJCQkgICAgdW5zaWduZWQgaW50IHBpcGUsCj4gKwkJCQkgICAg dm9pZCAqdHJhbnNmZXJfYnVmZmVyLAo+ICsJCQkJICAgIGludCBidWZmZXJfbGVuZ3RoLAo+ICsJ CQkJICAgIHVzYl9jb21wbGV0ZV90IGNvbXBsZXRlX2ZuLAo+ICsJCQkJICAgIHZvaWQgKmNvbnRl eHQsCj4gKwkJCQkgICAgaW50IGludGVydmFsLAo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBwYWNr ZXRzLAo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBwYWNrZXRfc2l6ZSkKPiArewo+ICsJdW5zaWdu ZWQgaW50IGk7Cj4gKwo+ICsJdXJiLT5kZXYgPSBkZXY7Cj4gKwl1cmItPnBpcGUgPSBwaXBlOwo+ ICsJdXJiLT50cmFuc2Zlcl9idWZmZXIgPSB0cmFuc2Zlcl9idWZmZXI7Cj4gKwl1cmItPnRyYW5z ZmVyX2J1ZmZlcl9sZW5ndGggPSBidWZmZXJfbGVuZ3RoOwo+ICsJdXJiLT5jb21wbGV0ZSA9IGNv bXBsZXRlX2ZuOwo+ICsJdXJiLT5jb250ZXh0ID0gY29udGV4dDsKPiArCj4gKwlpbnRlcnZhbCA9 IGNsYW1wKGludGVydmFsLCAxLCAxNik7Cj4gKwl1cmItPmludGVydmFsID0gMSA8PCAoaW50ZXJ2 YWwgLSAxKTsKPiArCXVyYi0+c3RhcnRfZnJhbWUgPSAtMTsKPiArCj4gKwlpZiAocGFja2V0cykK PiArCQl1cmItPm51bWJlcl9vZl9wYWNrZXRzID0gcGFja2V0czsKCkRvIHNvbWUgZHJpdmVycyBp bml0aWFsaXplIG51bWJlcl9vZl9wYWNrZXRzIGJlZm9yZSBjYWxsaW5nIHVzYl9maWxsX2lzb191 cmIoKSAKKG9yIHJhdGhlciB1c2JfZmlsbF9pbnRfdXJiKCkgaW4gdGhlIGV4aXN0aW5nIGNvZGUp ID8gSWYgbm90LCB5b3UgY291bGQgYXNzaWduIAp0aGUgZmllbGQgdW5jb25kaXRpb25hbGx5LCBp dCB3b3VsZCBqdXN0IGJlIG92ZXJ3cml0dGVuIGJ5IGRyaXZlcnMgbGF0ZXIuCgo+ICsJaWYgKHBh Y2tldF9zaXplKSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8IHBhY2tldHM7IGkrKykgewo+ICsJCQl1 cmItPmlzb19mcmFtZV9kZXNjW2ldLm9mZnNldCA9IHBhY2tldF9zaXplICogaTsKPiArCQkJdXJi LT5pc29fZnJhbWVfZGVzY1tpXS5sZW5ndGggPSBwYWNrZXRfc2l6ZTsKPiArCQl9Cj4gKwl9CgpT YW1lIHF1ZXN0aW9uIGhlcmUuIEFkZGl0aW9uYWxseSwgZG8geW91IHNlZSB1c2UgY2FzZXMgZm9y IGNhbGxpbmcgdGhpcyB3aXRoIApwYWNrZXRzID4gMCAmJiBwYWNrZXRfc2l6ZSA9PSAwID8gSWYg bm90IHRoZSBmb3IgbG9vcCB3b3VsZG4ndCBpdGVyYXRlIGF0IGFsbCwgCnNvIHRoZSBvdXRlciBj aGVjayB3b3VsZG4ndCBiZSBuZWVkZWQuCgpXaXRoIG9yIHdpdGhvdXQgY2hhbmdlcyB0byB0aGUg YWJvdmUsIGRlcGVuZGluZyBvbiB0aGUgdXNlIGNhc2VzLAoKUmV2aWV3ZWQtYnk6IExhdXJlbnQg UGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KCj4gK30KPiArCj4g IGV4dGVybiB2b2lkIHVzYl9pbml0X3VyYihzdHJ1Y3QgdXJiICp1cmIpOwo+ICBleHRlcm4gc3Ry dWN0IHVyYiAqdXNiX2FsbG9jX3VyYihpbnQgaXNvX3BhY2tldHMsIGdmcF90IG1lbV9mbGFncyk7 Cj4gIGV4dGVybiB2b2lkIHVzYl9mcmVlX3VyYihzdHJ1Y3QgdXJiICp1cmIpOwo=