From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 5/5] drm/msm: subclass work object for vblank events Date: Thu, 29 Nov 2018 17:15:11 -0500 Message-ID: <20181129221511.GI154160@art_vandelay> References: <1541543790-748-1-git-send-email-jsanka@codeaurora.org> <1541543790-748-5-git-send-email-jsanka@codeaurora.org> <20181107155551.GZ154160@art_vandelay> <86c75419b86da1a3f538638ef0004203@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <86c75419b86da1a3f538638ef0004203-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Jeykumar Sankaran Cc: Sean Paul , robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVHVlLCBOb3YgMjAsIDIwMTggYXQgMDI6MDQ6MTRQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gT24gMjAxOC0xMS0wNyAwNzo1NSwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gT24g VHVlLCBOb3YgMDYsIDIwMTggYXQgMDI6MzY6MzBQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2FyYW4g d3JvdGU6Cj4gPiA+IG1zbSBtYWludGFpbnMgYSBzZXBhcmF0ZSBzdHJ1Y3R1cmUgdG8gZGVmaW5l IHZibGFuawo+ID4gPiB3b3JrIGRlZmluaXRpb25zIGFuZCBhIGxpc3QgdG8gdHJhY2sgZXZlbnRz IHN1Ym1pdHRlZAo+ID4gPiB0byB0aGUgd29ya3F1ZXVlLiBXZSBjYW4gYXZvaWQgdGhpcyByZWR1 bmRhbnQgbGlzdAo+ID4gPiBhbmQgaXRzIHByb3RlY3Rpb24gbWVjaGFuaXNtLCBpZiB3ZSBzdWJj bGFzcyB0aGUKPiA+ID4gd29yayBvYmplY3QgdG8gZW5jYXBzdWxhdGUgdmJsYW5rIGV2ZW50IHBh cmFtZXRlcnMuCj4gPiA+IAo+ID4gPiBjaGFuZ2VzIGluIHYyOgo+ID4gPiAJLSBzdWJjbGFzcyBv cHRpbWl6YXRpb24gb24gc3lzdGVtIHdxIChTZWFuIFBhdWwpCj4gPiAKPiA+IEkgd291bGRuJ3Qg ZG8gaXQgbGlrZSB0aGlzLCB0YmguIE9uZSBwcm9ibGVtIGlzIHRoYXQgeW91J3ZlIGxvc3QgeW91 cgo+ID4gZmx1c2goKSBvbgo+ID4gdW5iaW5kLCBzbyB0aGVyZSdzIG5vIHdheSB0byBrbm93IGlm IHlvdSBoYXZlIHdvcmtlcnMgaW4gdGhlIHdpbGQKPiA+IHdhaXRpbmcKPiA+IHRvCj4gPiBlbmFi bGUvZGlzYWJsZSB2YmxhbmsuCj4gPiAKPiA+IEFub3RoZXIgaXNzdWVzIGlzIHRoYXQgQUZBSUNU LCB3ZSBkb24ndCBuZWVkIGEgcXVldWUgb2YKPiA+IGVuYWJsZXMvZGlzYWJsZXMsCj4gPiBidXQK PiA+IHJhdGhlciBqdXN0IHRoZSBsYXN0IHJlcXVlc3RlZCBzdGF0ZSAoaWU6IHNob3VsZCB3ZSBi ZSBvbiBvciBvZmYpLiBTbwo+ID4gdGhpbmdzCj4gPiBkb24ndCBuZWVkIHRvIGJlIHRoaXMgY29t cGxpY2F0ZWQgKGFuZCB3ZSdyZSBwb3NzaWJseSB0aHJhc2hpbmcgdmJsYW5rCj4gPiBvbi9vZmYK PiA+IGZvciBubyByZWFzb24pLgo+ID4gCj4gPiBJJ20gc3RpbGwgb2YgdGhlIG1pbmQgdGhhdCB5 b3Ugc2hvdWxkIGp1c3QgbWFrZSB0aGlzIHN5bmNocm9ub3VzIGFuZCBiZQo+ID4gZG9uZQo+ID4g d2l0aCB0aGUgdGhyZWFkcyAoZXNwZWNpYWxseSBzaW5jZSB3ZSdyZSBzdGlsbCB1bmNvdmVyaW5n L2ludHJvZHVjaW5nCj4gPiByYWNlcyEpLgo+ID4gCj4gV2hpbGUgc2NvcGluZyBvdXQgdGhlIGVm Zm9ydCB0byBtYWtlIHZibGFuayBldmVudHMgc3luY2hyb25vdXMsIEkgZm91bmQKPiB0aGF0IHRo ZSBzcGlubG9jayBsb2NraW5nIG9yZGVyIG9mIHZibGFuayByZXF1ZXN0IHNlcXVlbmNlIGFuZCB2 YmxhbmsKPiBjYWxsYmFjawo+IHNlcXVlbmNlcyBhcmUgdGhlIG9wcG9zaXRlLgo+IAo+IEluIERQ VSwgZHJtX3ZibGFua19lbmFibGUgYWNxdWlyZXMgdmJsYW5rX3RpbWVfbG9jayBiZWZvcmUgcmVn aXN0ZXJpbmcKPiB0aGUgY3J0YyB0byBlbmNvZGVyIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgYWNxdWly aW5nIGVuY29kZXJfc3BpbmxvY2suIEJ1dAo+IHRoZSB2YmxhbmtfY2FsbGJhY2sgYWNxdWlyZXMg ZW5jb2Rlcl9zcGlubG9jayBiZWZvcmUgYWNjZXNzaW5nIHRoZQo+IHJlZ2lzdGVyZWQKPiBjcnRj IGFuZCBjYWxsaW5nIGludG8gZHJtX3ZibGFua19oYW5kbGVyIHdoaWNoIHRyaWVzIHRvIGFjcXVp cmUKPiB2YmxhbmtfdGltZV9sb2NrLgo+IEFjcXVpcmluZyBib3RoIHZibGFua190aW1lX2xvY2sg YW5kIGVuY29kZXJfc3BpbmxvY2sgaW4gdGhlIHNhbWUgdGhyZWFkCj4gaXMgbGVhZGluZyB0byBk ZWFkbG9jay4KCkhtbSwgSSdtIG5vdCBzdXJlIEkgZm9sbG93LiBBcmUgeW91IHNlZWluZyBpc3N1 ZXMgd2hlcmUgaXJxIG92ZXJsYXBzIHdpdGgKZW5hYmxlL2Rpc2FibGU/IEkgaGFja2VkIGluIHN5 bmMgdmJsYW5rIGVuYWJsZS9kaXNhYmxlIHF1aWNrbHkgdG8gc2VlIGlmIEkgY291bGQKcmVwcm9k dWNlIHdoYXQgeW91J3JlIHNlZWluZywgYnV0IHRoaW5ncyBzZWVtZWQgd2VsbCBiZWhhdmVkLgoK SSBkbyBzZWUgdGhhdCB0aGVyZSBpcyBhIGNoYW5jZSB0byBjYWxsIGRybV9oYW5kbGVfdmJsYW5r KCkgd2hpbGUgaG9sZGluZwplbmNfc3BpbmxvY2ssIGJ1dCBjb3VsZG4ndCBmaW5kIGFueSBvYnZp b3VzIGxvY2sgcmVjdXJzaW9uIHRoZXJlLgoKTWF5YmUgYSBjYWxsc3RhY2sgb3IgbG9ja2RlcCBz cGxhdCB3b3VsZCBoZWxwPwoKU2VhbgoKCkhlcmUncyBteSBoYWNrIHRvIGJ5cGFzcyB0aGUgZGlz cGxheSB0aHJlYWQ6CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCA5YzlmN2ZmNjk2MGIzOC4uNWEz Y2FjNTgyNTMxOWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBAIC0yNDIsMjQgKzI0MiwxOSBAQCBz dGF0aWMgdm9pZCB2YmxhbmtfY3RybF93b3JrZXIoc3RydWN0IGt0aHJlYWRfd29yayAqd29yaykK IHN0YXRpYyBpbnQgdmJsYW5rX2N0cmxfcXVldWVfd29yayhzdHJ1Y3QgbXNtX2RybV9wcml2YXRl ICpwcml2LAogCQkJCQlpbnQgY3J0Y19pZCwgYm9vbCBlbmFibGUpCiB7CisJc3RydWN0IG1zbV9r bXMgKmttcyA9IHByaXYtPmttczsKIAlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsICp2YmxfY3RybCA9 ICZwcml2LT52YmxhbmtfY3RybDsKLQlzdHJ1Y3QgdmJsYW5rX2V2ZW50ICp2YmxfZXY7CiAJdW5z aWduZWQgbG9uZyBmbGFnczsKIAotCXZibF9ldiA9IGt6YWxsb2Moc2l6ZW9mKCp2YmxfZXYpLCBH RlBfQVRPTUlDKTsKLQlpZiAoIXZibF9ldikKLQkJcmV0dXJuIC1FTk9NRU07CisJc3Bpbl9sb2Nr X2lycXNhdmUoJnZibF9jdHJsLT5sb2NrLCBmbGFncyk7CiAKLQl2YmxfZXYtPmNydGNfaWQgPSBj cnRjX2lkOwotCXZibF9ldi0+ZW5hYmxlID0gZW5hYmxlOworCWlmIChlbmFibGUpCisJCWttcy0+ ZnVuY3MtPmVuYWJsZV92Ymxhbmsoa21zLCBwcml2LT5jcnRjc1tjcnRjX2lkXSk7CisJZWxzZQor CQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMsIHByaXYtPmNydGNzW2NydGNfaWRdKTsK IAotCXNwaW5fbG9ja19pcnFzYXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwotCWxpc3RfYWRk X3RhaWwoJnZibF9ldi0+bm9kZSwgJnZibF9jdHJsLT5ldmVudF9saXN0KTsKIAlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwogCi0Ja3RocmVhZF9xdWV1ZV93 b3JrKCZwcml2LT5kaXNwX3RocmVhZFtjcnRjX2lkXS53b3JrZXIsCi0JCQkmdmJsX2N0cmwtPndv cmspOwotCiAJcmV0dXJuIDA7CiB9CgoKCj4gCj4gSW4gTURQNSwgSSBzZWUgdGhlIHNhbWUgcGF0 dGVybiBiZXR3ZWVuIHZibGFua190aW1lX2xvY2sgYW5kIGxpc3RfbG9jayB3aGljaAo+IGlzIHVz ZWQgdG8gdHJhY2sgdGhlIGlycSBoYW5kbGVycy4KPiAKPiBJIGJlbGlldmUgdGhhdCBleHBsYWlu cyB3aHkgbXNtX2RydiBpcyBxdWV1aW5nIHRoZSB2YmxhbmsgZW5hYmxlL2Rpc2FibGUKPiB3b3Jr cyB0byBXUSBhZnRlciBhY3F1aXJpbmcgdmJsYW5rX3RpbWVfbG9jay4KPiAKPiBUaGFua3MsCj4g SmV5a3VtYXIgUy4KPiAKPiA+IFNlYW4KPiA+IAo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTog SmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KPiA+ID4gLS0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyB8IDY3Cj4gPiArKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuaCB8ICA3IC0tLS0tCj4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMo KyksIDU0IGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCj4g PiA+IGluZGV4IDZkNmM3M2IuLjhkYTViZTIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Ry di5jCj4gPiA+IEBAIC0yMDMsNjEgKzIwMyw0NCBAQCB1MzIgbXNtX3JlYWRsKGNvbnN0IHZvaWQg X19pb21lbSAqYWRkcikKPiA+ID4gIAlyZXR1cm4gdmFsOwo+ID4gPiAgfQo+ID4gPiAKPiA+ID4g LXN0cnVjdCB2YmxhbmtfZXZlbnQgewo+ID4gPiAtCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKPiA+ ID4gK3N0cnVjdCBtc21fdmJsYW5rX3dvcmsgewo+ID4gPiArCXN0cnVjdCB3b3JrX3N0cnVjdCB3 b3JrOwo+ID4gPiAgCWludCBjcnRjX2lkOwo+ID4gPiAgCWJvb2wgZW5hYmxlOwo+ID4gPiArCXN0 cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4gPiA+ICB9Owo+ID4gPiAKPiA+ID4gIHN0YXRp YyB2b2lkIHZibGFua19jdHJsX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiA+ ICB7Cj4gPiA+IC0Jc3RydWN0IG1zbV92YmxhbmtfY3RybCAqdmJsX2N0cmwgPSBjb250YWluZXJf b2Yod29yaywKPiA+ID4gLQkJCQkJCXN0cnVjdCBtc21fdmJsYW5rX2N0cmwsCj4gPiB3b3JrKTsK PiA+ID4gLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gY29udGFpbmVyX29mKHZibF9j dHJsLAo+ID4gPiAtCQkJCQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlLAo+ID4gdmJsYW5rX2N0cmwp Owo+ID4gPiArCXN0cnVjdCBtc21fdmJsYW5rX3dvcmsgKnZibF93b3JrID0gY29udGFpbmVyX29m KHdvcmssCj4gPiA+ICsJCQkJCQlzdHJ1Y3QgbXNtX3ZibGFua193b3JrLAo+ID4gd29yayk7Cj4g PiA+ICsJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IHZibF93b3JrLT5wcml2Owo+ID4g PiAgCXN0cnVjdCBtc21fa21zICprbXMgPSBwcml2LT5rbXM7Cj4gPiA+IC0Jc3RydWN0IHZibGFu a19ldmVudCAqdmJsX2V2LCAqdG1wOwo+ID4gPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gPiA+ IC0KPiA+ID4gLQlzcGluX2xvY2tfaXJxc2F2ZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPiA+ ID4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodmJsX2V2LCB0bXAsICZ2YmxfY3RybC0+ZXZl bnRfbGlzdCwgbm9kZSkKPiA+IHsKPiA+ID4gLQkJbGlzdF9kZWwoJnZibF9ldi0+bm9kZSk7Cj4g PiA+IC0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZibF9jdHJsLT5sb2NrLCBmbGFncyk7Cj4g PiA+IC0KPiA+ID4gLQkJaWYgKHZibF9ldi0+ZW5hYmxlKQo+ID4gPiAtCQkJa21zLT5mdW5jcy0+ ZW5hYmxlX3ZibGFuayhrbXMsCj4gPiA+IC0KPiA+IHByaXYtPmNydGNzW3ZibF9ldi0+Y3J0Y19p ZF0pOwo+ID4gPiAtCQllbHNlCj4gPiA+IC0JCQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhr bXMsCj4gPiA+IC0KPiA+IHByaXYtPmNydGNzW3ZibF9ldi0+Y3J0Y19pZF0pOwo+ID4gPiAKPiA+ ID4gLQkJa2ZyZWUodmJsX2V2KTsKPiA+ID4gLQo+ID4gPiAtCQlzcGluX2xvY2tfaXJxc2F2ZSgm dmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPiA+ID4gLQl9Cj4gPiA+ICsJaWYgKHZibF93b3JrLT5l bmFibGUpCj4gPiA+ICsJCWttcy0+ZnVuY3MtPmVuYWJsZV92Ymxhbmsoa21zLAo+ID4gcHJpdi0+ Y3J0Y3NbdmJsX3dvcmstPmNydGNfaWRdKTsKPiA+ID4gKwllbHNlCj4gPiA+ICsJCWttcy0+ZnVu Y3MtPmRpc2FibGVfdmJsYW5rKGttcywKPiA+IHByaXYtPmNydGNzW3ZibF93b3JrLT5jcnRjX2lk XSk7Cj4gPiA+IAo+ID4gPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZibF9jdHJsLT5sb2Nr LCBmbGFncyk7Cj4gPiA+ICsJa2ZyZWUodmJsX3dvcmspOwo+ID4gPiAgfQo+ID4gPiAKPiA+ID4g IHN0YXRpYyBpbnQgdmJsYW5rX2N0cmxfcXVldWVfd29yayhzdHJ1Y3QgbXNtX2RybV9wcml2YXRl ICpwcml2LAo+ID4gPiAgCQkJCQlpbnQgY3J0Y19pZCwgYm9vbCBlbmFibGUpCj4gPiA+ICB7Cj4g PiA+IC0Jc3RydWN0IG1zbV92YmxhbmtfY3RybCAqdmJsX2N0cmwgPSAmcHJpdi0+dmJsYW5rX2N0 cmw7Cj4gPiA+IC0Jc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2Owo+ID4gPiAtCXVuc2lnbmVk IGxvbmcgZmxhZ3M7Cj4gPiA+ICsJc3RydWN0IG1zbV92Ymxhbmtfd29yayAqdmJsX3dvcms7Cj4g PiA+IAo+ID4gPiAtCXZibF9ldiA9IGt6YWxsb2Moc2l6ZW9mKCp2YmxfZXYpLCBHRlBfQVRPTUlD KTsKPiA+ID4gLQlpZiAoIXZibF9ldikKPiA+ID4gKwl2Ymxfd29yayA9IGt6YWxsb2Moc2l6ZW9m KCp2Ymxfd29yayksIEdGUF9BVE9NSUMpOwo+ID4gPiArCWlmICghdmJsX3dvcmspCj4gPiA+ICAJ CXJldHVybiAtRU5PTUVNOwo+ID4gPiAKPiA+ID4gLQl2YmxfZXYtPmNydGNfaWQgPSBjcnRjX2lk Owo+ID4gPiAtCXZibF9ldi0+ZW5hYmxlID0gZW5hYmxlOwo+ID4gPiArCUlOSVRfV09SSygmdmJs X3dvcmstPndvcmssIHZibGFua19jdHJsX3dvcmtlcik7Cj4gPiA+IAo+ID4gPiAtCXNwaW5fbG9j a19pcnFzYXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwo+ID4gPiAtCWxpc3RfYWRkX3RhaWwo JnZibF9ldi0+bm9kZSwgJnZibF9jdHJsLT5ldmVudF9saXN0KTsKPiA+ID4gLQlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwo+ID4gPiArCXZibF93b3JrLT5j cnRjX2lkID0gY3J0Y19pZDsKPiA+ID4gKwl2Ymxfd29yay0+ZW5hYmxlID0gZW5hYmxlOwo+ID4g PiArCXZibF93b3JrLT5wcml2ID0gcHJpdjsKPiA+ID4gCj4gPiA+IC0Jc2NoZWR1bGVfd29yaygm dmJsX2N0cmwtPndvcmspOwo+ID4gPiArCXNjaGVkdWxlX3dvcmsoJnZibF93b3JrLT53b3JrKTsK PiA+ID4gCj4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ICB9Cj4gPiA+IEBAIC0yNjksMTQgKzI1Miwx MyBAQCBzdGF0aWMgaW50IG1zbV9kcm1fdW5pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ID4g IAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ ICAJc3RydWN0IG1zbV9rbXMgKmttcyA9IHByaXYtPmttczsKPiA+ID4gIAlzdHJ1Y3QgbXNtX21k c3MgKm1kc3MgPSBwcml2LT5tZHNzOwo+ID4gPiAtCXN0cnVjdCBtc21fdmJsYW5rX2N0cmwgKnZi bF9jdHJsID0gJnByaXYtPnZibGFua19jdHJsOwo+ID4gPiAtCXN0cnVjdCB2YmxhbmtfZXZlbnQg KnZibF9ldiwgKnRtcDsKPiA+ID4gIAlpbnQgaTsKPiA+ID4gCj4gPiA+ICAJLyogV2UgbXVzdCBj YW5jZWwgYW5kIGNsZWFudXAgYW55IHBlbmRpbmcgdmJsYW5rIGVuYWJsZS9kaXNhYmxlCj4gPiA+ ICAJICogd29yayBiZWZvcmUgZHJtX2lycV91bmluc3RhbGwoKSB0byBhdm9pZCB3b3JrIHJlLWVu YWJsaW5nIGFuCj4gPiA+ICAJICogaXJxIGFmdGVyIHVuaW5zdGFsbCBoYXMgZGlzYWJsZWQgaXQu Cj4gPiA+ICAJICovCj4gPiA+ICsKPiA+ID4gIAltc21fZ2VtX3Nocmlua2VyX2NsZWFudXAoZGRl dik7Cj4gPiA+IAo+ID4gPiAgCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsKPiA+ID4g QEAgLTI5MiwxMiArMjc0LDYgQEAgc3RhdGljIGludCBtc21fZHJtX3VuaW5pdChzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gPiA+ICAjZW5kaWYKPiA+ID4gIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChk ZGV2KTsKPiA+ID4gCj4gPiA+IC0JZmx1c2hfd29yaygmdmJsX2N0cmwtPndvcmspOwo+ID4gPiAt CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2YmxfZXYsIHRtcCwgJnZibF9jdHJsLT5ldmVudF9s aXN0LCBub2RlKQo+ID4gewo+ID4gPiAtCQlsaXN0X2RlbCgmdmJsX2V2LT5ub2RlKTsKPiA+ID4g LQkJa2ZyZWUodmJsX2V2KTsKPiA+ID4gLQl9Cj4gPiA+IC0KPiA+ID4gIAkvKiBjbGVhbiB1cCBl dmVudCB3b3JrZXIgdGhyZWFkcyAqLwo+ID4gPiAgCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1f Y3J0Y3M7IGkrKykgewo+ID4gPiAgCQlpZiAocHJpdi0+ZXZlbnRfdGhyZWFkW2ldLnRocmVhZCkg ewo+ID4gPiBAQCAtNDY5LDkgKzQ0NSw2IEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0Cj4gPiBkcm1fZHJpdmVyICpkcnYpCj4gPiA+ICAJcHJpdi0+ d3EgPSBhbGxvY19vcmRlcmVkX3dvcmtxdWV1ZSgibXNtIiwgMCk7Cj4gPiA+IAo+ID4gPiAgCUlO SVRfTElTVF9IRUFEKCZwcml2LT5pbmFjdGl2ZV9saXN0KTsKPiA+ID4gLQlJTklUX0xJU1RfSEVB RCgmcHJpdi0+dmJsYW5rX2N0cmwuZXZlbnRfbGlzdCk7Cj4gPiA+IC0JSU5JVF9XT1JLKCZwcml2 LT52YmxhbmtfY3RybC53b3JrLCB2YmxhbmtfY3RybF93b3JrZXIpOwo+ID4gPiAtCXNwaW5fbG9j a19pbml0KCZwcml2LT52YmxhbmtfY3RybC5sb2NrKTsKPiA+ID4gCj4gPiA+ICAJZHJtX21vZGVf Y29uZmlnX2luaXQoZGRldik7Cj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fZHJ2LmgKPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiA+ ID4gaW5kZXggMDVkMzNhNy4uZDRjYmRlMiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fZHJ2LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmgKPiA+ID4gQEAgLTc3LDEyICs3Nyw2IEBAIGVudW0gbXNtX21kcF9wbGFuZV9wcm9wZXJ0eSB7 Cj4gPiA+ICAJUExBTkVfUFJPUF9NQVhfTlVNCj4gPiA+ICB9Owo+ID4gPiAKPiA+ID4gLXN0cnVj dCBtc21fdmJsYW5rX2N0cmwgewo+ID4gPiAtCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwo+ID4g PiAtCXN0cnVjdCBsaXN0X2hlYWQgZXZlbnRfbGlzdDsKPiA+ID4gLQlzcGlubG9ja190IGxvY2s7 Cj4gPiA+IC19Owo+ID4gPiAtCj4gPiA+ICAjZGVmaW5lIE1TTV9HUFVfTUFYX1JJTkdTIDQKPiA+ ID4gICNkZWZpbmUgTUFYX0hfVElMRVNfUEVSX0RJU1BMQVkgMgo+ID4gPiAKPiA+ID4gQEAgLTIy NSw3ICsyMTksNiBAQCBzdHJ1Y3QgbXNtX2RybV9wcml2YXRlIHsKPiA+ID4gIAlzdHJ1Y3Qgbm90 aWZpZXJfYmxvY2sgdm1hcF9ub3RpZmllcjsKPiA+ID4gIAlzdHJ1Y3Qgc2hyaW5rZXIgc2hyaW5r ZXI7Cj4gPiA+IAo+ID4gPiAtCXN0cnVjdCBtc21fdmJsYW5rX2N0cmwgdmJsYW5rX2N0cmw7Cj4g PiA+ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnBtX3N0YXRlOwo+ID4gPiAgfTsKPiA+ID4g Cj4gPiA+IC0tCj4gPiA+IFRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBh IG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEKPiA+IEZvcnVtLAo+ID4gPiBhIExpbnV4IEZvdW5k YXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cj4gPiA+IAo+ID4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBGcmVlZHJlbm8gbWFpbGluZyBs aXN0Cj4gPiA+IEZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8KPiAKPiAtLSAK PiBKZXlrdW1hciBTCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8g Q2hyb21pdW0gT1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5v Cg==