From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH 3/8] drm/msm: dpu: Remove vblank_callback from encoder Date: Wed, 14 Nov 2018 11:33:53 -0800 Message-ID: <7e02a42c4a0aebc635cf6d798d8a667a@codeaurora.org> References: <20181113205257.170707-1-sean@poorly.run> <20181113205257.170707-3-sean@poorly.run> <6d9307aae86d14ecbf70a39012b2d9f2@codeaurora.org> <20181114151323.GM154160@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181114151323.GM154160@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: Sean Paul , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMS0xNCAwNzoxMywgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIFR1ZSwgTm92IDEzLCAy MDE4IGF0IDA0OjQ3OjIyUE0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+PiBPbiAy MDE4LTExLTEzIDEyOjUyLCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gRnJvbTogU2VhbiBQYXVsIDxz ZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4+ID4KPj4gPiBUaGUgaW5kaXJlY3Rpb24gb2YgcmVnaXN0 ZXJpbmcgYSBjYWxsYmFjayBhbmQgb3BhcXVlIHBvaW50ZXIgaXNuJ3QKPiByZWFsCj4+ID4gdXNl ZnVsIHdoZW4gdGhlcmUncyBvbmx5IG9uZSBjYWxsc2l0ZS4gU28gaW5zdGVhZCBvZiBoYXZpbmcg dGhlCj4+ID4gdmJsYW5rX2NiIHJlZ2lzdHJhdGlvbiwganVzdCBnaXZlIGVuY29kZXIgYSBjcnRj IGFuZCBsZXQgaXQgZGlyZWN0bHkKPj4gPiBjYWxsIHRoZSB2YmxhbmsgaGFuZGxlci4KPj4gPgo+ PiA+IEluIGEgbGF0ZXIgcGF0Y2gsIHdlJ2xsIG1ha2UgdXNlIG9mIHRoaXMgZnVydGhlci4KPj4g Pgo+PiA+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ PiA+IC0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jICAg IHwgIDggKysrLS0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0 Yy5oICAgIHwgIDYgKysrKysKPj4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2VuY29kZXIuYyB8IDI1Cj4gKysrKysrKysrKystLS0tLS0tLS0tCj4+ID4gIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmggfCAxMCArKysrLS0tLS0KPj4gPiAgNCBm aWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPj4gPgo+PiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4+ ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4+ID4gaW5kZXgg YWRkYTBhYTBjYmFhLi4zODExOWI0ZDRhODAgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPj4gPiBAQCAtMjkxLDkgKzI5MSw4IEBAIGVudW0gZHB1 X2ludGZfbW9kZSBkcHVfY3J0Y19nZXRfaW50Zl9tb2RlKHN0cnVjdAo+PiA+IGRybV9jcnRjICpj cnRjKQo+PiA+ICAJcmV0dXJuIElOVEZfTU9ERV9OT05FOwo+PiA+ICB9Cj4+ID4KPj4gPiAtc3Rh dGljIHZvaWQgZHB1X2NydGNfdmJsYW5rX2NiKHZvaWQgKmRhdGEpCj4+ID4gK3ZvaWQgZHB1X2Ny dGNfdmJsYW5rX2NhbGxiYWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPj4gPiAgewo+PiA+IC0J c3RydWN0IGRybV9jcnRjICpjcnRjID0gKHN0cnVjdCBkcm1fY3J0YyAqKWRhdGE7Cj4+ID4gIAlz dHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4+IAo+PiBTaW5j ZSB3ZSBhcmUgY2FsbGluZyBpbnRvIGEgbG9jYWxseSBzdG9yZWQgQ1JUQyBhbmQgbm90IHRyYWNr aW5nCj4gZGlzYWJsZS4KPj4gU2hvdWxkCj4+IHdlIGNoZWNrIGZvciBjcnRjLT5lbmFibGUgYmVm b3JlIHByb2Nlc3NpbmcgdGhlIGNhbGxiYWNrPwo+PiAKPj4gSSBzZWUgdmJsYW5rX29uL29mZiBj YW50IGJlIGNhbGxlZCB3aGVuIENSVEMgaXMgZGlzYWJsZWQgd2l0aCB0aGUgcmVzdAo+PiBvZiB0 aGUgcGF0Y2hlcyBpbiB0aGUgc2VyaWVzLiBCdXQgdGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQg YnkgSVJRJ3MKPj4gY29udGV4dC4KPiAKPiBIbW0sIHllYWgsIEkgaGFkIGFzc3VtZWQgdGhhdCB3 ZSB3b3VsZG4ndCBoYXZlIGFueSBpbnRlcnJ1cHRzIGFmdGVyIGlycQo+IGRpc2FibGUuCj4gSG93 ZXZlciBpdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGF0J3MgdGhlIGNhc2UuCj4gCj4gVGhhdCBzYWlk LCBJIGRvbid0IHRoaW5rIGNoZWNraW5nIGNydGMtPmVuYWJsZSBpcyBxdWl0ZSB3aGF0IHdlIHdh bnQuIAo+IEluCj4gdGhlCj4gY2FzZSBvZiBkaXNhYmxlLCB0aGUgY3J0YyBpcyBjbGVhcmVkIGZy b20gdGhlIGVuY29kZXIsIHNvIGNoZWNraW5nIGZvcgo+IGNydGMgIT0gTlVMTCB3b3VsZCBiZSBi ZXR0ZXIgaGVyZS4gU0dUWT8KVGhhdCB3b3VsZCBzdGlsbCBjYXVzZSBhIHJhY2UgYXMgY3J0YyBh c3NpZ25tZW50IHdpbGwgYmUgcHJvdGVjdGVkIGJ5IAptb2Rlc2V0CmxvY2tzIGFuZCBjcnRjICE9 IE5VTEwgY2hlY2sgaXNuJ3QuCj4gCj4gTm93IHRoYXQgSSd2ZSBkdWcgaW50byB0aGUgdmJsYW5r IGlycSBoYW5kbGluZyBhIGJpdCBpbiB0aGUgZW5jb2RlciwgaXQKPiBzZWVtcwo+IGxpa2UgdGhh dCBjb3VsZCBiZSBtb3ZlZCB0byB0aGUgY3J0YyBhbmQgYSBidW5jaCBvZiB0aGUKPiBlbmNvZGVy LT5jcnRjLT5lbmNvZGVyCj4gYm91bmNpbmcgYXJvdW5kIGNvdWxkIGJlIGF2b2lkZWQuIE9mZiB0 aGUgdG9wIG9mIHlvdXIgaGVhZCwgaXMgdGhlcmUgCj4gYW55Cj4gcmVhc29uCj4gd2UgY291bGRu J3QgbW92ZSB0aGUgdmJsYW5rIGlycSBoYW5kbGluZyBpbnRvIGNydGMgZnJvbSBlbmNvZGVyPwp2 YmxhbmsgaXJxIGhhbmRsZXJzIGFyZSBvbmx5IG5lZWRlZCBmb3IgdmlkZW8gbW9kZS4gQXMgd2l0 aCBhbGwgdGhlIApvdGhlcgpJUlEncywgdGhlIGhhbmRsZXJzIGFyZSBpbXBsZW1lbnRlZCBpbiBw aHlzX2VuY29kZXIgbGV2ZWwgYW5kIHRoZSBldmVudHMKYXJlIGZvcndhcmRlZCBhcyBhbmQgd2hl biBuZWVkZWQuCgpCVFcsIHRoZSB2YmxhbmsgaXJxIGZsb3dzIGZyb20gcGh5c19lbmMtPnZpcnR1 YWxfZW5jLT5jcnRjLgoKVGhhbmtzLApKZXlrdW1hciBTLgoKPiAKPiBTZWFuCj4gCj4+IAo+PiA+ Cj4+ID4gIAkvKiBrZWVwIHN0YXRpc3RpY3Mgb24gdmJsYW5rIGNhbGxiYWNrIC0gd2l0aCBhdXRv IHJlc2V0IHZpYQo+PiA+IGRlYnVnZnMgKi8KPj4gPiBAQCAtNzc5LDggKzc3OCw3IEBAIHN0YXRp YyB2b2lkIF9kcHVfY3J0Y192YmxhbmtfZW5hYmxlX25vX2xvY2soCj4+ID4gIAkJCQkJCSAgICAg RFJNSUQoZW5jKSwgZW5hYmxlLAo+PiA+ICAJCQkJCQkgICAgIGRwdV9jcnRjKTsKPj4gPgo+PiA+ IC0JCQlkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2soZW5jLAo+PiA+IC0JCQkJ CWRwdV9jcnRjX3ZibGFua19jYiwgKHZvaWQgKiljcnRjKTsKPj4gPiArCQkJZHB1X2VuY29kZXJf YXNzaWduX2NydGMoZW5jLCBjcnRjKTsKPj4gPiAgCQl9Cj4+ID4gIAl9IGVsc2Ugewo+PiA+ICAJ CWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3Qs Cj4+ID4gaGVhZCkgewo+PiA+IEBAIC03OTEsNyArNzg5LDcgQEAgc3RhdGljIHZvaWQgX2RwdV9j cnRjX3ZibGFua19lbmFibGVfbm9fbG9jaygKPj4gPiAgCQkJCQkJICAgICBEUk1JRChlbmMpLCBl bmFibGUsCj4+ID4gIAkJCQkJCSAgICAgZHB1X2NydGMpOwo+PiA+Cj4+ID4gLQkJCWRwdV9lbmNv ZGVyX3JlZ2lzdGVyX3ZibGFua19jYWxsYmFjayhlbmMsIE5VTEwsCj4+ID4gTlVMTCk7Cj4+ID4g KwkJCWRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKGVuYywgTlVMTCk7Cj4+ID4gIAkJfQo+PiA+ICAJ fQo+PiA+ICB9Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9jcnRjLmgKPj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRj LmgKPj4gPiBpbmRleCA5M2QyMWE2MWEwNDAuLjU0NTk1Y2MyOWJlNSAxMDA2NDQKPj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+PiA+IEBAIC0yNzAsNiArMjcw LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IGRwdV9jcnRjX2ZyYW1lX3BlbmRpbmcoc3RydWN0Cj4+ ID4gZHJtX2NydGMgKmNydGMpCj4+ID4gICAqLwo+PiA+ICBpbnQgZHB1X2NydGNfdmJsYW5rKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbik7Cj4+ID4KPj4gPiArLyoqCj4+ID4gKyAqIGRw dV9jcnRjX3ZibGFua19jYWxsYmFjayAtIGNhbGxlZCBvbiB2YmxhbmsgaXJxLCBpc3N1ZXMgY29t cGxldGlvbgo+PiA+IGV2ZW50cwo+PiA+ICsgKiBAY3J0YzogUG9pbnRlciB0byBkcm0gY3J0YyBv YmplY3QKPj4gPiArICovCj4+ID4gK3ZvaWQgZHB1X2NydGNfdmJsYW5rX2NhbGxiYWNrKHN0cnVj dCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ID4gKwo+PiA+ICAvKioKPj4gPiAgICogZHB1X2NydGNfY29t bWl0X2tpY2tvZmYgLSB0cmlnZ2VyIGtpY2tvZmYgb2YgdGhlIGNvbW1pdCBmb3IgdGhpcwo+PiA+ IGNydGMKPj4gPiAgICogQGNydGM6IFBvaW50ZXIgdG8gZHJtIGNydGMgb2JqZWN0Cj4+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPj4g PiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPj4gPiBpbmRl eCBkODlhYzUyMGY3ZTYuLmZkNjUxNGY2ODFhZSAxMDA2NDQKPj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+PiA+IEBAIC0xNDIsOSArMTQyLDExIEBA IGVudW0gZHB1X2VuY19yY19zdGF0ZXMgewo+PiA+ICAgKiBAaW50ZnNfc3dhcHBlZAlXaGV0aGVy IG9yIG5vdCB0aGUgcGh5c19lbmMgaW50ZXJmYWNlcyBoYXZlIGJlZW4KPj4gPiBzd2FwcGVkCj4+ ID4gICAqCQkJZm9yIHBhcnRpYWwgdXBkYXRlIHJpZ2h0LW9ubHkgY2FzZXMsIHN1Y2ggYXMKPj4g PiBwaW5ncG9uZwo+PiA+ICAgKgkJCXNwbGl0IHdoZXJlIHZpcnR1YWwgcGluZ3BvbmcgZG9lcyBu b3QgZ2VuZXJhdGUKPj4gPiBJUlFzCj4+ID4gLSAqIEBjcnRjX3ZibGFua19jYjoJQ2FsbGJhY2sg aW50byB0aGUgdXBwZXIgbGF5ZXIgLyBDUlRDIGZvcgo+PiA+IC0gKgkJCW5vdGlmaWNhdGlvbiBv ZiB0aGUgVkJMQU5LCj4+ID4gLSAqIEBjcnRjX3ZibGFua19jYl9kYXRhOglEYXRhIGZyb20gdXBw ZXIgbGF5ZXIgZm9yIFZCTEFOSwo+PiA+IG5vdGlmaWNhdGlvbgo+PiA+ICsgKiBAY3J0YzoJCVBv aW50ZXIgdG8gdGhlIGN1cnJlbnRseSBhc3NpZ25lZCBjcnRjLiBOb3JtYWxseQo+PiA+IHlvdQo+ PiA+ICsgKgkJCXdvdWxkIHVzZSBjcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNrIHRvIGRldGVybWlu ZQo+PiA+IHRoZQo+PiA+ICsgKgkJCWxpbmsgYmV0d2VlbiBlbmNvZGVyL2NydGMuIEhvd2V2ZXIg aW4gdGhpcyBjYXNlIHdlCj4+ID4gbmVlZAo+PiA+ICsgKgkJCXRvIHRyYWNrIGNydGMgaW4gdGhl IGRpc2FibGUoKSBob29rIHdoaWNoIGlzCj4+ID4gY2FsbGVkCj4+ID4gKyAqCQkJX2FmdGVyXyBl bmNvZGVyX21hc2sgaXMgY2xlYXJlZC4KPj4gPiAgICogQGNydGNfa2lja29mZl9jYjoJCUNhbGxi YWNrIGludG8gQ1JUQyB0aGF0IHdpbGwgZmx1c2gKPiAmIHN0YXJ0Cj4+ID4gICAqCQkJCWFsbCBD VEwgcGF0aHMKPj4gPiAgICogQGNydGNfa2lja29mZl9jYl9kYXRhOglPcGFxdWUgdXNlciBkYXRh IGdpdmVuIHRvIGNydGNfa2lja29mZl9jYgo+PiA+IEBAIC0xODYsOCArMTg4LDcgQEAgc3RydWN0 IGRwdV9lbmNvZGVyX3ZpcnQgewo+PiA+Cj4+ID4gIAlib29sIGludGZzX3N3YXBwZWQ7Cj4+ID4K Pj4gPiAtCXZvaWQgKCpjcnRjX3ZibGFua19jYikodm9pZCAqKTsKPj4gPiAtCXZvaWQgKmNydGNf dmJsYW5rX2NiX2RhdGE7Cj4+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4+ID4KPj4gPiAg CXN0cnVjdCBkZW50cnkgKmRlYnVnZnNfcm9vdDsKPj4gPiAgCXN0cnVjdCBtdXRleCBlbmNfbG9j azsKPj4gPiBAQCAtMTI0MSw4ICsxMjQyLDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfdmJs YW5rX2NhbGxiYWNrKHN0cnVjdAo+PiA+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+PiA+ICAJZHB1 X2VuYyA9IHRvX2RwdV9lbmNvZGVyX3ZpcnQoZHJtX2VuYyk7Cj4+ID4KPj4gPiAgCXNwaW5fbG9j a19pcnFzYXZlKCZkcHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwo+PiA+IC0JaWYg KGRwdV9lbmMtPmNydGNfdmJsYW5rX2NiKQo+PiA+IC0JCWRwdV9lbmMtPmNydGNfdmJsYW5rX2Ni KGRwdV9lbmMtPmNydGNfdmJsYW5rX2NiX2RhdGEpOwo+PiA+ICsJaWYgKGRwdV9lbmMtPmNydGMp Cj4+ID4gKwkJZHB1X2NydGNfdmJsYW5rX2NhbGxiYWNrKGRwdV9lbmMtPmNydGMpOwo+PiA+ICAJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdz KTsKPj4gPgo+PiA+ICAJYXRvbWljX2luYygmcGh5X2VuYy0+dnN5bmNfY250KTsKPj4gPiBAQCAt MTI2MiwxNSArMTI2MywxNCBAQCBzdGF0aWMgdm9pZAo+IGRwdV9lbmNvZGVyX3VuZGVycnVuX2Nh bGxiYWNrKHN0cnVjdAo+PiA+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+PiA+ICAJRFBVX0FUUkFD RV9FTkQoImVuY29kZXJfdW5kZXJydW5fY2FsbGJhY2siKTsKPj4gPiAgfQo+PiA+Cj4+ID4gLXZv aWQgZHB1X2VuY29kZXJfcmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrKHN0cnVjdCBkcm1fZW5jb2Rl cgo+ICpkcm1fZW5jLAo+PiA+IC0JCXZvaWQgKCp2YmxfY2IpKHZvaWQgKiksIHZvaWQgKnZibF9k YXRhKQo+PiA+ICt2b2lkIGRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZHJtX2VuYywgc3RydWN0Cj4+ID4gZHJtX2NydGMKPj4gPiAqY3J0YykKPj4gPiAgewo+PiA+ ICAJc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0 KGRybV9lbmMpOwo+PiA+ICAJdW5zaWduZWQgbG9uZyBsb2NrX2ZsYWdzOwo+PiA+ICAJYm9vbCBl bmFibGU7Cj4+ID4gIAlpbnQgaTsKPj4gPgo+PiA+IC0JZW5hYmxlID0gdmJsX2NiID8gdHJ1ZSA6 IGZhbHNlOwo+PiA+ICsJZW5hYmxlID0gY3J0YyA/IHRydWUgOiBmYWxzZTsKPj4gPgo+PiA+ICAJ aWYgKCFkcm1fZW5jKSB7Cj4+ID4gIAkJRFBVX0VSUk9SKCJpbnZhbGlkIGVuY29kZXJcbiIpOwo+ PiA+IEBAIC0xMjc5LDggKzEyNzksOSBAQCB2b2lkIGRwdV9lbmNvZGVyX3JlZ2lzdGVyX3ZibGFu a19jYWxsYmFjayhzdHJ1Y3QKPj4gPiBkcm1fZW5jb2RlciAqZHJtX2VuYywKPj4gPiAgCXRyYWNl X2RwdV9lbmNfdmJsYW5rX2NiKERSTUlEKGRybV9lbmMpLCBlbmFibGUpOwo+PiA+Cj4+ID4gIAlz cGluX2xvY2tfaXJxc2F2ZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsKPj4g PiAtCWRwdV9lbmMtPmNydGNfdmJsYW5rX2NiID0gdmJsX2NiOwo+PiA+IC0JZHB1X2VuYy0+Y3J0 Y192YmxhbmtfY2JfZGF0YSA9IHZibF9kYXRhOwo+PiA+ICsJLyogY3J0YyBzaG91bGQgYWx3YXlz IGJlIGNsZWFyZWQgYmVmb3JlIHJlLWFzc2lnbmluZyAqLwo+PiA+ICsJV0FSTl9PTihjcnRjICYm IGRwdV9lbmMtPmNydGMpOwo+PiA+ICsJZHB1X2VuYy0+Y3J0YyA9IGNydGM7Cj4+ID4gIAlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZkcHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwo+ PiA+Cj4+ID4gIAlmb3IgKGkgPSAwOyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsrKSB7 Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNv ZGVyLmgKPj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgK Pj4gPiBpbmRleCBhYTRmMTM1MjE4ZmEuLmJlMWQ4MDg2NzgzNCAxMDA2NDQKPj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCj4+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaAo+PiA+IEBAIC01NSwxNCAr NTUsMTIgQEAgdm9pZCBkcHVfZW5jb2Rlcl9nZXRfaHdfcmVzb3VyY2VzKHN0cnVjdAo+IGRybV9l bmNvZGVyCj4+ID4gKmVuY29kZXIsCj4+ID4gIAkJCQkgIHN0cnVjdCBkcHVfZW5jb2Rlcl9od19y ZXNvdXJjZXMKPj4gPiAqaHdfcmVzKTsKPj4gPgo+PiA+ICAvKioKPj4gPiAtICogZHB1X2VuY29k ZXJfcmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrIC0gcHJvdmlkZSBjYWxsYmFjayB0byBlbmNvZGVy Cj4+ID4gdGhhdAo+PiA+IC0gKgl3aWxsIGJlIGNhbGxlZCBvbiB0aGUgbmV4dCB2YmxhbmsuCj4+ ID4gKyAqIGRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjIC0gTGluayB0aGUgZW5jb2RlciB0byB0aGUg Y3J0YyBpdCdzCj4gYXNzaWduZWQKPj4gPiB0bwo+PiA+ICAgKiBAZW5jb2RlcjoJZW5jb2RlciBw b2ludGVyCj4+ID4gLSAqIEBjYjoJCWNhbGxiYWNrIHBvaW50ZXIsIHByb3ZpZGUgTlVMTCB0byBk ZXJlZ2lzdGVyIGFuZAo+PiA+IGRpc2FibGUgSVJRcwo+PiA+IC0gKiBAZGF0YToJdXNlciBkYXRh IHByb3ZpZGVkIHRvIGNhbGxiYWNrCj4+ID4gKyAqIEBjcnRjOgljcnRjIHBvaW50ZXIKPj4gPiAg ICovCj4+ID4gLXZvaWQgZHB1X2VuY29kZXJfcmVnaXN0ZXJfdmJsYW5rX2NhbGxiYWNrKHN0cnVj dCBkcm1fZW5jb2Rlcgo+ICplbmNvZGVyLAo+PiA+IC0JCXZvaWQgKCpjYikodm9pZCAqKSwgdm9p ZCAqZGF0YSk7Cj4+ID4gK3ZvaWQgZHB1X2VuY29kZXJfYXNzaWduX2NydGMoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAo+PiA+ICsJCQkgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ ID4KPj4gPiAgLyoqCj4+ID4gICAqIGRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2Nh bGxiYWNrIC0gcHJvdmlkZSBjYWxsYmFjayB0bwo+PiA+IGVuY29kZXIgdGhhdAo+PiAKPj4gLS0K Pj4gSmV5a3VtYXIgUwoKLS0gCkpleWt1bWFyIFMKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZnJlZWRyZW5vCg==