From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v2 22/24] drm/msm: dpu: Separate crtc assignment from vblank enable Date: Mon, 19 Nov 2018 12:13:54 -0800 Message-ID: <9ca5b4bafe4dad037d343f0cf9cba941@codeaurora.org> References: <20181116184238.170034-1-sean@poorly.run> <20181116184238.170034-23-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181116184238.170034-23-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org> 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 T24gMjAxOC0xMS0xNiAxMDo0MiwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IEluc3RlYWQgb2YgYXNzaWduaW5nL2NsZWFyaW5n IHRoZSBjcnRjIG9uIHZibGFuayBlbmFibGUvZGlzYWJsZSwgd2UgY2FuCj4ganVzdCBhc3NpZ24g YW5kIGNsZWFyIHRoZSBjcnRjIG9uIG1vZGVzZXQuIFRoYXQgYWxsb3dzIHVzIHRvIGp1c3QgCj4g dG9nZ2xlCj4gdGhlIGVuY29kZXIncyB2YmxhbmsgaW50ZXJydXB0cyBvbiB2YmxhbmtfZW5hYmxl Lgo+IAo+IFNvIHdoeSBpcyB0aGlzIGltcG9ydGFudD8gUHJldmlvdXNseSB0aGUgZHJpdmVyIHdh cyB1c2luZyB0aGUgbGVnYWN5Cj4gcG9pbnRlcnMgdG8gYXNzaWduL2NsZWFyIHRoZSBjcnRjLiBM ZWdhY3kgcG9pbnRlcnMgYXJlIGNsZWFyZWQgX2FmdGVyXwo+IGRpc2FibGluZyB0aGUgaGFyZHdh cmUsIHNvIHRoZSBsZWdhY3kgcG9pbnRlciB3YXMgdmFsaWQgZHVyaW5nCj4gdmJsYW5rX2Rpc2Fi bGUsIGJ1dCB0aGF0J3Mgbm90IHNvbWV0aGluZyB3ZSBzaG91bGQgcmVseSBvbi4KPiAKPiBJbnN0 ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGNvcmUgb3JkZXJpbmcgdGhlIGxlZ2FjeSBwb2ludGVyIGFz c2lnbm1lbnRzCj4ganVzdCBzbywgd2UnbGwgYXNzaWduIHRoZSBjcnRjIGluIGRwdV9jcnRjIGVu YWJsZS9kaXNhYmxlLiBUaGlzIGlzIHRoZQo+IG9ubHkgcGxhY2UgdGhhdCBtYXBwaW5nIGNhbiBj aGFuZ2UsIHNvIHdlJ3JlIGNvdmVyZWQgdGhlcmUuCj4gCj4gV2UncmUgYWxzbyB0YWtpbmcgYWR2 YW50YWdlIG9mIGRybV9jcnRjX3ZibGFua19vbi9vZmYuIEJ5IHVzaW5nIHRoaXMsIAo+IHdlCj4g ZW5zdXJlIHRoYXQgdmJsYW5rX2VuYWJsZS9kaXNhYmxlIGNhbiBuZXZlciBiZSBjYWxsZWQgd2hp bGUgdGhlIGNydGMgaXMKPiBvZmYgKHdoaWNoIG1lYW5zIHRoZSBhc3NpZ25lZCBjcnRjIHdpbGwg YWx3YXlzIGJlIHZhbGlkKS4gQXMgc3VjaCwgd2UKPiBkb24ndCBuZWVkIHRvIHVzZSBtb2Rlc2V0 IGxvY2tzIG9yIHRoZSBjcnRjX2xvY2sgaW4gdGhlCj4gdmJsYW5rX2VuYWJsZS9kaXNhYmxlIHJv dXRpbmUgdG8gYmUgc3VyZSBzdGF0ZSBpcyBjb25zaXN0ZW50Lgo+IAo+IC4uLkkgdGhpbmsuCj4g Cj4gQ2hhbmdlcyBpbiB2MjoKPiAtIENoYW5nZWQgY3J0YyBjaGVjayBpbiB0b2dnbGVfdmJsYW5r IHRvICE9IChKZXlrdW1hcikKPiAKPiBDYzogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2Rl YXVyb3JhLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVt Lm9yZz4KClJldmlld2VkLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEu b3JnPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAg ICB8IDc3ICsrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5jIHwgMjcgKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXIuaCB8IDEwICsrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDU5IGlu c2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfY3J0Yy5jCj4gaW5kZXggNTRiYjc3N2IyZDBjLi43MjVlMTUxNzhjZGIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBAQCAtNzQ5LDQz ICs3NDksNiBAQCB2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAK PiAqY3J0YykKPiAgCURQVV9BVFJBQ0VfRU5EKCJjcnRjX2NvbW1pdCIpOwo+ICB9Cj4gCj4gLS8q Kgo+IC0gKiBfZHB1X2NydGNfdmJsYW5rX2VuYWJsZV9ub19sb2NrIC0gdXBkYXRlIHBvd2VyIHJl c291cmNlIGFuZCB2YmxhbmsKPiByZXF1ZXN0Cj4gLSAqIEBkcHVfY3J0YzogUG9pbnRlciB0byBk cHUgY3J0YyBzdHJ1Y3R1cmUKPiAtICogQGVuYWJsZTogV2hldGhlciB0byBlbmFibGUvZGlzYWJs ZSB2YmxhbmtzCj4gLSAqLwo+IC1zdGF0aWMgdm9pZCBfZHB1X2NydGNfdmJsYW5rX2VuYWJsZV9u b19sb2NrKAo+IC0JCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMsIGJvb2wgZW5hYmxlKQo+IC17 Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmZHB1X2NydGMtPmJhc2U7Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGRybV9lbmNvZGVyICplbmM7 Cj4gLQo+IC0JaWYgKGVuYWJsZSkgewo+IC0JCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jLCAmZGV2 LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsCj4gaGVhZCkgewo+IC0JCQlpZiAoZW5jLT5jcnRj ICE9IGNydGMpCj4gLQkJCQljb250aW51ZTsKPiAtCj4gLQo+IHRyYWNlX2RwdV9jcnRjX3ZibGFu a19lbmFibGUoRFJNSUQoJmRwdV9jcnRjLT5iYXNlKSwKPiAtCQkJCQkJICAgICBEUk1JRChlbmMp LCBlbmFibGUsCj4gLQkJCQkJCSAgICAgZHB1X2NydGMpOwo+IC0KPiAtCQkJZHB1X2VuY29kZXJf YXNzaWduX2NydGMoZW5jLCBjcnRjKTsKPiAtCQl9Cj4gLQl9IGVsc2Ugewo+IC0JCWxpc3RfZm9y X2VhY2hfZW50cnkoZW5jLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsCj4gaGVhZCkg ewo+IC0JCQlpZiAoZW5jLT5jcnRjICE9IGNydGMpCj4gLQkJCQljb250aW51ZTsKPiAtCj4gLQo+ IHRyYWNlX2RwdV9jcnRjX3ZibGFua19lbmFibGUoRFJNSUQoJmRwdV9jcnRjLT5iYXNlKSwKPiAt CQkJCQkJICAgICBEUk1JRChlbmMpLCBlbmFibGUsCj4gLQkJCQkJCSAgICAgZHB1X2NydGMpOwo+ IC0KPiAtCQkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMoZW5jLCBOVUxMKTsKPiAtCQl9Cj4gLQl9 Cj4gLX0KPiAtCj4gIC8qKgo+ICAgKiBkcHVfY3J0Y19kdXBsaWNhdGVfc3RhdGUgLSBzdGF0ZSBk dXBsaWNhdGUgaG9vawo+ICAgKiBAY3J0YzogUG9pbnRlciB0byBkcm0gY3J0YyBzdHJ1Y3R1cmUK PiBAQCAtODM5LDYgKzgwMiwxMCBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kaXNhYmxlKHN0cnVj dCBkcm1fY3J0YyAKPiAqY3J0YywKPiAgCS8qIERpc2FibGUvc2F2ZSB2YmxhbmsgaXJxIGhhbmRs aW5nICovCj4gIAlkcm1fY3J0Y192Ymxhbmtfb2ZmKGNydGMpOwo+IAo+ICsJZHJtX2Zvcl9lYWNo X2VuY29kZXJfbWFzayhlbmNvZGVyLCBjcnRjLT5kZXYsCj4gKwkJCQkgIG9sZF9jcnRjX3N0YXRl LT5lbmNvZGVyX21hc2spCj4gKwkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMoZW5jb2RlciwgTlVM TCk7Cj4gKwo+ICAJbXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7Cj4gCj4gIAkvKiB3 YWl0IGZvciBmcmFtZV9ldmVudF9kb25lIGNvbXBsZXRpb24gKi8KPiBAQCAtODQ4LDkgKzgxNSw2 IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ICAJCQkJYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSk7Cj4gCj4gIAl0cmFj ZV9kcHVfY3J0Y19kaXNhYmxlKERSTUlEKGNydGMpLCBmYWxzZSwgZHB1X2NydGMpOwo+IC0JaWYg KGRwdV9jcnRjLT5lbmFibGVkICYmIGRwdV9jcnRjLT52YmxhbmtfcmVxdWVzdGVkKSB7Cj4gLQkJ X2RwdV9jcnRjX3ZibGFua19lbmFibGVfbm9fbG9jayhkcHVfY3J0YywgZmFsc2UpOwo+IC0JfQo+ ICAJZHB1X2NydGMtPmVuYWJsZWQgPSBmYWxzZTsKPiAKPiAgCWlmIChhdG9taWNfcmVhZCgmZHB1 X2NydGMtPmZyYW1lX3BlbmRpbmcpKSB7Cj4gQEAgLTkwOCwxMyArODcyLDEzIEBAIHN0YXRpYyB2 b2lkIGRwdV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgCj4gKmNydGMsCj4gCj4gIAltdXRl eF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKPiAgCXRyYWNlX2RwdV9jcnRjX2VuYWJsZShE Uk1JRChjcnRjKSwgdHJ1ZSwgZHB1X2NydGMpOwo+IC0JaWYgKCFkcHVfY3J0Yy0+ZW5hYmxlZCAm JiBkcHVfY3J0Yy0+dmJsYW5rX3JlcXVlc3RlZCkgewo+IC0JCV9kcHVfY3J0Y192YmxhbmtfZW5h YmxlX25vX2xvY2soZHB1X2NydGMsIHRydWUpOwo+IC0JfQo+ICAJZHB1X2NydGMtPmVuYWJsZWQg PSB0cnVlOwo+IAo+ICAJbXV0ZXhfdW5sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKPiAKPiAr CWRybV9mb3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ZGV2LAo+IGNydGMtPnN0 YXRlLT5lbmNvZGVyX21hc2spCj4gKwkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMoZW5jb2Rlciwg Y3J0Yyk7Cj4gKwo+ICAJLyogRW5hYmxlL3Jlc3RvcmUgdmJsYW5rIGlycSBoYW5kbGluZyAqLwo+ ICAJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwo+ICB9Cj4gQEAgLTExNTksMTAgKzExMjMsMzMg QEAgc3RhdGljIGludCBkcHVfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IAo+IGRybV9jcnRjCj4g KmNydGMsCj4gIGludCBkcHVfY3J0Y192Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29s IGVuKQo+ICB7Cj4gIAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0 Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYzsKPiAKPiAtCW11dGV4X2xvY2soJmRwdV9j cnRjLT5jcnRjX2xvY2spOwo+ICAJdHJhY2VfZHB1X2NydGNfdmJsYW5rKERSTUlEKCZkcHVfY3J0 Yy0+YmFzZSksIGVuLCBkcHVfY3J0Yyk7Cj4gLQlfZHB1X2NydGNfdmJsYW5rX2VuYWJsZV9ub19s b2NrKGRwdV9jcnRjLCBlbik7Cj4gKwo+ICsJLyoKPiArCSAqIE5vcm1hbGx5IHdlIHdvdWxkIGl0 ZXJhdGUgdGhyb3VnaCBlbmNvZGVyX21hc2sgaW4gY3J0YyBzdGF0ZSB0bwo+IGZpbmQKPiArCSAq IGF0dGFjaGVkIGVuY29kZXJzLiBJbiB0aGlzIGNhc2UsIHdlIG1pZ2h0IGJlIGRpc2FibGluZyB2 YmxhbmsKPiBfYWZ0ZXJfCj4gKwkgKiBlbmNvZGVyX21hc2sgaGFzIGJlZW4gY2xlYXJlZC4KPiAr CSAqCj4gKwkgKiBJbnN0ZWFkLCB3ZSAiYXNzaWduIiBhIGNydGMgdG8gdGhlIGVuY29kZXIgaW4g ZW5hYmxlIGFuZCBjbGVhcgo+IGl0IGluCj4gKwkgKiBkaXNhYmxlICh3aGljaCBpcyBhbHNvIGFm dGVyIGVuY29kZXJfbWFzayBpcyBjbGVhcmVkKS4gU28KPiBpbnN0ZWFkIG9mCj4gKwkgKiB1c2lu ZyBlbmNvZGVyIG1hc2ssIHdlJ2xsIGFzayB0aGUgZW5jb2RlciB0byB0b2dnbGUgaXRzZWxmIGlm Zgo+IGl0J3MKPiArCSAqIGN1cnJlbnRseSBhc3NpZ25lZCB0byBvdXIgY3J0Yy4KPiArCSAqCj4g KwkgKiBOb3RlIGFsc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgd2hpbGUg Y3J0YyBpcwo+IGRpc2FibGVkCj4gKwkgKiBzaW5jZSB3ZSB1c2UgZHJtX2NydGNfdmJsYW5rX29u L29mZi4gU28gd2UgZG9uJ3QgbmVlZCB0byB3b3JyeQo+ICsJICogYWJvdXQgdGhlIGFzc2lnbmVk IGNydGNzIGJlaW5nIGluY29uc2lzdGVudCB3aXRoIHRoZSBjdXJyZW50Cj4gc3RhdGUKPiArCSAq ICh3aGljaCBtZWFucyBubyBuZWVkIHRvIHdvcnJ5IGFib3V0IG1vZGVzZXQgbG9ja3MpLgo+ICsJ ICovCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuYywgJmNydGMtPmRldi0+bW9kZV9jb25maWcu ZW5jb2Rlcl9saXN0LAo+IGhlYWQpIHsKPiArCQl0cmFjZV9kcHVfY3J0Y192YmxhbmtfZW5hYmxl KERSTUlEKGNydGMpLCBEUk1JRChlbmMpLCBlbiwKPiArCQkJCQkgICAgIGRwdV9jcnRjKTsKPiAr Cj4gKwkJZHB1X2VuY29kZXJfdG9nZ2xlX3ZibGFua19mb3JfY3J0YyhlbmMsIGNydGMsIGVuKTsK PiArCX0KPiArCj4gKwltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKPiAgCWRwdV9j cnRjLT52YmxhbmtfcmVxdWVzdGVkID0gZW47Cj4gIAltdXRleF91bmxvY2soJmRwdV9jcnRjLT5j cnRjX2xvY2spOwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlci5jCj4gaW5kZXggZmQ2NTE0ZjY4MWFlLi45MGI3N2Q5OGRkZTggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBAQCAtMTI2NywyMiArMTI2 NywyOSBAQCB2b2lkIGRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKHN0cnVjdCBkcm1fZW5jb2Rlcgo+ ICpkcm1fZW5jLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcHVfZW5j b2Rlcl92aXJ0ICpkcHVfZW5jID0gdG9fZHB1X2VuY29kZXJfdmlydChkcm1fZW5jKTsKPiAgCXVu c2lnbmVkIGxvbmcgbG9ja19mbGFnczsKPiAtCWJvb2wgZW5hYmxlOwo+IC0JaW50IGk7Cj4gLQo+ IC0JZW5hYmxlID0gY3J0YyA/IHRydWUgOiBmYWxzZTsKPiAtCj4gLQlpZiAoIWRybV9lbmMpIHsK PiAtCQlEUFVfRVJST1IoImludmFsaWQgZW5jb2RlclxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+ IC0JdHJhY2VfZHB1X2VuY192YmxhbmtfY2IoRFJNSUQoZHJtX2VuYyksIGVuYWJsZSk7Cj4gCj4g IAlzcGluX2xvY2tfaXJxc2F2ZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsK PiAgCS8qIGNydGMgc2hvdWxkIGFsd2F5cyBiZSBjbGVhcmVkIGJlZm9yZSByZS1hc3NpZ25pbmcg Ki8KPiAgCVdBUk5fT04oY3J0YyAmJiBkcHVfZW5jLT5jcnRjKTsKPiAgCWRwdV9lbmMtPmNydGMg PSBjcnRjOwo+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2Nr LCBsb2NrX2ZsYWdzKTsKPiArfQo+ICsKPiArdm9pZCBkcHVfZW5jb2Rlcl90b2dnbGVfdmJsYW5r X2Zvcl9jcnRjKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKPiArCQkJCQlzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIGJvb2wKPiBlbmFibGUpCj4gK3sKPiArCXN0cnVjdCBkcHVfZW5jb2Rlcl92 aXJ0ICpkcHVfZW5jID0gdG9fZHB1X2VuY29kZXJfdmlydChkcm1fZW5jKTsKPiArCXVuc2lnbmVk IGxvbmcgbG9ja19mbGFnczsKPiArCWludCBpOwo+ICsKPiArCXRyYWNlX2RwdV9lbmNfdmJsYW5r X2NiKERSTUlEKGRybV9lbmMpLCBlbmFibGUpOwo+ICsKPiArCXNwaW5fbG9ja19pcnFzYXZlKCZk cHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwo+ICsJaWYgKGRwdV9lbmMtPmNydGMg IT0gY3J0Yykgewo+ICsJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRwdV9lbmMtPmVuY19zcGlu bG9jaywKPiBsb2NrX2ZsYWdzKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkcHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwo+IAo+ICAJZm9y IChpID0gMDsgaSA8IGRwdV9lbmMtPm51bV9waHlzX2VuY3M7IGkrKykgewo+ICAJCXN0cnVjdCBk cHVfZW5jb2Rlcl9waHlzICpwaHlzID0gZHB1X2VuYy0+cGh5c19lbmNzW2ldOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCj4gYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCj4gaW5kZXggYmUxZDgwODY3 ODM0Li42ODk2ZWEyYWI4NTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyLmgKPiBAQCAtNjIsNiArNjIsMTYgQEAgdm9pZCBkcHVfZW5jb2Rlcl9nZXRf aHdfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZW5jb2Rlcgo+ICplbmNvZGVyLAo+ICB2b2lkIGRwdV9l bmNvZGVyX2Fzc2lnbl9jcnRjKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAg ICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+IAo+ICsvKioKPiArICogZHB1X2VuY29kZXJfdG9n Z2xlX3ZibGFua19mb3JfY3J0YyAtIFRvZ2dsZXMgdmJsYW5rIGludGVycnVwdHMgb24gCj4gb3IK PiBvZmYgaWYKPiArICoJdGhlIGVuY29kZXIgaXMgYXNzaWduZWQgdG8gdGhlIGdpdmVuIGNydGMK PiArICogQGVuY29kZXI6CWVuY29kZXIgcG9pbnRlcgo+ICsgKiBAY3J0YzoJY3J0YyBwb2ludGVy Cj4gKyAqIEBlbmFibGU6CXRydWUgaWYgdmJsYW5rIHNob3VsZCBiZSBlbmFibGVkCj4gKyAqLwo+ ICt2b2lkIGRwdV9lbmNvZGVyX3RvZ2dsZV92YmxhbmtfZm9yX2NydGMoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ICsJCQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbAo+IGVuYWJs ZSk7Cj4gKwo+ICAvKioKPiAgICogZHB1X2VuY29kZXJfcmVnaXN0ZXJfZnJhbWVfZXZlbnRfY2Fs bGJhY2sgLSBwcm92aWRlIGNhbGxiYWNrIHRvCj4gZW5jb2RlciB0aGF0Cj4gICAqCXdpbGwgYmUg Y2FsbGVkIGFmdGVyIHRoZSByZXF1ZXN0IGlzIGNvbXBsZXRlLCBvciBvdGhlciBldmVudHMuCgot LSAKSmV5a3VtYXIgUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJl bm8K