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: [V6,01/10] usb: gadget: udc: Add timer for stream capable endpoints From: Anurag Kumar Vulisha Message-Id: <1539436498-24892-2-git-send-email-anurag.kumar.vulisha@xilinx.com> Date: Sat, 13 Oct 2018 18:44:48 +0530 To: Felipe Balbi , Greg Kroah-Hartman , Alan Stern , Johan Hovold , Jaejoong Kim , Benjamin Herrenschmidt , Roger Quadros Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, v.anuragkumar@gmail.com, Thinh Nguyen , Tejas Joglekar , Ajay Yugalkishore Pandey , Anurag Kumar Vulisha List-ID: V2hlbiBidWxrIHN0cmVhbXMgYXJlIGVuYWJsZWQgZm9yIGFuIGVuZHBvaW50LCB0aGVyZSBjYW4K YmUgYSBjb25kaXRpb24gd2hlcmUgdGhlIGdhZGdldCBjb250cm9sbGVyIHdhaXRzIGZvciB0aGUK aG9zdCB0byBpc3N1ZSBwcmltZSB0cmFuc2FjdGlvbiBhbmQgdGhlIGhvc3QgY29udHJvbGxlcgp3 YWl0cyBmb3IgdGhlIGdhZGdldCB0byBpc3N1ZSBFUkRZLiBUaGlzIGNvbmRpdGlvbiBjb3VsZApj cmVhdGUgYSBkZWFkbG9jay4gVG8gYXZvaWQgc3VjaCBwb3RlbnRpYWwgZGVhZGxvY2tzLCBhCnRp bWVyIGlzIHN0YXJ0ZWQgYWZ0ZXIgcXVldWluZyBhbnkgcmVxdWVzdCBmb3IgdGhlIHN0cmVhbQpj YXBhYmxlIGVuZHBvaW50IGluIHVzYl9lcF9xdWV1ZSgpLiBUaGUgZ2FkZ2V0IGRyaXZlciBpcwpl eHBlY3RlZCB0byBzdG9wIHRoZSB0aW1lciBpZiBhIHZhbGlkIHN0cmVhbSBldmVudCBpcyBmb3Vu ZC4KSWYgbm8gc3RyZWFtIGV2ZW50IGlzIGZvdW5kLCB0aGUgdGltZXIgZXhwaXJlcyBhZnRlciB0 aGUKU1RSRUFNX1RJTUVPVVRfTVMgdmFsdWUgYW5kIGEgY2FsbGJhY2sgZnVuY3Rpb24gcmVnaXN0 ZXJlZApieSBnYWRnZXQgZHJpdmVyIHRvIGVuZHBvaW50IG9wcy0+c3RyZWFtX3RpbWVvdXQgQVBJ IHdvdWxkIGJlCmNhbGxlZCwgc28gdGhhdCB0aGUgZ2FkZ2V0IGRyaXZlciBjYW4gaGFuZGxlIHRo aXMgc2l0dWF0aW9uLgpUaGlzIGtpbmQgb2YgYmVoYXZpb3VyIGlzIG9ic2VydmVkIGluIGR3YzMg Y29udHJvbGxlciBhbmQKZXhwZWN0ZWQgdG8gYmUgZ2VuZXJpYyBpc3N1ZSB3aXRoIG90aGVyIGNv bnRyb2xsZXJzIHN1cHBvcnRpbmcKYnVsayBzdHJlYW1zIGFsc28uCgpTaWduZWQtb2ZmLWJ5OiBB bnVyYWcgS3VtYXIgVnVsaXNoYSA8YW51cmFnLmt1bWFyLnZ1bGlzaGFAeGlsaW54LmNvbT4KLS0t CiBDaGFuZ2VzIGluIHY2OgoJMS4gVGhpcyBwYXRjaCBpcyBuZXdseSBhZGRlZCBpbiB0aGlzIHNl cmllcyB0byBhZGQgdGltZXIgaW50byB1ZGMvY29yZS5jCi0tLQogZHJpdmVycy91c2IvZ2FkZ2V0 L3VkYy9jb3JlLmMgfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCiBpbmNsdWRlL2xpbnV4L3VzYi9nYWRnZXQuaCAgICB8IDEyICsrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL3VzYi9nYWRnZXQvdWRjL2NvcmUuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvY29y ZS5jCmluZGV4IGFmODhiNDguLjQxY2MyM2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdl dC91ZGMvY29yZS5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvY29yZS5jCkBAIC01Miw2 ICs1MiwyNCBAQCBzdGF0aWMgaW50IHVkY19iaW5kX3RvX2RyaXZlcihzdHJ1Y3QgdXNiX3VkYyAq dWRjLAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKioKKyAqIHVzYl9lcF9zdHJlYW1fdGlt ZW91dCAtIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBlbmRwb2ludCBzdHJlYW0gdGltZW91dCB0aW1l cgorICogQGFyZzogcG9pbnRlciB0byBzdHJ1Y3QgdGltZXJfbGlzdAorICoKKyAqIFRoaXMgZnVu Y3Rpb24gZ2V0cyBjYWxsZWQgb25seSB3aGVuIGJ1bGsgc3RyZWFtcyBhcmUgZW5hYmxlZCBpbiB0 aGUgZW5kcG9pbnQKKyAqIGFuZCBvbmx5IGFmdGVyIGVwLT5zdHJlYW1fdGltZW91dF90aW1lciBo YXMgZXhwaXJlZC4gVGhlIHRpbWVyIGdldHMgZXhwaXJlZAorICogb25seSB3aGVuIHRoZSBnYWRn ZXQgY29udHJvbGxlciBmYWlsZWQgdG8gZmluZCBhIHZhbGlkIHN0cmVhbSBldmVudCBmb3IgdGhp cworICogZW5kcG9pbnQuIE9uIHRpbWVyIGV4cGlyeSwgdGhpcyBmdW5jdGlvbiBjYWxscyB0aGUg ZW5kcG9pbnQtc3BlY2lmaWMgdGltZW91dAorICogaGFuZGxlciByZWdpc3RlcmVkIHRvIGVuZHBv aW50IG9wcy0+c3RyZWFtX3RpbWVvdXQgQVBJLgorICovCitzdGF0aWMgdm9pZCB1c2JfZXBfc3Ry ZWFtX3RpbWVvdXQoc3RydWN0IHRpbWVyX2xpc3QgKmFyZykKK3sKKwlzdHJ1Y3QgdXNiX2VwICpl cCA9IGZyb21fdGltZXIoZXAsIGFyZywgc3RyZWFtX3RpbWVvdXRfdGltZXIpOworCisJaWYgKGVw LT5zdHJlYW1fY2FwYWJsZSAmJiBlcC0+b3BzLT5zdHJlYW1fdGltZW91dCkKKwkJZXAtPm9wcy0+ c3RyZWFtX3RpbWVvdXQoZXApOworfQorCisvKioKICAqIHVzYl9lcF9zZXRfbWF4cGFja2V0X2xp bWl0IC0gc2V0IG1heGltdW0gcGFja2V0IHNpemUgbGltaXQgZm9yIGVuZHBvaW50CiAgKiBAZXA6 dGhlIGVuZHBvaW50IGJlaW5nIGNvbmZpZ3VyZWQKICAqIEBtYXhwYWNrZXRfbGltaXQ6dmFsdWUg b2YgbWF4aW11bSBwYWNrZXQgc2l6ZSBsaW1pdApAQCAtODcsNiArMTA1LDE4IEBAIEVYUE9SVF9T WU1CT0xfR1BMKHVzYl9lcF9zZXRfbWF4cGFja2V0X2xpbWl0KTsKICAqIGNvbmZpZ3VyYWJsZSwg d2l0aCBtb3JlIGdlbmVyaWMgbmFtZXMgbGlrZSAiZXAtYSIuICAocmVtZW1iZXIgdGhhdCBmb3IK ICAqIFVTQiwgImluIiBtZWFucyAidG93YXJkcyB0aGUgVVNCIG1hc3RlciIuKQogICoKKyAqIFdo ZW4gYnVsayBzdHJlYW1zIGFyZSBlbmFibGVkIChzdHJlYW1fY2FwYWJsZSA9PSB0cnVlKSwgYSB0 aW1lciBpcyBzZXR1cAorICogYnkgdGhpcyBmdW5jdGlvbiwgd2hpY2ggd291bGQgYmUgc3RhcnRl ZCBhdCB0aGUgdGltZSBvZiBxdWV1aW5nIHRoZSByZXF1ZXN0CisgKiBpbiAgdXNiX2VwX3F1ZXVl KCkuIFRoaXMgaXMgYmVjYXVzZSwgd2hlbiBzdHJlYW1zIGFyZSBlbmFibGVkIHRoZSBob3N0IGFu ZAorICogZ2FkZ2V0IGNhbiBnbyBvdXQgc3luYywgdGhlIGdhZGdldCBtYXkgd2FpdCB1bnRpbCB0 aGUgaG9zdCBpc3N1ZXMgYSBwcmltZQorICogdHJhbnNhY3Rpb24gYW5kIHRoZSBob3N0IG1heSB3 YWl0IHVudGlsIGdhZGdldCBpc3N1ZXMgYSBFUkRZLiBUaGlzIGJlaGF2aW91cgorICogbWF5IGNy ZWF0ZSBhIGRlYWRsb2NrLiBUbyBhdm9pZCBzdWNoIGEgZGVhZGxvY2ssIHRoZSB0aW1lciBpcyBz dGFydGVkIGFmdGVyCisgKiBzdWJtaXR0aW5nIHRoZSByZXF1ZXN0IGluIHVzYl9lcF9xdWV1ZSgp LiBJZiBhIHZhbGlkIHN0cmVhbSBldmVudCBpcworICogZ2VuZXJhdGVkLCB0aGUgZ2FkZ2V0IGRy aXZlciBzdG9wcyB0aGUgdGltZXIuIElmIG5vIHZhbGlkIHN0cmVhbSBldmVudCBpcworICogZm91 bmQsIHRoZSB0aW1lciBnZXRzIGV4cGlyZWQgYW5kIHVzYl9lcF9zdHJlYW1fdGltZW91dCgpIGZ1 bmN0aW9uIHdoaWNoIGlzCisgKiByZWdpc3RlcmVkIGFzIGEgY2FsbGJhY2sgdG8gc3RyZWFtX3Rp bWVvdXRfdGltZXIgaXMgY2FsbGVkLiBUaGlzIGNhbGxiYWNrCisgKiBmdW5jdGlvbiBoYW5kbGVz IHRoZSBkZWFkbG9jay4KKyAqCiAgKiBUaGlzIHJvdXRpbmUgbXVzdCBiZSBjYWxsZWQgaW4gcHJv Y2VzcyBjb250ZXh0LgogICoKICAqIHJldHVybnMgemVybywgb3IgYSBuZWdhdGl2ZSBlcnJvciBj b2RlLgpAQCAtMTAyLDYgKzEzMiwxMCBAQCBpbnQgdXNiX2VwX2VuYWJsZShzdHJ1Y3QgdXNiX2Vw ICplcCkKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIAorCWlmIChlcC0+c3RyZWFtX2NhcGFibGUp CisJCXRpbWVyX3NldHVwKCZlcC0+c3RyZWFtX3RpbWVvdXRfdGltZXIsCisJCQkgICAgdXNiX2Vw X3N0cmVhbV90aW1lb3V0LCAwKTsKKwogCWVwLT5lbmFibGVkID0gdHJ1ZTsKIAogb3V0OgpAQCAt MTIxLDYgKzE1NSw5IEBAIEVYUE9SVF9TWU1CT0xfR1BMKHVzYl9lcF9lbmFibGUpOwogICogZ2Fk Z2V0IGRyaXZlcnMgbXVzdCBjYWxsIHVzYl9lcF9lbmFibGUoKSBhZ2FpbiBiZWZvcmUgcXVldWVp bmcKICAqIHJlcXVlc3RzIHRvIHRoZSBlbmRwb2ludC4KICAqCisgKiBGb3Igc3RyZWFtIGNhcGFi bGUgZW5kcG9pbnRzLCB0aGUgdGltZXIgd2hpY2ggd2FzIHN0YXJ0ZWQgaW4gdXNiX2VwX2VuYWJs ZSgpCisgKiB3b3VsZCBiZSByZW1vdmVkLgorICoKICAqIFRoaXMgcm91dGluZSBtdXN0IGJlIGNh bGxlZCBpbiBwcm9jZXNzIGNvbnRleHQuCiAgKgogICogcmV0dXJucyB6ZXJvLCBvciBhIG5lZ2F0 aXZlIGVycm9yIGNvZGUuCkBAIC0xMzIsNiArMTY5LDkgQEAgaW50IHVzYl9lcF9kaXNhYmxlKHN0 cnVjdCB1c2JfZXAgKmVwKQogCWlmICghZXAtPmVuYWJsZWQpCiAJCWdvdG8gb3V0OwogCisJaWYg KGVwLT5zdHJlYW1fY2FwYWJsZSAmJiB0aW1lcl9wZW5kaW5nKCZlcC0+c3RyZWFtX3RpbWVvdXRf dGltZXIpKQorCQlkZWxfdGltZXIoJmVwLT5zdHJlYW1fdGltZW91dF90aW1lcik7CisKIAlyZXQg PSBlcC0+b3BzLT5kaXNhYmxlKGVwKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKQEAgLTI0NSw2 ICsyODUsMTggQEAgRVhQT1JUX1NZTUJPTF9HUEwodXNiX2VwX2ZyZWVfcmVxdWVzdCk7CiAgKiBO b3RlIHRoYXQgQHJlcSdzIC0+Y29tcGxldGUoKSBjYWxsYmFjayBtdXN0IG5ldmVyIGJlIGNhbGxl ZCBmcm9tCiAgKiB3aXRoaW4gdXNiX2VwX3F1ZXVlKCkgYXMgdGhhdCBjYW4gY3JlYXRlIGRlYWRs b2NrIHNpdHVhdGlvbnMuCiAgKgorICogRm9yIHN0cmVhbSBjYXBhYmxlIGVuZHBvaW50cyAoc3Ry ZWFtX2NhcGFibGUgPT0gdHJ1ZSksIGEgdGltZXIgd2hpY2ggd2FzCisgKiBzZXR1cCBieSB1c2Jf ZXBfZW5hYmxlKCkgaXMgc3RhcnRlZCBpbiB0aGlzIGZ1bmN0aW9uIHRvIGF2b2lkIGRlYWRsb2Nr LgorICogV2hlbiBzdHJlYW1zIGFyZSBlbmFibGVkIHRoZSBob3N0IGFuZCBnYWRnZXQgY2FuIGdv IG91dCBzeW5jLCB0aGUgZ2FkZ2V0CisgKiBtYXkgd2FpdCB1bnRpbCB0aGUgaG9zdCBpc3N1ZXMg cHJpbWUgdHJhbnNhY3Rpb24gYW5kIHRoZSBob3N0IG1heSB3YWl0CisgKiB1bnRpbCBnYWRnZXQg aXNzdWVzIGEgRVJEWS4gVGhpcyBiZWhhdmlvdXIgbWF5IGNyZWF0ZSBhIGRlYWRsb2NrLiBUbyBh dm9pZAorICogc3VjaCBhIGRlYWRsb2NrLCB3aGVuIGVuZHBvaW50IGlzIGJ1bGsgc3RyZWFtIGNh cGFibGUsIHRoZSB0aW1lciBpcyBzdGFydGVkCisgKiBhZnRlciBzdWJtaXR0aW5nIHRoZSByZXF1 ZXN0LiBJZiBhIHZhbGlkIHN0cmVhbSBldmVudCBpcyBnZW5lcmF0ZWQgYnkgdGhlCisgKiBnYWRn ZXQgY29udHJvbGxlciwgdGhlIGdhZGdldCBkcml2ZXIgc3RvcHMgdGhlIHRpbWVyLiBJZiBubyB2 YWxpZCBzdHJlYW0KKyAqIGV2ZW50IGlzIGZvdW5kLCB0aGUgdGltZXIga2VlcHMgcnVubmluZyB1 bnRpbCBleHBpcmVkIGFmdGVyIFNUUkVBTV9USU1FT1VUX01TCisgKiB2YWx1ZSBhbmQgdGhlIHN0 cmVhbSB0aW1lb3V0IGZ1bmN0aW9uIC0gdXNiX2VwX3N0cmVhbV90aW1lb3V0KCkgZ2V0cworICog Y2FsbGVkLCB3aGljaCB0YWtlcyBuZWNlc3NhcnkgYWN0aW9uIHRvIGF2b2lkIHRoZSBkZWFkbG9j ayBjb25kaXRpb24uCisgKgogICogVGhpcyByb3V0aW5lIG1heSBiZSBjYWxsZWQgaW4gaW50ZXJy dXB0IGNvbnRleHQuCiAgKgogICogUmV0dXJucyB6ZXJvLCBvciBhIG5lZ2F0aXZlIGVycm9yIGNv ZGUuICBFbmRwb2ludHMgdGhhdCBhcmUgbm90IGVuYWJsZWQKQEAgLTI2OSw2ICszMjEsMTMgQEAg aW50IHVzYl9lcF9xdWV1ZShzdHJ1Y3QgdXNiX2VwICplcCwKIAogCXJldCA9IGVwLT5vcHMtPnF1 ZXVlKGVwLCByZXEsIGdmcF9mbGFncyk7CiAKKwlpZiAoZXAtPnN0cmVhbV9jYXBhYmxlKSB7CisJ CWVwLT5zdHJlYW1fdGltZW91dF90aW1lci5leHBpcmVzID0gamlmZmllcyArCisJCQkJbXNlY3Nf dG9famlmZmllcyhTVFJFQU1fVElNRU9VVF9NUyk7CisJCW1vZF90aW1lcigmZXAtPnN0cmVhbV90 aW1lb3V0X3RpbWVyLAorCQkJICBlcC0+c3RyZWFtX3RpbWVvdXRfdGltZXIuZXhwaXJlcyk7CisJ fQorCiBvdXQ6CiAJdHJhY2VfdXNiX2VwX3F1ZXVlKGVwLCByZXEsIHJldCk7CiAKQEAgLTI5MSw2 ICszNTAsOSBAQCBFWFBPUlRfU1lNQk9MX0dQTCh1c2JfZXBfcXVldWUpOwogICogcmVzdHJpY3Rp b25zIHByZXZlbnQgZHJpdmVycyBmcm9tIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBjaGFuZ2Vz LAogICogZXZlbiB0byBjb25maWd1cmF0aW9uIHplcm8gKGEgImNoYXB0ZXIgOSIgcmVxdWlyZW1l bnQpLgogICoKKyAqIEZvciBzdHJlYW0gY2FwYWJsZSBlbmRwb2ludHMsIHRoZSB0aW1lciB3aGlj aCB3YXMgc3RhcnRlZCBpbiB1c2JfZXBfcXVldWUoKQorICogd291bGQgYmUgcmVtb3ZlZC4KKyAq CiAgKiBUaGlzIHJvdXRpbmUgbWF5IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KICAq LwogaW50IHVzYl9lcF9kZXF1ZXVlKHN0cnVjdCB1c2JfZXAgKmVwLCBzdHJ1Y3QgdXNiX3JlcXVl c3QgKnJlcSkKQEAgLTMwMCw2ICszNjIsOSBAQCBpbnQgdXNiX2VwX2RlcXVldWUoc3RydWN0IHVz Yl9lcCAqZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqcmVxKQogCXJldCA9IGVwLT5vcHMtPmRlcXVl dWUoZXAsIHJlcSk7CiAJdHJhY2VfdXNiX2VwX2RlcXVldWUoZXAsIHJlcSwgcmV0KTsKIAorCWlm IChlcC0+c3RyZWFtX2NhcGFibGUgJiYgdGltZXJfcGVuZGluZygmZXAtPnN0cmVhbV90aW1lb3V0 X3RpbWVyKSkKKwkJZGVsX3RpbWVyKCZlcC0+c3RyZWFtX3RpbWVvdXRfdGltZXIpOworCiAJcmV0 dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHVzYl9lcF9kZXF1ZXVlKTsKQEAgLTg3OCw3 ICs5NDMsOCBAQCBFWFBPUlRfU1lNQk9MX0dQTCh1c2JfZ2FkZ2V0X3VubWFwX3JlcXVlc3QpOwog ICogQ29udGV4dDogaW5faW50ZXJydXB0KCkKICAqCiAgKiBUaGlzIGlzIGNhbGxlZCBieSBkZXZp Y2UgY29udHJvbGxlciBkcml2ZXJzIGluIG9yZGVyIHRvIHJldHVybiB0aGUKLSAqIGNvbXBsZXRl ZCByZXF1ZXN0IGJhY2sgdG8gdGhlIGdhZGdldCBsYXllci4KKyAqIGNvbXBsZXRlZCByZXF1ZXN0 IGJhY2sgdG8gdGhlIGdhZGdldCBsYXllci4gRm9yIHN0cmVhbSBjYXBhYmxlIGVuZHBvaW50cywK KyAqIHRoZSB0aW1lciB3aGljaCB3YXMgc3RhcnRlZCBpbiB1c2JfZXBfcXVldWUoKSB3b3VsZCBi ZSByZW1vdmVkLgogICovCiB2b2lkIHVzYl9nYWRnZXRfZ2l2ZWJhY2tfcmVxdWVzdChzdHJ1Y3Qg dXNiX2VwICplcCwKIAkJc3RydWN0IHVzYl9yZXF1ZXN0ICpyZXEpCkBAIC04ODYsNiArOTUyLDkg QEAgdm9pZCB1c2JfZ2FkZ2V0X2dpdmViYWNrX3JlcXVlc3Qoc3RydWN0IHVzYl9lcCAqZXAsCiAJ aWYgKGxpa2VseShyZXEtPnN0YXR1cyA9PSAwKSkKIAkJdXNiX2xlZF9hY3Rpdml0eShVU0JfTEVE X0VWRU5UX0dBREdFVCk7CiAKKwlpZiAoZXAtPnN0cmVhbV9jYXBhYmxlICYmIHRpbWVyX3BlbmRp bmcoJmVwLT5zdHJlYW1fdGltZW91dF90aW1lcikpCisJCWRlbF90aW1lcigmZXAtPnN0cmVhbV90 aW1lb3V0X3RpbWVyKTsKKwogCXRyYWNlX3VzYl9nYWRnZXRfZ2l2ZWJhY2tfcmVxdWVzdChlcCwg cmVxLCAwKTsKIAogCXJlcS0+Y29tcGxldGUoZXAsIHJlcSk7CmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L3VzYi9nYWRnZXQuaCBiL2luY2x1ZGUvbGludXgvdXNiL2dhZGdldC5oCmluZGV4IGU1 Y2Q4NGEuLjJlYmFlZjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdXNiL2dhZGdldC5oCisr KyBiL2luY2x1ZGUvbGludXgvdXNiL2dhZGdldC5oCkBAIC0xNDQsNiArMTQ0LDcgQEAgc3RydWN0 IHVzYl9lcF9vcHMgewogCiAJaW50ICgqZmlmb19zdGF0dXMpIChzdHJ1Y3QgdXNiX2VwICplcCk7 CiAJdm9pZCAoKmZpZm9fZmx1c2gpIChzdHJ1Y3QgdXNiX2VwICplcCk7CisJdm9pZCAoKnN0cmVh bV90aW1lb3V0KSAoc3RydWN0IHVzYl9lcCAqZXApOwogfTsKIAogLyoqCkBAIC0xODQsNiArMTg1 LDExIEBAIHN0cnVjdCB1c2JfZXBfY2FwcyB7CiAJCS5kaXJfb3V0ID0gISEoX2RpciAmIFVTQl9F UF9DQVBTX0RJUl9PVVQpLCBcCiAJfQogCisvKgorICogVGltZW91dCB2YWx1ZSBpbiBtc2VjcyB1 c2VkIGJ5IHN0cmVhbV90aW1lb3V0X3RpbWVyIHdoZW4gc3RyZWFtcyBhcmUgZW5hYmxlZAorICov CisjZGVmaW5lIFNUUkVBTV9USU1FT1VUX01TCTUwCisKIC8qKgogICogc3RydWN0IHVzYl9lcCAt IGRldmljZSBzaWRlIHJlcHJlc2VudGF0aW9uIG9mIFVTQiBlbmRwb2ludAogICogQG5hbWU6aWRl bnRpZmllciBmb3IgdGhlIGVuZHBvaW50LCBzdWNoIGFzICJlcC1hIiBvciAiZXA5aW4tYnVsayIK QEAgLTE5MSw2ICsxOTcsNyBAQCBzdHJ1Y3QgdXNiX2VwX2NhcHMgewogICogQGVwX2xpc3Q6dGhl IGdhZGdldCdzIGVwX2xpc3QgaG9sZHMgYWxsIG9mIGl0cyBlbmRwb2ludHMKICAqIEBjYXBzOlRo ZSBzdHJ1Y3R1cmUgZGVzY3JpYmluZyB0eXBlcyBhbmQgZGlyZWN0aW9ucyBzdXBwb3J0ZWQgYnkg ZW5kb2ludC4KICAqIEBlbmFibGVkOiBUaGUgY3VycmVudCBlbmRwb2ludCBlbmFibGVkL2Rpc2Fi bGVkIHN0YXRlLgorICogQHN0cmVhbV9jYXBhYmxlOiBTZXQgdG8gdHJ1ZSB3aGVuIGVwIHN1cHBv cnRzIGJ1bGsgc3RyZWFtcy4KICAqIEBjbGFpbWVkOiBUcnVlIGlmIHRoaXMgZW5kcG9pbnQgaXMg Y2xhaW1lZCBieSBhIGZ1bmN0aW9uLgogICogQG1heHBhY2tldDpUaGUgbWF4aW11bSBwYWNrZXQg c2l6ZSB1c2VkIG9uIHRoaXMgZW5kcG9pbnQuICBUaGUgaW5pdGlhbAogICoJdmFsdWUgY2FuIHNv bWV0aW1lcyBiZSByZWR1Y2VkIChoYXJkd2FyZSBhbGxvd2luZyksIGFjY29yZGluZyB0bwpAQCAt MjA5LDYgKzIxNiw5IEBAIHN0cnVjdCB1c2JfZXBfY2FwcyB7CiAgKgllbmFibGVkIGFuZCByZW1h aW5zIHZhbGlkIHVudGlsIHRoZSBlbmRwb2ludCBpcyBkaXNhYmxlZC4KICAqIEBjb21wX2Rlc2M6 IEluIGNhc2Ugb2YgU3VwZXJTcGVlZCBzdXBwb3J0LCB0aGlzIGlzIHRoZSBlbmRwb2ludCBjb21w YW5pb24KICAqCWRlc2NyaXB0b3IgdGhhdCBpcyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgZW5kcG9p bnQKKyAqIEBzdHJlYW1fdGltZW91dF90aW1lcjogdGltZW91dCB0aW1lciB1c2VkIGJ5IGJ1bGsg c3RyZWFtcyB0byBhdm9pZCBkZWFkbG9jaworICoJd2hlcmUgaG9zdCB3YWl0cyBmb3IgdGhlIGdh ZGdldCB0byBpc3N1ZSBFUkRZIGFuZCBnYWRnZXQgd2FpdHMgZm9yIGhvc3QKKyAqCXRvIGlzc3Vl IHByaW1lIHRyYW5zYWN0aW9uLgogICoKICAqIHRoZSBidXMgY29udHJvbGxlciBkcml2ZXIgbGlz dHMgYWxsIHRoZSBnZW5lcmFsIHB1cnBvc2UgZW5kcG9pbnRzIGluCiAgKiBnYWRnZXQtPmVwX2xp c3QuICB0aGUgY29udHJvbCBlbmRwb2ludCAoZ2FkZ2V0LT5lcDApIGlzIG5vdCBpbiB0aGF0IGxp c3QsCkBAIC0yMjQsMTIgKzIzNCwxNCBAQCBzdHJ1Y3QgdXNiX2VwIHsKIAlzdHJ1Y3QgdXNiX2Vw X2NhcHMJY2FwczsKIAlib29sCQkJY2xhaW1lZDsKIAlib29sCQkJZW5hYmxlZDsKKwlib29sCQkJ c3RyZWFtX2NhcGFibGU7CiAJdW5zaWduZWQJCW1heHBhY2tldDoxNjsKIAl1bnNpZ25lZAkJbWF4 cGFja2V0X2xpbWl0OjE2OwogCXVuc2lnbmVkCQltYXhfc3RyZWFtczoxNjsKIAl1bnNpZ25lZAkJ bXVsdDoyOwogCXVuc2lnbmVkCQltYXhidXJzdDo1OwogCXU4CQkJYWRkcmVzczsKKwlzdHJ1Y3Qg dGltZXJfbGlzdAlzdHJlYW1fdGltZW91dF90aW1lcjsKIAljb25zdCBzdHJ1Y3QgdXNiX2VuZHBv aW50X2Rlc2NyaXB0b3IJKmRlc2M7CiAJY29uc3Qgc3RydWN0IHVzYl9zc19lcF9jb21wX2Rlc2Ny aXB0b3IJKmNvbXBfZGVzYzsKIH07Cg==