From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 3/8] drm/msm: dpu: Remove vblank_callback from encoder Date: Wed, 14 Nov 2018 14:43:51 -0500 Message-ID: <20181114194351.GR154160@art_vandelay> References: <20181113205257.170707-1-sean@poorly.run> <20181113205257.170707-3-sean@poorly.run> <6d9307aae86d14ecbf70a39012b2d9f2@codeaurora.org> <20181114151323.GM154160@art_vandelay> <7e02a42c4a0aebc635cf6d798d8a667a@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: <7e02a42c4a0aebc635cf6d798d8a667a-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 , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gV2VkLCBOb3YgMTQsIDIwMTggYXQgMTE6MzM6NTNBTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gT24gMjAxOC0xMS0xNCAwNzoxMywgU2VhbiBQYXVsIHdyb3RlOgo+ID4gT24g VHVlLCBOb3YgMTMsIDIwMTggYXQgMDQ6NDc6MjJQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2FyYW4g d3JvdGU6Cj4gPiA+IE9uIDIwMTgtMTEtMTMgMTI6NTIsIFNlYW4gUGF1bCB3cm90ZToKPiA+ID4g PiBGcm9tOiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+ID4gPgo+ID4gPiA+ IFRoZSBpbmRpcmVjdGlvbiBvZiByZWdpc3RlcmluZyBhIGNhbGxiYWNrIGFuZCBvcGFxdWUgcG9p bnRlciBpc24ndAo+ID4gcmVhbAo+ID4gPiA+IHVzZWZ1bCB3aGVuIHRoZXJlJ3Mgb25seSBvbmUg Y2FsbHNpdGUuIFNvIGluc3RlYWQgb2YgaGF2aW5nIHRoZQo+ID4gPiA+IHZibGFua19jYiByZWdp c3RyYXRpb24sIGp1c3QgZ2l2ZSBlbmNvZGVyIGEgY3J0YyBhbmQgbGV0IGl0IGRpcmVjdGx5Cj4g PiA+ID4gY2FsbCB0aGUgdmJsYW5rIGhhbmRsZXIuCj4gPiA+ID4KPiA+ID4gPiBJbiBhIGxhdGVy IHBhdGNoLCB3ZSdsbCBtYWtlIHVzZSBvZiB0aGlzIGZ1cnRoZXIuCj4gPiA+ID4KPiA+ID4gPiBT aWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+ID4gPiAt LS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICB8 ICA4ICsrKy0tLS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ny dGMuaCAgICB8ICA2ICsrKysrCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyLmMgfCAyNQo+ID4gKysrKysrKysrKystLS0tLS0tLS0tCj4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmggfCAxMCArKysrLS0tLS0K PiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMo LSkKPiA+ID4gPgo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY3J0Yy5jCj4gPiA+ID4gaW5kZXggYWRkYTBhYTBjYmFhLi4zODExOWI0ZDRhODAgMTAwNjQ0 Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiA+ ID4gPiBAQCAtMjkxLDkgKzI5MSw4IEBAIGVudW0gZHB1X2ludGZfbW9kZSBkcHVfY3J0Y19nZXRf aW50Zl9tb2RlKHN0cnVjdAo+ID4gPiA+IGRybV9jcnRjICpjcnRjKQo+ID4gPiA+ICAJcmV0dXJu IElOVEZfTU9ERV9OT05FOwo+ID4gPiA+ICB9Cj4gPiA+ID4KPiA+ID4gPiAtc3RhdGljIHZvaWQg ZHB1X2NydGNfdmJsYW5rX2NiKHZvaWQgKmRhdGEpCj4gPiA+ID4gK3ZvaWQgZHB1X2NydGNfdmJs YW5rX2NhbGxiYWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ID4gPiAgewo+ID4gPiA+IC0J c3RydWN0IGRybV9jcnRjICpjcnRjID0gKHN0cnVjdCBkcm1fY3J0YyAqKWRhdGE7Cj4gPiA+ID4g IAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gPiA+IAo+ ID4gPiBTaW5jZSB3ZSBhcmUgY2FsbGluZyBpbnRvIGEgbG9jYWxseSBzdG9yZWQgQ1JUQyBhbmQg bm90IHRyYWNraW5nCj4gPiBkaXNhYmxlLgo+ID4gPiBTaG91bGQKPiA+ID4gd2UgY2hlY2sgZm9y IGNydGMtPmVuYWJsZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgY2FsbGJhY2s/Cj4gPiA+IAo+ID4g PiBJIHNlZSB2Ymxhbmtfb24vb2ZmIGNhbnQgYmUgY2FsbGVkIHdoZW4gQ1JUQyBpcyBkaXNhYmxl ZCB3aXRoIHRoZSByZXN0Cj4gPiA+IG9mIHRoZSBwYXRjaGVzIGluIHRoZSBzZXJpZXMuIEJ1dCB0 aGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCBieSBJUlEncwo+ID4gPiBjb250ZXh0Lgo+ID4gCj4g PiBIbW0sIHllYWgsIEkgaGFkIGFzc3VtZWQgdGhhdCB3ZSB3b3VsZG4ndCBoYXZlIGFueSBpbnRl cnJ1cHRzIGFmdGVyIGlycQo+ID4gZGlzYWJsZS4KPiA+IEhvd2V2ZXIgaXQgZG9lc24ndCBzZWVt IGxpa2UgdGhhdCdzIHRoZSBjYXNlLgo+ID4gCj4gPiBUaGF0IHNhaWQsIEkgZG9uJ3QgdGhpbmsg Y2hlY2tpbmcgY3J0Yy0+ZW5hYmxlIGlzIHF1aXRlIHdoYXQgd2Ugd2FudC4gSW4KPiA+IHRoZQo+ ID4gY2FzZSBvZiBkaXNhYmxlLCB0aGUgY3J0YyBpcyBjbGVhcmVkIGZyb20gdGhlIGVuY29kZXIs IHNvIGNoZWNraW5nIGZvcgo+ID4gY3J0YyAhPSBOVUxMIHdvdWxkIGJlIGJldHRlciBoZXJlLiBT R1RZPwo+IFRoYXQgd291bGQgc3RpbGwgY2F1c2UgYSByYWNlIGFzIGNydGMgYXNzaWdubWVudCB3 aWxsIGJlIHByb3RlY3RlZCBieQo+IG1vZGVzZXQKPiBsb2NrcyBhbmQgY3J0YyAhPSBOVUxMIGNo ZWNrIGlzbid0LgoKUmlnaHQsIHdlJ2QgbmVlZCB0byB3cmFwIHRoZSBjYWxsYmFjayBpbiB0aGUg ZW5jb2RlciBzcGlubG9jay4KCj4gPiAKPiA+IE5vdyB0aGF0IEkndmUgZHVnIGludG8gdGhlIHZi bGFuayBpcnEgaGFuZGxpbmcgYSBiaXQgaW4gdGhlIGVuY29kZXIsIGl0Cj4gPiBzZWVtcwo+ID4g bGlrZSB0aGF0IGNvdWxkIGJlIG1vdmVkIHRvIHRoZSBjcnRjIGFuZCBhIGJ1bmNoIG9mIHRoZQo+ ID4gZW5jb2Rlci0+Y3J0Yy0+ZW5jb2Rlcgo+ID4gYm91bmNpbmcgYXJvdW5kIGNvdWxkIGJlIGF2 b2lkZWQuIE9mZiB0aGUgdG9wIG9mIHlvdXIgaGVhZCwgaXMgdGhlcmUgYW55Cj4gPiByZWFzb24K PiA+IHdlIGNvdWxkbid0IG1vdmUgdGhlIHZibGFuayBpcnEgaGFuZGxpbmcgaW50byBjcnRjIGZy b20gZW5jb2Rlcj8KPiB2YmxhbmsgaXJxIGhhbmRsZXJzIGFyZSBvbmx5IG5lZWRlZCBmb3Igdmlk ZW8gbW9kZS4gQXMgd2l0aCBhbGwgdGhlIG90aGVyCj4gSVJRJ3MsIHRoZSBoYW5kbGVycyBhcmUg aW1wbGVtZW50ZWQgaW4gcGh5c19lbmNvZGVyIGxldmVsIGFuZCB0aGUgZXZlbnRzCj4gYXJlIGZv cndhcmRlZCBhcyBhbmQgd2hlbiBuZWVkZWQuCj4gCgpJIHRvb2sgYSBsb29rIGF0IGhvdyB0aGF0 IG1pZ2h0IHdvcmssIGFuZCBpdCBzZWVtcyBwb3NzaWJsZSBidXQgcHJvYmFibHkgbm90CndvcnRo d2hpbGUuCgpTZWFuCgo+IEJUVywgdGhlIHZibGFuayBpcnEgZmxvd3MgZnJvbSBwaHlzX2VuYy0+ dmlydHVhbF9lbmMtPmNydGMuCj4gCj4gVGhhbmtzLAo+IEpleWt1bWFyIFMuCj4gCj4gPiAKPiA+ IFNlYW4KPiA+IAo+ID4gPiAKPiA+ID4gPgo+ID4gPiA+ICAJLyoga2VlcCBzdGF0aXN0aWNzIG9u IHZibGFuayBjYWxsYmFjayAtIHdpdGggYXV0byByZXNldCB2aWEKPiA+ID4gPiBkZWJ1Z2ZzICov Cj4gPiA+ID4gQEAgLTc3OSw4ICs3NzgsNyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfdmJsYW5r X2VuYWJsZV9ub19sb2NrKAo+ID4gPiA+ICAJCQkJCQkgICAgIERSTUlEKGVuYyksIGVuYWJsZSwK PiA+ID4gPiAgCQkJCQkJICAgICBkcHVfY3J0Yyk7Cj4gPiA+ID4KPiA+ID4gPiAtCQkJZHB1X2Vu Y29kZXJfcmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrKGVuYywKPiA+ID4gPiAtCQkJCQlkcHVfY3J0 Y192YmxhbmtfY2IsICh2b2lkICopY3J0Yyk7Cj4gPiA+ID4gKwkJCWRwdV9lbmNvZGVyX2Fzc2ln bl9jcnRjKGVuYywgY3J0Yyk7Cj4gPiA+ID4gIAkJfQo+ID4gPiA+ICAJfSBlbHNlIHsKPiA+ID4g PiAgCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuYywgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9s aXN0LAo+ID4gPiA+IGhlYWQpIHsKPiA+ID4gPiBAQCAtNzkxLDcgKzc4OSw3IEBAIHN0YXRpYyB2 b2lkIF9kcHVfY3J0Y192YmxhbmtfZW5hYmxlX25vX2xvY2soCj4gPiA+ID4gIAkJCQkJCSAgICAg RFJNSUQoZW5jKSwgZW5hYmxlLAo+ID4gPiA+ICAJCQkJCQkgICAgIGRwdV9jcnRjKTsKPiA+ID4g Pgo+ID4gPiA+IC0JCQlkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soZW5jLCBO VUxMLAo+ID4gPiA+IE5VTEwpOwo+ID4gPiA+ICsJCQlkcHVfZW5jb2Rlcl9hc3NpZ25fY3J0Yyhl bmMsIE5VTEwpOwo+ID4gPiA+ICAJCX0KPiA+ID4gPiAgCX0KPiA+ID4gPiAgfQo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gPiA+ ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gPiA+ID4gaW5k ZXggOTNkMjFhNjFhMDQwLi41NDU5NWNjMjliZTUgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+ID4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKPiA+ID4gPiBAQCAtMjcwLDYgKzI3MCwx MiBAQCBzdGF0aWMgaW5saW5lIGludCBkcHVfY3J0Y19mcmFtZV9wZW5kaW5nKHN0cnVjdAo+ID4g PiA+IGRybV9jcnRjICpjcnRjKQo+ID4gPiA+ICAgKi8KPiA+ID4gPiAgaW50IGRwdV9jcnRjX3Zi bGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW4pOwo+ID4gPiA+Cj4gPiA+ID4gKy8q Kgo+ID4gPiA+ICsgKiBkcHVfY3J0Y192YmxhbmtfY2FsbGJhY2sgLSBjYWxsZWQgb24gdmJsYW5r IGlycSwgaXNzdWVzIGNvbXBsZXRpb24KPiA+ID4gPiBldmVudHMKPiA+ID4gPiArICogQGNydGM6 IFBvaW50ZXIgdG8gZHJtIGNydGMgb2JqZWN0Cj4gPiA+ID4gKyAqLwo+ID4gPiA+ICt2b2lkIGRw dV9jcnRjX3ZibGFua19jYWxsYmFjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ID4gPiA+ICsK PiA+ID4gPiAgLyoqCj4gPiA+ID4gICAqIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmIC0gdHJpZ2dl ciBraWNrb2ZmIG9mIHRoZSBjb21taXQgZm9yIHRoaXMKPiA+ID4gPiBjcnRjCj4gPiA+ID4gICAq IEBjcnRjOiBQb2ludGVyIHRvIGRybSBjcnRjIG9iamVjdAo+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4gPiA+ID4gYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4gPiA+ID4gaW5kZXggZDg5 YWM1MjBmN2U2Li5mZDY1MTRmNjgxYWUgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiA+ID4gPiBAQCAtMTQyLDkgKzE0Miwx MSBAQCBlbnVtIGRwdV9lbmNfcmNfc3RhdGVzIHsKPiA+ID4gPiAgICogQGludGZzX3N3YXBwZWQJ V2hldGhlciBvciBub3QgdGhlIHBoeXNfZW5jIGludGVyZmFjZXMgaGF2ZSBiZWVuCj4gPiA+ID4g c3dhcHBlZAo+ID4gPiA+ICAgKgkJCWZvciBwYXJ0aWFsIHVwZGF0ZSByaWdodC1vbmx5IGNhc2Vz LCBzdWNoIGFzCj4gPiA+ID4gcGluZ3BvbmcKPiA+ID4gPiAgICoJCQlzcGxpdCB3aGVyZSB2aXJ0 dWFsIHBpbmdwb25nIGRvZXMgbm90IGdlbmVyYXRlCj4gPiA+ID4gSVJRcwo+ID4gPiA+IC0gKiBA Y3J0Y192YmxhbmtfY2I6CUNhbGxiYWNrIGludG8gdGhlIHVwcGVyIGxheWVyIC8gQ1JUQyBmb3IK PiA+ID4gPiAtICoJCQlub3RpZmljYXRpb24gb2YgdGhlIFZCTEFOSwo+ID4gPiA+IC0gKiBAY3J0 Y192YmxhbmtfY2JfZGF0YToJRGF0YSBmcm9tIHVwcGVyIGxheWVyIGZvciBWQkxBTksKPiA+ID4g PiBub3RpZmljYXRpb24KPiA+ID4gPiArICogQGNydGM6CQlQb2ludGVyIHRvIHRoZSBjdXJyZW50 bHkgYXNzaWduZWQgY3J0Yy4gTm9ybWFsbHkKPiA+ID4gPiB5b3UKPiA+ID4gPiArICoJCQl3b3Vs ZCB1c2UgY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzayB0byBkZXRlcm1pbmUKPiA+ID4gPiB0aGUK PiA+ID4gPiArICoJCQlsaW5rIGJldHdlZW4gZW5jb2Rlci9jcnRjLiBIb3dldmVyIGluIHRoaXMg Y2FzZSB3ZQo+ID4gPiA+IG5lZWQKPiA+ID4gPiArICoJCQl0byB0cmFjayBjcnRjIGluIHRoZSBk aXNhYmxlKCkgaG9vayB3aGljaCBpcwo+ID4gPiA+IGNhbGxlZAo+ID4gPiA+ICsgKgkJCV9hZnRl cl8gZW5jb2Rlcl9tYXNrIGlzIGNsZWFyZWQuCj4gPiA+ID4gICAqIEBjcnRjX2tpY2tvZmZfY2I6 CQlDYWxsYmFjayBpbnRvIENSVEMgdGhhdCB3aWxsIGZsdXNoCj4gPiAmIHN0YXJ0Cj4gPiA+ID4g ICAqCQkJCWFsbCBDVEwgcGF0aHMKPiA+ID4gPiAgICogQGNydGNfa2lja29mZl9jYl9kYXRhOglP cGFxdWUgdXNlciBkYXRhIGdpdmVuIHRvIGNydGNfa2lja29mZl9jYgo+ID4gPiA+IEBAIC0xODYs OCArMTg4LDcgQEAgc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgewo+ID4gPiA+Cj4gPiA+ID4gIAli b29sIGludGZzX3N3YXBwZWQ7Cj4gPiA+ID4KPiA+ID4gPiAtCXZvaWQgKCpjcnRjX3ZibGFua19j Yikodm9pZCAqKTsKPiA+ID4gPiAtCXZvaWQgKmNydGNfdmJsYW5rX2NiX2RhdGE7Cj4gPiA+ID4g KwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gPiA+ID4KPiA+ID4gPiAgCXN0cnVjdCBkZW50cnkg KmRlYnVnZnNfcm9vdDsKPiA+ID4gPiAgCXN0cnVjdCBtdXRleCBlbmNfbG9jazsKPiA+ID4gPiBA QCAtMTI0MSw4ICsxMjQyLDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfdmJsYW5rX2NhbGxi YWNrKHN0cnVjdAo+ID4gPiA+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ID4gPiA+ICAJZHB1X2Vu YyA9IHRvX2RwdV9lbmNvZGVyX3ZpcnQoZHJtX2VuYyk7Cj4gPiA+ID4KPiA+ID4gPiAgCXNwaW5f bG9ja19pcnFzYXZlKCZkcHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwo+ID4gPiA+ IC0JaWYgKGRwdV9lbmMtPmNydGNfdmJsYW5rX2NiKQo+ID4gPiA+IC0JCWRwdV9lbmMtPmNydGNf dmJsYW5rX2NiKGRwdV9lbmMtPmNydGNfdmJsYW5rX2NiX2RhdGEpOwo+ID4gPiA+ICsJaWYgKGRw dV9lbmMtPmNydGMpCj4gPiA+ID4gKwkJZHB1X2NydGNfdmJsYW5rX2NhbGxiYWNrKGRwdV9lbmMt PmNydGMpOwo+ID4gPiA+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3Nw aW5sb2NrLCBsb2NrX2ZsYWdzKTsKPiA+ID4gPgo+ID4gPiA+ICAJYXRvbWljX2luYygmcGh5X2Vu Yy0+dnN5bmNfY250KTsKPiA+ID4gPiBAQCAtMTI2MiwxNSArMTI2MywxNCBAQCBzdGF0aWMgdm9p ZAo+ID4gZHB1X2VuY29kZXJfdW5kZXJydW5fY2FsbGJhY2soc3RydWN0Cj4gPiA+ID4gZHJtX2Vu Y29kZXIgKmRybV9lbmMsCj4gPiA+ID4gIAlEUFVfQVRSQUNFX0VORCgiZW5jb2Rlcl91bmRlcnJ1 bl9jYWxsYmFjayIpOwo+ID4gPiA+ICB9Cj4gPiA+ID4KPiA+ID4gPiAtdm9pZCBkcHVfZW5jb2Rl cl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soc3RydWN0IGRybV9lbmNvZGVyCj4gPiAqZHJtX2Vu YywKPiA+ID4gPiAtCQl2b2lkICgqdmJsX2NiKSh2b2lkICopLCB2b2lkICp2YmxfZGF0YSkKPiA+ ID4gPiArdm9pZCBkcHVfZW5jb2Rlcl9hc3NpZ25fY3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRy bV9lbmMsIHN0cnVjdAo+ID4gPiA+IGRybV9jcnRjCj4gPiA+ID4gKmNydGMpCj4gPiA+ID4gIHsK PiA+ID4gPiAgCXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jID0gdG9fZHB1X2VuY29k ZXJfdmlydChkcm1fZW5jKTsKPiA+ID4gPiAgCXVuc2lnbmVkIGxvbmcgbG9ja19mbGFnczsKPiA+ ID4gPiAgCWJvb2wgZW5hYmxlOwo+ID4gPiA+ICAJaW50IGk7Cj4gPiA+ID4KPiA+ID4gPiAtCWVu YWJsZSA9IHZibF9jYiA/IHRydWUgOiBmYWxzZTsKPiA+ID4gPiArCWVuYWJsZSA9IGNydGMgPyB0 cnVlIDogZmFsc2U7Cj4gPiA+ID4KPiA+ID4gPiAgCWlmICghZHJtX2VuYykgewo+ID4gPiA+ICAJ CURQVV9FUlJPUigiaW52YWxpZCBlbmNvZGVyXG4iKTsKPiA+ID4gPiBAQCAtMTI3OSw4ICsxMjc5 LDkgQEAgdm9pZCBkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soc3RydWN0Cj4g PiA+ID4gZHJtX2VuY29kZXIgKmRybV9lbmMsCj4gPiA+ID4gIAl0cmFjZV9kcHVfZW5jX3ZibGFu a19jYihEUk1JRChkcm1fZW5jKSwgZW5hYmxlKTsKPiA+ID4gPgo+ID4gPiA+ICAJc3Bpbl9sb2Nr X2lycXNhdmUoJmRwdV9lbmMtPmVuY19zcGlubG9jaywgbG9ja19mbGFncyk7Cj4gPiA+ID4gLQlk cHVfZW5jLT5jcnRjX3ZibGFua19jYiA9IHZibF9jYjsKPiA+ID4gPiAtCWRwdV9lbmMtPmNydGNf dmJsYW5rX2NiX2RhdGEgPSB2YmxfZGF0YTsKPiA+ID4gPiArCS8qIGNydGMgc2hvdWxkIGFsd2F5 cyBiZSBjbGVhcmVkIGJlZm9yZSByZS1hc3NpZ25pbmcgKi8KPiA+ID4gPiArCVdBUk5fT04oY3J0 YyAmJiBkcHVfZW5jLT5jcnRjKTsKPiA+ID4gPiArCWRwdV9lbmMtPmNydGMgPSBjcnRjOwo+ID4g PiA+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2Nr X2ZsYWdzKTsKPiA+ID4gPgo+ID4gPiA+ICAJZm9yIChpID0gMDsgaSA8IGRwdV9lbmMtPm51bV9w aHlzX2VuY3M7IGkrKykgewo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfZW5jb2Rlci5oCj4gPiA+ID4gaW5kZXggYWE0ZjEzNTIxOGZhLi5iZTFkODA4 Njc4MzQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXIuaAo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyLmgKPiA+ID4gPiBAQCAtNTUsMTQgKzU1LDEyIEBAIHZvaWQgZHB1X2VuY29k ZXJfZ2V0X2h3X3Jlc291cmNlcyhzdHJ1Y3QKPiA+IGRybV9lbmNvZGVyCj4gPiA+ID4gKmVuY29k ZXIsCj4gPiA+ID4gIAkJCQkgIHN0cnVjdCBkcHVfZW5jb2Rlcl9od19yZXNvdXJjZXMKPiA+ID4g PiAqaHdfcmVzKTsKPiA+ID4gPgo+ID4gPiA+ICAvKioKPiA+ID4gPiAtICogZHB1X2VuY29kZXJf cmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrIC0gcHJvdmlkZSBjYWxsYmFjayB0byBlbmNvZGVyCj4g PiA+ID4gdGhhdAo+ID4gPiA+IC0gKgl3aWxsIGJlIGNhbGxlZCBvbiB0aGUgbmV4dCB2Ymxhbmsu Cj4gPiA+ID4gKyAqIGRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjIC0gTGluayB0aGUgZW5jb2RlciB0 byB0aGUgY3J0YyBpdCdzCj4gPiBhc3NpZ25lZAo+ID4gPiA+IHRvCj4gPiA+ID4gICAqIEBlbmNv ZGVyOgllbmNvZGVyIHBvaW50ZXIKPiA+ID4gPiAtICogQGNiOgkJY2FsbGJhY2sgcG9pbnRlciwg cHJvdmlkZSBOVUxMIHRvIGRlcmVnaXN0ZXIgYW5kCj4gPiA+ID4gZGlzYWJsZSBJUlFzCj4gPiA+ ID4gLSAqIEBkYXRhOgl1c2VyIGRhdGEgcHJvdmlkZWQgdG8gY2FsbGJhY2sKPiA+ID4gPiArICog QGNydGM6CWNydGMgcG9pbnRlcgo+ID4gPiA+ICAgKi8KPiA+ID4gPiAtdm9pZCBkcHVfZW5jb2Rl cl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soc3RydWN0IGRybV9lbmNvZGVyCj4gPiAqZW5jb2Rl ciwKPiA+ID4gPiAtCQl2b2lkICgqY2IpKHZvaWQgKiksIHZvaWQgKmRhdGEpOwo+ID4gPiA+ICt2 b2lkIGRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK PiA+ID4gPiArCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ID4gPiA+Cj4gPiA+ID4g IC8qKgo+ID4gPiA+ICAgKiBkcHVfZW5jb2Rlcl9yZWdpc3Rlcl9mcmFtZV9ldmVudF9jYWxsYmFj ayAtIHByb3ZpZGUgY2FsbGJhY2sgdG8KPiA+ID4gPiBlbmNvZGVyIHRoYXQKPiA+ID4gCj4gPiA+ IC0tCj4gPiA+IEpleWt1bWFyIFMKPiAKPiAtLSAKPiBKZXlrdW1hciBTCgotLSAKU2VhbiBQYXVs LCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApG cmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==