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: Fri, 16 Nov 2018 13:28:57 -0500 Message-ID: <20181116182857.GV154160@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> <20181114194351.GR154160@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181114194351.GR154160@art_vandelay> 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 T24gV2VkLCBOb3YgMTQsIDIwMTggYXQgMDI6NDM6NTFQTSAtMDUwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFdlZCwgTm92IDE0LCAyMDE4IGF0IDExOjMzOjUzQU0gLTA4MDAsIEpleWt1bWFyIFNh bmthcmFuIHdyb3RlOgo+ID4gT24gMjAxOC0xMS0xNCAwNzoxMywgU2VhbiBQYXVsIHdyb3RlOgo+ ID4gPiBPbiBUdWUsIE5vdiAxMywgMjAxOCBhdCAwNDo0NzoyMlBNIC0wODAwLCBKZXlrdW1hciBT YW5rYXJhbiB3cm90ZToKPiA+ID4gPiBPbiAyMDE4LTExLTEzIDEyOjUyLCBTZWFuIFBhdWwgd3Jv dGU6Cj4gPiA+ID4gPiBGcm9tOiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+ ID4gPiA+Cj4gPiA+ID4gPiBUaGUgaW5kaXJlY3Rpb24gb2YgcmVnaXN0ZXJpbmcgYSBjYWxsYmFj ayBhbmQgb3BhcXVlIHBvaW50ZXIgaXNuJ3QKPiA+ID4gcmVhbAo+ID4gPiA+ID4gdXNlZnVsIHdo ZW4gdGhlcmUncyBvbmx5IG9uZSBjYWxsc2l0ZS4gU28gaW5zdGVhZCBvZiBoYXZpbmcgdGhlCj4g PiA+ID4gPiB2YmxhbmtfY2IgcmVnaXN0cmF0aW9uLCBqdXN0IGdpdmUgZW5jb2RlciBhIGNydGMg YW5kIGxldCBpdCBkaXJlY3RseQo+ID4gPiA+ID4gY2FsbCB0aGUgdmJsYW5rIGhhbmRsZXIuCj4g PiA+ID4gPgo+ID4gPiA+ID4gSW4gYSBsYXRlciBwYXRjaCwgd2UnbGwgbWFrZSB1c2Ugb2YgdGhp cyBmdXJ0aGVyLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICB8ICA4ICsrKy0tLS0KPiA+ID4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oICAgIHwgIDYgKysrKysK PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIHwg MjUKPiA+ID4gKysrKysrKysrKystLS0tLS0tLS0tCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaCB8IDEwICsrKystLS0tLQo+ID4gPiA+ID4gIDQg ZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4gPiA+ID4g Pgo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMKPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ny dGMuYwo+ID4gPiA+ID4gaW5kZXggYWRkYTBhYTBjYmFhLi4zODExOWI0ZDRhODAgMTAwNjQ0Cj4g PiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4g PiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4g PiA+ID4gPiBAQCAtMjkxLDkgKzI5MSw4IEBAIGVudW0gZHB1X2ludGZfbW9kZSBkcHVfY3J0Y19n ZXRfaW50Zl9tb2RlKHN0cnVjdAo+ID4gPiA+ID4gZHJtX2NydGMgKmNydGMpCj4gPiA+ID4gPiAg CXJldHVybiBJTlRGX01PREVfTk9ORTsKPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPgo+ID4gPiA+ID4g LXN0YXRpYyB2b2lkIGRwdV9jcnRjX3ZibGFua19jYih2b2lkICpkYXRhKQo+ID4gPiA+ID4gK3Zv aWQgZHB1X2NydGNfdmJsYW5rX2NhbGxiYWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ID4g PiA+ICB7Cj4gPiA+ID4gPiAtCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IChzdHJ1Y3QgZHJtX2Ny dGMgKilkYXRhOwo+ID4gPiA+ID4gIAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1 X2NydGMoY3J0Yyk7Cj4gPiA+ID4gCj4gPiA+ID4gU2luY2Ugd2UgYXJlIGNhbGxpbmcgaW50byBh IGxvY2FsbHkgc3RvcmVkIENSVEMgYW5kIG5vdCB0cmFja2luZwo+ID4gPiBkaXNhYmxlLgo+ID4g PiA+IFNob3VsZAo+ID4gPiA+IHdlIGNoZWNrIGZvciBjcnRjLT5lbmFibGUgYmVmb3JlIHByb2Nl c3NpbmcgdGhlIGNhbGxiYWNrPwo+ID4gPiA+IAo+ID4gPiA+IEkgc2VlIHZibGFua19vbi9vZmYg Y2FudCBiZSBjYWxsZWQgd2hlbiBDUlRDIGlzIGRpc2FibGVkIHdpdGggdGhlIHJlc3QKPiA+ID4g PiBvZiB0aGUgcGF0Y2hlcyBpbiB0aGUgc2VyaWVzLiBCdXQgdGhpcyBjYWxsYmFjayBpcyB0cmln Z2VyZWQgYnkgSVJRJ3MKPiA+ID4gPiBjb250ZXh0Lgo+ID4gPiAKPiA+ID4gSG1tLCB5ZWFoLCBJ IGhhZCBhc3N1bWVkIHRoYXQgd2Ugd291bGRuJ3QgaGF2ZSBhbnkgaW50ZXJydXB0cyBhZnRlciBp cnEKPiA+ID4gZGlzYWJsZS4KPiA+ID4gSG93ZXZlciBpdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGF0 J3MgdGhlIGNhc2UuCj4gPiA+IAo+ID4gPiBUaGF0IHNhaWQsIEkgZG9uJ3QgdGhpbmsgY2hlY2tp bmcgY3J0Yy0+ZW5hYmxlIGlzIHF1aXRlIHdoYXQgd2Ugd2FudC4gSW4KPiA+ID4gdGhlCj4gPiA+ IGNhc2Ugb2YgZGlzYWJsZSwgdGhlIGNydGMgaXMgY2xlYXJlZCBmcm9tIHRoZSBlbmNvZGVyLCBz byBjaGVja2luZyBmb3IKPiA+ID4gY3J0YyAhPSBOVUxMIHdvdWxkIGJlIGJldHRlciBoZXJlLiBT R1RZPwo+ID4gVGhhdCB3b3VsZCBzdGlsbCBjYXVzZSBhIHJhY2UgYXMgY3J0YyBhc3NpZ25tZW50 IHdpbGwgYmUgcHJvdGVjdGVkIGJ5Cj4gPiBtb2Rlc2V0Cj4gPiBsb2NrcyBhbmQgY3J0YyAhPSBO VUxMIGNoZWNrIGlzbid0Lgo+IAo+IFJpZ2h0LCB3ZSdkIG5lZWQgdG8gd3JhcCB0aGUgY2FsbGJh Y2sgaW4gdGhlIGVuY29kZXIgc3BpbmxvY2suCgpKdXN0IHdlbnQgdG8gZG8gdGhpcywgYW5kIGl0 J3MgYWxyZWFkeSB3cmFwcGVkIGluIHRoZSBlbmNvZGVyIHNwaW5sb2NrLiBTbwpBRkFJQ1QsIG5v IGZ1cnRoZXIgY2hhbmdlcyBuZWVkZWQuCgpTZWFuCgo+IAo+ID4gPiAKPiA+ID4gTm93IHRoYXQg SSd2ZSBkdWcgaW50byB0aGUgdmJsYW5rIGlycSBoYW5kbGluZyBhIGJpdCBpbiB0aGUgZW5jb2Rl ciwgaXQKPiA+ID4gc2VlbXMKPiA+ID4gbGlrZSB0aGF0IGNvdWxkIGJlIG1vdmVkIHRvIHRoZSBj cnRjIGFuZCBhIGJ1bmNoIG9mIHRoZQo+ID4gPiBlbmNvZGVyLT5jcnRjLT5lbmNvZGVyCj4gPiA+ IGJvdW5jaW5nIGFyb3VuZCBjb3VsZCBiZSBhdm9pZGVkLiBPZmYgdGhlIHRvcCBvZiB5b3VyIGhl YWQsIGlzIHRoZXJlIGFueQo+ID4gPiByZWFzb24KPiA+ID4gd2UgY291bGRuJ3QgbW92ZSB0aGUg dmJsYW5rIGlycSBoYW5kbGluZyBpbnRvIGNydGMgZnJvbSBlbmNvZGVyPwo+ID4gdmJsYW5rIGly cSBoYW5kbGVycyBhcmUgb25seSBuZWVkZWQgZm9yIHZpZGVvIG1vZGUuIEFzIHdpdGggYWxsIHRo ZSBvdGhlcgo+ID4gSVJRJ3MsIHRoZSBoYW5kbGVycyBhcmUgaW1wbGVtZW50ZWQgaW4gcGh5c19l bmNvZGVyIGxldmVsIGFuZCB0aGUgZXZlbnRzCj4gPiBhcmUgZm9yd2FyZGVkIGFzIGFuZCB3aGVu IG5lZWRlZC4KPiA+IAo+IAo+IEkgdG9vayBhIGxvb2sgYXQgaG93IHRoYXQgbWlnaHQgd29yaywg YW5kIGl0IHNlZW1zIHBvc3NpYmxlIGJ1dCBwcm9iYWJseSBub3QKPiB3b3J0aHdoaWxlLgo+IAo+ IFNlYW4KPiAKPiA+IEJUVywgdGhlIHZibGFuayBpcnEgZmxvd3MgZnJvbSBwaHlzX2VuYy0+dmly dHVhbF9lbmMtPmNydGMuCj4gPiAKPiA+IFRoYW5rcywKPiA+IEpleWt1bWFyIFMuCj4gPiAKPiA+ ID4gCj4gPiA+IFNlYW4KPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gPgo+ID4gPiA+ID4gIAkvKiBr ZWVwIHN0YXRpc3RpY3Mgb24gdmJsYW5rIGNhbGxiYWNrIC0gd2l0aCBhdXRvIHJlc2V0IHZpYQo+ ID4gPiA+ID4gZGVidWdmcyAqLwo+ID4gPiA+ID4gQEAgLTc3OSw4ICs3NzgsNyBAQCBzdGF0aWMg dm9pZCBfZHB1X2NydGNfdmJsYW5rX2VuYWJsZV9ub19sb2NrKAo+ID4gPiA+ID4gIAkJCQkJCSAg ICAgRFJNSUQoZW5jKSwgZW5hYmxlLAo+ID4gPiA+ID4gIAkJCQkJCSAgICAgZHB1X2NydGMpOwo+ ID4gPiA+ID4KPiA+ID4gPiA+IC0JCQlkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJh Y2soZW5jLAo+ID4gPiA+ID4gLQkJCQkJZHB1X2NydGNfdmJsYW5rX2NiLCAodm9pZCAqKWNydGMp Owo+ID4gPiA+ID4gKwkJCWRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKGVuYywgY3J0Yyk7Cj4gPiA+ ID4gPiAgCQl9Cj4gPiA+ID4gPiAgCX0gZWxzZSB7Cj4gPiA+ID4gPiAgCQlsaXN0X2Zvcl9lYWNo X2VudHJ5KGVuYywgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0LAo+ID4gPiA+ID4gaGVh ZCkgewo+ID4gPiA+ID4gQEAgLTc5MSw3ICs3ODksNyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNf dmJsYW5rX2VuYWJsZV9ub19sb2NrKAo+ID4gPiA+ID4gIAkJCQkJCSAgICAgRFJNSUQoZW5jKSwg ZW5hYmxlLAo+ID4gPiA+ID4gIAkJCQkJCSAgICAgZHB1X2NydGMpOwo+ID4gPiA+ID4KPiA+ID4g PiA+IC0JCQlkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soZW5jLCBOVUxMLAo+ ID4gPiA+ID4gTlVMTCk7Cj4gPiA+ID4gPiArCQkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMoZW5j LCBOVUxMKTsKPiA+ID4gPiA+ICAJCX0KPiA+ID4gPiA+ICAJfQo+ID4gPiA+ID4gIH0KPiA+ID4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5o Cj4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKPiA+ ID4gPiA+IGluZGV4IDkzZDIxYTYxYTA0MC4uNTQ1OTVjYzI5YmU1IDEwMDY0NAo+ID4gPiA+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+ID4gPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+ID4gPiA+ID4g QEAgLTI3MCw2ICsyNzAsMTIgQEAgc3RhdGljIGlubGluZSBpbnQgZHB1X2NydGNfZnJhbWVfcGVu ZGluZyhzdHJ1Y3QKPiA+ID4gPiA+IGRybV9jcnRjICpjcnRjKQo+ID4gPiA+ID4gICAqLwo+ID4g PiA+ID4gIGludCBkcHVfY3J0Y192Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVu KTsKPiA+ID4gPiA+Cj4gPiA+ID4gPiArLyoqCj4gPiA+ID4gPiArICogZHB1X2NydGNfdmJsYW5r X2NhbGxiYWNrIC0gY2FsbGVkIG9uIHZibGFuayBpcnEsIGlzc3VlcyBjb21wbGV0aW9uCj4gPiA+ ID4gPiBldmVudHMKPiA+ID4gPiA+ICsgKiBAY3J0YzogUG9pbnRlciB0byBkcm0gY3J0YyBvYmpl Y3QKPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ICt2b2lkIGRwdV9jcnRjX3ZibGFua19jYWxsYmFj ayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gIC8qKgo+ID4g PiA+ID4gICAqIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmIC0gdHJpZ2dlciBraWNrb2ZmIG9mIHRo ZSBjb21taXQgZm9yIHRoaXMKPiA+ID4gPiA+IGNydGMKPiA+ID4gPiA+ICAgKiBAY3J0YzogUG9p bnRlciB0byBkcm0gY3J0YyBvYmplY3QKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiA+ID4gPiA+IGluZGV4IGQ4OWFjNTIw ZjdlNi4uZmQ2NTE0ZjY4MWFlIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ID4gPiA+ID4gQEAgLTE0Miw5ICsxNDIs MTEgQEAgZW51bSBkcHVfZW5jX3JjX3N0YXRlcyB7Cj4gPiA+ID4gPiAgICogQGludGZzX3N3YXBw ZWQJV2hldGhlciBvciBub3QgdGhlIHBoeXNfZW5jIGludGVyZmFjZXMgaGF2ZSBiZWVuCj4gPiA+ ID4gPiBzd2FwcGVkCj4gPiA+ID4gPiAgICoJCQlmb3IgcGFydGlhbCB1cGRhdGUgcmlnaHQtb25s eSBjYXNlcywgc3VjaCBhcwo+ID4gPiA+ID4gcGluZ3BvbmcKPiA+ID4gPiA+ICAgKgkJCXNwbGl0 IHdoZXJlIHZpcnR1YWwgcGluZ3BvbmcgZG9lcyBub3QgZ2VuZXJhdGUKPiA+ID4gPiA+IElSUXMK PiA+ID4gPiA+IC0gKiBAY3J0Y192YmxhbmtfY2I6CUNhbGxiYWNrIGludG8gdGhlIHVwcGVyIGxh eWVyIC8gQ1JUQyBmb3IKPiA+ID4gPiA+IC0gKgkJCW5vdGlmaWNhdGlvbiBvZiB0aGUgVkJMQU5L Cj4gPiA+ID4gPiAtICogQGNydGNfdmJsYW5rX2NiX2RhdGE6CURhdGEgZnJvbSB1cHBlciBsYXll ciBmb3IgVkJMQU5LCj4gPiA+ID4gPiBub3RpZmljYXRpb24KPiA+ID4gPiA+ICsgKiBAY3J0YzoJ CVBvaW50ZXIgdG8gdGhlIGN1cnJlbnRseSBhc3NpZ25lZCBjcnRjLiBOb3JtYWxseQo+ID4gPiA+ ID4geW91Cj4gPiA+ID4gPiArICoJCQl3b3VsZCB1c2UgY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFz ayB0byBkZXRlcm1pbmUKPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gKyAqCQkJbGluayBiZXR3ZWVu IGVuY29kZXIvY3J0Yy4gSG93ZXZlciBpbiB0aGlzIGNhc2Ugd2UKPiA+ID4gPiA+IG5lZWQKPiA+ ID4gPiA+ICsgKgkJCXRvIHRyYWNrIGNydGMgaW4gdGhlIGRpc2FibGUoKSBob29rIHdoaWNoIGlz Cj4gPiA+ID4gPiBjYWxsZWQKPiA+ID4gPiA+ICsgKgkJCV9hZnRlcl8gZW5jb2Rlcl9tYXNrIGlz IGNsZWFyZWQuCj4gPiA+ID4gPiAgICogQGNydGNfa2lja29mZl9jYjoJCUNhbGxiYWNrIGludG8g Q1JUQyB0aGF0IHdpbGwgZmx1c2gKPiA+ID4gJiBzdGFydAo+ID4gPiA+ID4gICAqCQkJCWFsbCBD VEwgcGF0aHMKPiA+ID4gPiA+ICAgKiBAY3J0Y19raWNrb2ZmX2NiX2RhdGE6CU9wYXF1ZSB1c2Vy IGRhdGEgZ2l2ZW4gdG8gY3J0Y19raWNrb2ZmX2NiCj4gPiA+ID4gPiBAQCAtMTg2LDggKzE4OCw3 IEBAIHN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0IHsKPiA+ID4gPiA+Cj4gPiA+ID4gPiAgCWJvb2wg aW50ZnNfc3dhcHBlZDsKPiA+ID4gPiA+Cj4gPiA+ID4gPiAtCXZvaWQgKCpjcnRjX3ZibGFua19j Yikodm9pZCAqKTsKPiA+ID4gPiA+IC0Jdm9pZCAqY3J0Y192YmxhbmtfY2JfZGF0YTsKPiA+ID4g PiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4gPiA+ID4KPiA+ID4gPiA+ICAJc3RydWN0 IGRlbnRyeSAqZGVidWdmc19yb290Owo+ID4gPiA+ID4gIAlzdHJ1Y3QgbXV0ZXggZW5jX2xvY2s7 Cj4gPiA+ID4gPiBAQCAtMTI0MSw4ICsxMjQyLDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf dmJsYW5rX2NhbGxiYWNrKHN0cnVjdAo+ID4gPiA+ID4gZHJtX2VuY29kZXIgKmRybV9lbmMsCj4g PiA+ID4gPiAgCWRwdV9lbmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0KGRybV9lbmMpOwo+ID4gPiA+ ID4KPiA+ID4gPiA+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmRwdV9lbmMtPmVuY19zcGlubG9jaywg bG9ja19mbGFncyk7Cj4gPiA+ID4gPiAtCWlmIChkcHVfZW5jLT5jcnRjX3ZibGFua19jYikKPiA+ ID4gPiA+IC0JCWRwdV9lbmMtPmNydGNfdmJsYW5rX2NiKGRwdV9lbmMtPmNydGNfdmJsYW5rX2Ni X2RhdGEpOwo+ID4gPiA+ID4gKwlpZiAoZHB1X2VuYy0+Y3J0YykKPiA+ID4gPiA+ICsJCWRwdV9j cnRjX3ZibGFua19jYWxsYmFjayhkcHVfZW5jLT5jcnRjKTsKPiA+ID4gPiA+ICAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsKPiA+ID4g PiA+Cj4gPiA+ID4gPiAgCWF0b21pY19pbmMoJnBoeV9lbmMtPnZzeW5jX2NudCk7Cj4gPiA+ID4g PiBAQCAtMTI2MiwxNSArMTI2MywxNCBAQCBzdGF0aWMgdm9pZAo+ID4gPiBkcHVfZW5jb2Rlcl91 bmRlcnJ1bl9jYWxsYmFjayhzdHJ1Y3QKPiA+ID4gPiA+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ ID4gPiA+ID4gIAlEUFVfQVRSQUNFX0VORCgiZW5jb2Rlcl91bmRlcnJ1bl9jYWxsYmFjayIpOwo+ ID4gPiA+ID4gIH0KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtdm9pZCBkcHVfZW5jb2Rlcl9yZWdpc3Rl cl92YmxhbmtfY2FsbGJhY2soc3RydWN0IGRybV9lbmNvZGVyCj4gPiA+ICpkcm1fZW5jLAo+ID4g PiA+ID4gLQkJdm9pZCAoKnZibF9jYikodm9pZCAqKSwgdm9pZCAqdmJsX2RhdGEpCj4gPiA+ID4g PiArdm9pZCBkcHVfZW5jb2Rlcl9hc3NpZ25fY3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9l bmMsIHN0cnVjdAo+ID4gPiA+ID4gZHJtX2NydGMKPiA+ID4gPiA+ICpjcnRjKQo+ID4gPiA+ID4g IHsKPiA+ID4gPiA+ICAJc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmMgPSB0b19kcHVf ZW5jb2Rlcl92aXJ0KGRybV9lbmMpOwo+ID4gPiA+ID4gIAl1bnNpZ25lZCBsb25nIGxvY2tfZmxh Z3M7Cj4gPiA+ID4gPiAgCWJvb2wgZW5hYmxlOwo+ID4gPiA+ID4gIAlpbnQgaTsKPiA+ID4gPiA+ Cj4gPiA+ID4gPiAtCWVuYWJsZSA9IHZibF9jYiA/IHRydWUgOiBmYWxzZTsKPiA+ID4gPiA+ICsJ ZW5hYmxlID0gY3J0YyA/IHRydWUgOiBmYWxzZTsKPiA+ID4gPiA+Cj4gPiA+ID4gPiAgCWlmICgh ZHJtX2VuYykgewo+ID4gPiA+ID4gIAkJRFBVX0VSUk9SKCJpbnZhbGlkIGVuY29kZXJcbiIpOwo+ ID4gPiA+ID4gQEAgLTEyNzksOCArMTI3OSw5IEBAIHZvaWQgZHB1X2VuY29kZXJfcmVnaXN0ZXJf dmJsYW5rX2NhbGxiYWNrKHN0cnVjdAo+ID4gPiA+ID4gZHJtX2VuY29kZXIgKmRybV9lbmMsCj4g PiA+ID4gPiAgCXRyYWNlX2RwdV9lbmNfdmJsYW5rX2NiKERSTUlEKGRybV9lbmMpLCBlbmFibGUp Owo+ID4gPiA+ID4KPiA+ID4gPiA+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmRwdV9lbmMtPmVuY19z cGlubG9jaywgbG9ja19mbGFncyk7Cj4gPiA+ID4gPiAtCWRwdV9lbmMtPmNydGNfdmJsYW5rX2Ni ID0gdmJsX2NiOwo+ID4gPiA+ID4gLQlkcHVfZW5jLT5jcnRjX3ZibGFua19jYl9kYXRhID0gdmJs X2RhdGE7Cj4gPiA+ID4gPiArCS8qIGNydGMgc2hvdWxkIGFsd2F5cyBiZSBjbGVhcmVkIGJlZm9y ZSByZS1hc3NpZ25pbmcgKi8KPiA+ID4gPiA+ICsJV0FSTl9PTihjcnRjICYmIGRwdV9lbmMtPmNy dGMpOwo+ID4gPiA+ID4gKwlkcHVfZW5jLT5jcnRjID0gY3J0YzsKPiA+ID4gPiA+ICAJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsKPiA+ ID4gPiA+Cj4gPiA+ID4gPiAgCWZvciAoaSA9IDA7IGkgPCBkcHVfZW5jLT5udW1fcGh5c19lbmNz OyBpKyspIHsKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5oCj4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9lbmNvZGVyLmgKPiA+ID4gPiA+IGluZGV4IGFhNGYxMzUyMThmYS4uYmUxZDgwODY3 ODM0IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXIuaAo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2VuY29kZXIuaAo+ID4gPiA+ID4gQEAgLTU1LDE0ICs1NSwxMiBAQCB2b2lkIGRwdV9l bmNvZGVyX2dldF9od19yZXNvdXJjZXMoc3RydWN0Cj4gPiA+IGRybV9lbmNvZGVyCj4gPiA+ID4g PiAqZW5jb2RlciwKPiA+ID4gPiA+ICAJCQkJICBzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVzb3Vy Y2VzCj4gPiA+ID4gPiAqaHdfcmVzKTsKPiA+ID4gPiA+Cj4gPiA+ID4gPiAgLyoqCj4gPiA+ID4g PiAtICogZHB1X2VuY29kZXJfcmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrIC0gcHJvdmlkZSBjYWxs YmFjayB0byBlbmNvZGVyCj4gPiA+ID4gPiB0aGF0Cj4gPiA+ID4gPiAtICoJd2lsbCBiZSBjYWxs ZWQgb24gdGhlIG5leHQgdmJsYW5rLgo+ID4gPiA+ID4gKyAqIGRwdV9lbmNvZGVyX2Fzc2lnbl9j cnRjIC0gTGluayB0aGUgZW5jb2RlciB0byB0aGUgY3J0YyBpdCdzCj4gPiA+IGFzc2lnbmVkCj4g PiA+ID4gPiB0bwo+ID4gPiA+ID4gICAqIEBlbmNvZGVyOgllbmNvZGVyIHBvaW50ZXIKPiA+ID4g PiA+IC0gKiBAY2I6CQljYWxsYmFjayBwb2ludGVyLCBwcm92aWRlIE5VTEwgdG8gZGVyZWdpc3Rl ciBhbmQKPiA+ID4gPiA+IGRpc2FibGUgSVJRcwo+ID4gPiA+ID4gLSAqIEBkYXRhOgl1c2VyIGRh dGEgcHJvdmlkZWQgdG8gY2FsbGJhY2sKPiA+ID4gPiA+ICsgKiBAY3J0YzoJY3J0YyBwb2ludGVy Cj4gPiA+ID4gPiAgICovCj4gPiA+ID4gPiAtdm9pZCBkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92Ymxh bmtfY2FsbGJhY2soc3RydWN0IGRybV9lbmNvZGVyCj4gPiA+ICplbmNvZGVyLAo+ID4gPiA+ID4g LQkJdm9pZCAoKmNiKSh2b2lkICopLCB2b2lkICpkYXRhKTsKPiA+ID4gPiA+ICt2b2lkIGRwdV9l bmNvZGVyX2Fzc2lnbl9jcnRjKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiA+ ICsJCQkgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gIC8q Kgo+ID4gPiA+ID4gICAqIGRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2NhbGxiYWNr IC0gcHJvdmlkZSBjYWxsYmFjayB0bwo+ID4gPiA+ID4gZW5jb2RlciB0aGF0Cj4gPiA+ID4gCj4g PiA+ID4gLS0KPiA+ID4gPiBKZXlrdW1hciBTCj4gPiAKPiA+IC0tIAo+ID4gSmV5a3VtYXIgUwo+ IAo+IC0tIAo+IFNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVt IE9TCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0g T1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRy ZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==