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: Sebastian Andrzej Siewior Message-Id: <20180808213348.ipppuapqaasrkhxv@linutronix.de> Date: Wed, 8 Aug 2018 23:33:49 +0200 To: Alan Stern Cc: Laurent Pinchart , linux-media@vger.kernel.org, Mauro Carvalho Chehab , linux-usb@vger.kernel.org, tglx@linutronix.de, Greg Kroah-Hartman , Takashi Iwai List-ID: UHJvdmlkZSB1c2JfZmlsbF9pc29fdXJiKCkgZm9yIHRoZSBpbml0aWFsaXNhdGlvbiBvZiBpc29j aHJvbm91cyBVUkJzLgpXZSBhbHJlYWR5IGhhdmUgb25lIG9mIHRoaXMgaGVscGVycyBmb3IgY29u dHJvbCwgYnVsayBhbmQgaW50ZXJydXB0aWJsZQpVUkIgdHlwZXMuIFRoaXMgaGVscHMgdG8ga2Vl cCB0aGUgaW5pdGlhbGlzYXRpb24gb2YgdGhlIFVSQiBtZW1iZXJzIGluCm9uZSBwbGFjZS4KVXBk YXRlIHRoZSBkb2N1bWVudGF0aW9uIGJ5IGFkZGluZyB0aGlzIHRvIHRoZSBhdmFpbGFibGUgaW5p dCBmdW5jdGlvbnMKYW5kIHJlbW92ZSB0aGUgc3VnZ2VzdGlvbiB0byB1c2UgdGhlIGBfaW50Xycg aGVscGVyIHdoaWNoIG1pZ2h0IHByb3ZpZGUKd3JvbmcgZW5jb2RpbmcgZm9yIHRoZSBgaW50ZXJ2 YWwnIG1lbWJlci4KClRoaXMgbG9va3MgbGlrZSBpdCB3b3VsZCBjb3ZlciBtb3N0IHVzZXJzIG5p Y2VseS4gVGhlIHNvdW5kIHN1YnN5c3RlbQppbml0aWFsaXNlcyB0aGUgLT5pc29fZnJhbWVfZGVz Y1tdLm9mZnNldCArIGxlbmd0aCBtZW1iZXIgYXQgYSBkaWZmZXJlbnQKbG9jYXRpb24gYW5kIEkn bSBub3Qgc3VyZSAtPmludGVydmFsIHdpbGwgd29yayBhcyBleHBlY3RlZC4KClNvbWUgdXNlcnMg YWxzbyBpbml0aWFsaXNlIC0+aXNvX2ZyYW1lX2Rlc2NbXS5hY3R1YWxfbGVuZ3RoIGJ1dCBJIGRv bid0CnRoaW5rIHRoYXQgdGhpcyBpcyByZXF1aXJlZCBzaW5jZSBpdCBpcyB0aGUgcmV0dXJuIHZh bHVlLgoKU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBs aW51dHJvbml4LmRlPgotLS0KUkZDIOKApiB2MjoKCS0gcmVwaHJhc2VkIHRoZSBpbnRlcnZhbCBk ZXNjcmlwdGlvbiBhcyBwZXIgQWxhbiBTdGVybi4KCS0gcGFja2V0cyBhbmQgcGFja2V0X3NpemUg Y2FuIGJlIDAgc28gdGhlIGluaXRpYWxpc2F0aW9uIG9mCgkgIHRob3NlIG1lbWJlcnMgd2lsbCBi ZSBza2lwcGVkLiBTdWdnZXN0ZWQgYnkgQWxhbiBTdGVybiwgY2FtZQoJICBoYW5keSB3aGlsZSBj b252ZXJ0aW5nIGRyaXZlcnMuCgktIFVwZGF0ZWQgd29yZGluZyBhcyBzdWdnZXN0ZWQgYnkgTGF1 cmVudCBQaW5jaGFydC4KCiBEb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdXNiL1VSQi5yc3QgfCAx MiArKystLS0KIGluY2x1ZGUvbGludXgvdXNiLmggICAgICAgICAgICAgICAgICB8IDYwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkv dXNiL1VSQi5yc3QgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdXNiL1VSQi5yc3QKaW5kZXgg NjFhNTRkYTlmY2U5Li4yMDAzMGI3ODE1MTkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZHJp dmVyLWFwaS91c2IvVVJCLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdXNiL1VS Qi5yc3QKQEAgLTExNiwxMSArMTE2LDExIEBAIFdoYXQgaGFzIHRvIGJlIGZpbGxlZCBpbj8KIAog RGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uLCB0aGVyZSBhcmUgc29tZSBpbmxp bmUgZnVuY3Rpb25zCiBkZWZpbmVkIGluIGBgbGludXgvdXNiLmhgYCB0byBzaW1wbGlmeSB0aGUg aW5pdGlhbGl6YXRpb24sIHN1Y2ggYXMKLTpjOmZ1bmM6YHVzYl9maWxsX2NvbnRyb2xfdXJiYCwg OmM6ZnVuYzpgdXNiX2ZpbGxfYnVsa191cmJgIGFuZAotOmM6ZnVuYzpgdXNiX2ZpbGxfaW50X3Vy YmAuICBJbiBnZW5lcmFsLCB0aGV5IG5lZWQgdGhlIHVzYiBkZXZpY2UgcG9pbnRlciwKLXRoZSBw aXBlICh1c3VhbCBmb3JtYXQgZnJvbSB1c2IuaCksIHRoZSB0cmFuc2ZlciBidWZmZXIsIHRoZSBk ZXNpcmVkIHRyYW5zZmVyCi1sZW5ndGgsIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIsIGFuZCBpdHMg Y29udGV4dC4gVGFrZSBhIGxvb2sgYXQgdGhlIHNvbWUKLWV4aXN0aW5nIGRyaXZlcnMgdG8gc2Vl IGhvdyB0aGV5J3JlIHVzZWQuCis6YzpmdW5jOmB1c2JfZmlsbF9jb250cm9sX3VyYmAsIDpjOmZ1 bmM6YHVzYl9maWxsX2J1bGtfdXJiYCwKKzpjOmZ1bmM6YHVzYl9maWxsX2ludF91cmJgIGFuZCA6 YzpmdW5jOmB1c2JfZmlsbF9pc29fdXJiYC4gIEluIGdlbmVyYWwsIHRoZXkKK25lZWQgdGhlIHVz YiBkZXZpY2UgcG9pbnRlciwgdGhlIHBpcGUgKHVzdWFsIGZvcm1hdCBmcm9tIHVzYi5oKSwgdGhl IHRyYW5zZmVyCitidWZmZXIsIHRoZSBkZXNpcmVkIHRyYW5zZmVyIGxlbmd0aCwgdGhlIGNvbXBs ZXRpb24gaGFuZGxlciwgYW5kIGl0cyBjb250ZXh0LgorVGFrZSBhIGxvb2sgYXQgdGhlIHNvbWUg ZXhpc3RpbmcgZHJpdmVycyB0byBzZWUgaG93IHRoZXkncmUgdXNlZC4KIAogRmxhZ3M6CiAKQEAg LTI0Myw3ICsyNDMsNyBAQCBCZXNpZGVzIHRoZSBmaWVsZHMgcHJlc2VudCBvbiBhIGJ1bGsgdHJh bnNmZXIsIGZvciBJU08sIHlvdSBhbHNvCiBhbHNvIGhhdmUgdG8gc2V0IGBgdXJiLT5pbnRlcnZh bGBgIHRvIHNheSBob3cgb2Z0ZW4gdG8gbWFrZSB0cmFuc2ZlcnM7IGl0J3MKIG9mdGVuIG9uZSBw ZXIgZnJhbWUgKHdoaWNoIGlzIG9uY2UgZXZlcnkgbWljcm9mcmFtZSBmb3IgaGlnaHNwZWVkIGRl dmljZXMpLgogVGhlIGFjdHVhbCBpbnRlcnZhbCB1c2VkIHdpbGwgYmUgYSBwb3dlciBvZiB0d28g dGhhdCdzIG5vIGJpZ2dlciB0aGFuIHdoYXQKLXlvdSBzcGVjaWZ5LiBZb3UgY2FuIHVzZSB0aGUg OmM6ZnVuYzpgdXNiX2ZpbGxfaW50X3VyYmAgbWFjcm8gdG8gZmlsbAoreW91IHNwZWNpZnkuIFlv dSBjYW4gdXNlIHRoZSA6YzpmdW5jOmB1c2JfZmlsbF9pc29fdXJiYCBtYWNybyB0byBmaWxsCiBt b3N0IElTTyB0cmFuc2ZlciBmaWVsZHMuCiAKIEZvciBJU08gdHJhbnNmZXJzIHlvdSBhbHNvIGhh dmUgdG8gZmlsbCBhIDpjOnR5cGU6YHVzYl9pc29fcGFja2V0X2Rlc2NyaXB0b3JgCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L3VzYi5oIGIvaW5jbHVkZS9saW51eC91c2IuaAppbmRleCA0Y2Rk NTE1YTQzODUuLmVjMTIwMGQ1M2FjNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC91c2IuaAor KysgYi9pbmNsdWRlL2xpbnV4L3VzYi5oCkBAIC0xNjk3LDYgKzE2OTcsNjYgQEAgc3RhdGljIGlu bGluZSB2b2lkIHVzYl9maWxsX2ludF91cmIoc3RydWN0IHVyYiAqdXJiLAogCXVyYi0+c3RhcnRf ZnJhbWUgPSAtMTsKIH0KIAorLyoqCisgKiB1c2JfZmlsbF9pc29fdXJiIC0gaW5pdGlhbGl6ZXMg YW4gaXNvY2hyb25vdXMgdXJiCisgKiBAdXJiOiBwb2ludGVyIHRvIHRoZSB1cmIgdG8gaW5pdGlh bGl6ZS4KKyAqIEBkZXY6IHBvaW50ZXIgdG8gdGhlIHN0cnVjdCB1c2JfZGV2aWNlIGZvciB0aGlz IHVyYi4KKyAqIEBwaXBlOiB0aGUgZW5kcG9pbnQgcGlwZQorICogQHRyYW5zZmVyX2J1ZmZlcjog cG9pbnRlciB0byB0aGUgdHJhbnNmZXIgYnVmZmVyCisgKiBAYnVmZmVyX2xlbmd0aDogbGVuZ3Ro IG9mIHRoZSB0cmFuc2ZlciBidWZmZXIKKyAqIEBjb21wbGV0ZV9mbjogcG9pbnRlciB0byB0aGUg dXNiX2NvbXBsZXRlX3QgZnVuY3Rpb24KKyAqIEBjb250ZXh0OiB3aGF0IHRvIHNldCB0aGUgdXJi IGNvbnRleHQgdG8uCisgKiBAaW50ZXJ2YWw6IHdoYXQgdG8gc2V0IHRoZSB1cmIgaW50ZXJ2YWwg dG8sIGVuY29kZWQgbGlrZQorICoJdGhlIGVuZHBvaW50IGRlc2NyaXB0b3IncyBiSW50ZXJ2YWwg dmFsdWUuCisgKiBAcGFja2V0czogbnVtYmVyIG9mIElTTyBwYWNrZXRzLgorICogQHBhY2tldF9z aXplOiBzaXplIG9mIGVhY2ggSVNPIHBhY2tldC4KKyAqCisgKiBJbml0aWFsaXplcyBhbiBpc29j aHJvbm91cyB1cmIgd2l0aCB0aGUgcHJvcGVyIGluZm9ybWF0aW9uIG5lZWRlZCB0byBzdWJtaXQK KyAqIGl0IHRvIGEgZGV2aWNlLgorICoKKyAqIEZ1bGwtc3BlZWQgZGV2aWNlcyBleHByZXNzIHBv bGxpbmcgaW50ZXJ2YWxzIGluIGZyYW1lcyAoMSBwZXIgbXMpOworICogaGlnaC1zcGVlZCBhbmQg U3VwZXJTcGVlZCBkZXZpY2VzIGV4cHJlc3MgcG9sbGluZyBpbnRlcnZhbHMgaW4KKyAqIG1pY3Jv ZnJhbWVzICg4IHBlciBtcykuCisgKgorICogVGhlIGFyZ3VtZW50cyBAcGFja2V0cyBpcyB0byBp bml0aWFsaXplIG51bWJlcl9vZl9wYWNrZXRzIG1lbWJlciBvZiBzdHJ1Y3QKKyAqIHVzYi4gSWYg QHBhY2tldHMgYW5kIEBwYWNrZXRfc2l6ZSBpcyBub24gemVybyB0aGVuIHRoZSBpc29fZnJhbWVf ZGVzYyBhcnJheQorICogd2lsbCBiZSBpbml0aWFsaXplZCBhbmQgZWFjaCBwYWNrZXQgd2lsbCBo YXZlIHRoZSBzYW1lIHNpemUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB1c2JfZmlsbF9pc29f dXJiKHN0cnVjdCB1cmIgKnVyYiwKKwkJCQkgICAgc3RydWN0IHVzYl9kZXZpY2UgKmRldiwKKwkJ CQkgICAgdW5zaWduZWQgaW50IHBpcGUsCisJCQkJICAgIHZvaWQgKnRyYW5zZmVyX2J1ZmZlciwK KwkJCQkgICAgaW50IGJ1ZmZlcl9sZW5ndGgsCisJCQkJICAgIHVzYl9jb21wbGV0ZV90IGNvbXBs ZXRlX2ZuLAorCQkJCSAgICB2b2lkICpjb250ZXh0LAorCQkJCSAgICBpbnQgaW50ZXJ2YWwsCisJ CQkJICAgIHVuc2lnbmVkIGludCBwYWNrZXRzLAorCQkJCSAgICB1bnNpZ25lZCBpbnQgcGFja2V0 X3NpemUpCit7CisJdW5zaWduZWQgaW50IGk7CisKKwl1cmItPmRldiA9IGRldjsKKwl1cmItPnBp cGUgPSBwaXBlOworCXVyYi0+dHJhbnNmZXJfYnVmZmVyID0gdHJhbnNmZXJfYnVmZmVyOworCXVy Yi0+dHJhbnNmZXJfYnVmZmVyX2xlbmd0aCA9IGJ1ZmZlcl9sZW5ndGg7CisJdXJiLT5jb21wbGV0 ZSA9IGNvbXBsZXRlX2ZuOworCXVyYi0+Y29udGV4dCA9IGNvbnRleHQ7CisKKwlpbnRlcnZhbCA9 IGNsYW1wKGludGVydmFsLCAxLCAxNik7CisJdXJiLT5pbnRlcnZhbCA9IDEgPDwgKGludGVydmFs IC0gMSk7CisJdXJiLT5zdGFydF9mcmFtZSA9IC0xOworCisJaWYgKHBhY2tldHMpCisJCXVyYi0+ bnVtYmVyX29mX3BhY2tldHMgPSBwYWNrZXRzOworCisJaWYgKHBhY2tldF9zaXplKSB7CisJCWZv ciAoaSA9IDA7IGkgPCBwYWNrZXRzOyBpKyspIHsKKwkJCXVyYi0+aXNvX2ZyYW1lX2Rlc2NbaV0u b2Zmc2V0ID0gcGFja2V0X3NpemUgKiBpOworCQkJdXJiLT5pc29fZnJhbWVfZGVzY1tpXS5sZW5n dGggPSBwYWNrZXRfc2l6ZTsKKwkJfQorCX0KK30KKwogZXh0ZXJuIHZvaWQgdXNiX2luaXRfdXJi KHN0cnVjdCB1cmIgKnVyYik7CiBleHRlcm4gc3RydWN0IHVyYiAqdXNiX2FsbG9jX3VyYihpbnQg aXNvX3BhY2tldHMsIGdmcF90IG1lbV9mbGFncyk7CiBleHRlcm4gdm9pZCB1c2JfZnJlZV91cmIo c3RydWN0IHVyYiAqdXJiKTsK