From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH 2/2] drm/atomic: Create and use __drm_atomic_helper_crtc_reset() everywhere Date: Wed, 21 Nov 2018 13:41:39 -0500 Message-ID: References: <20181112150114.18395-1-maarten.lankhorst@linux.intel.com> <20181112150114.18395-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112150114.18395-2-maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Maarten Lankhorst , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Haneen Mohammed , Alexandre Belloni , Heiko =?ISO-8859-1?Q?St=C3=BCbner?= , David Airlie , Daniel Vetter , Joonas Lahtinen , Liviu Dudau , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Eric Anholt , Thierry Reding , Laurent Pinchart , Anthony Koo , "David (ChunMing) Zhou" , Thomas Hellstrom , Brian Starkey , Sinclair Yeh , Bhawanpreet Lakha , David Francis , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jonathan Hunter , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Ludovic Desroches List-Id: linux-mediatek@lists.infradead.org Rm9yIHRoZSBub3V2ZWF1IGFuZCBkcm0gY29yZSBjaGFuZ2VzCgpSZXZpZXdlZC1ieTogTHl1ZGUg UGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KCk9uIE1vbiwgMjAxOC0xMS0xMiBhdCAxNjowMSArMDEw MCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gV2UgYWxyZWFkeSBoYXZlIF9fZHJtX2F0b21p Y19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0KCkgYW5kCj4gX19kcm1fYXRvbWljX2hlbHBlcl9wbGFu ZV9yZXNldCgpLCBleHRlbmQgdGhpcyB0byBjcnRjIGFzIHdlbGwuCj4gCj4gTW9zdCBkcml2ZXJz IGFscmVhZHkgaGF2ZSBhIGdwdSByZXNldCBob29rLCBjb3JyZWN0IGl0Lgo+IE5vdXZlYXUgYWxy ZWFkeSBpbXBsZW1lbnRlZCBpdHMgb3duIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgp LAo+IGNvbnZlcnQgaXQgdG8gdGhlIGNvbW1vbiBvbmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzog SGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Cj4gQ2M6IExlbyBMaSA8c3Vu cGVuZy5saUBhbWQuY29tPgo+IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFt ZC5jb20+Cj4gQ2M6ICJDaHJpc3RpYW4gS8ODwrZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5j b20+Cj4gQ2M6ICJEYXZpZCAoQ2h1bk1pbmcpIFpob3UiIDxEYXZpZDEuWmhvdUBhbWQuY29tPgo+ IENjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+Cj4gQ2M6IExpdml1IER1ZGF1IDxs aXZpdS5kdWRhdUBhcm0uY29tPgo+IENjOiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFy bS5jb20+Cj4gQ2M6IE1hbGkgRFAgTWFpbnRhaW5lcnMgPG1hbGlkcEBmb3NzLmFybS5jb20+Cj4g Q2M6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGJvb3RsaW4uY29tPgo+IENjOiBO aWNvbGFzIEZlcnJlIDxuaWNvbGFzLmZlcnJlQG1pY3JvY2hpcC5jb20+Cj4gQ2M6IEFsZXhhbmRy ZSBCZWxsb25pIDxhbGV4YW5kcmUuYmVsbG9uaUBib290bGluLmNvbT4KPiBDYzogTHVkb3ZpYyBE ZXNyb2NoZXMgPGx1ZG92aWMuZGVzcm9jaGVzQG1pY3JvY2hpcC5jb20+Cj4gQ2M6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IE1heGlt ZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+Cj4gQ2M6IFNlYW4gUGF1bCA8c2Vh bkBwb29ybHkucnVuPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPgo+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5j b20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBDYzogUGhp bGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KPiBDYzogQ0sgSHUgPGNrLmh1QG1l ZGlhdGVrLmNvbT4KPiBDYzogTWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNv bT4KPiBDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgo+IENjOiBCZW4gU2tlZ2dz IDxic2tlZ2dzQHJlZGhhdC5jb20+Cj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5l bkB0aS5jb20+Cj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNv bmJvYXJkLmNvbT4KPiBDYzogS2llcmFuIEJpbmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNA aWRlYXNvbmJvYXJkLmNvbT4KPiBDYzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBzLmNvbT4K PiBDYzogIkhlaWtvIFN0w4PCvGJuZXIiIDxoZWlrb0BzbnRlY2guZGU+Cj4gQ2M6IFRoaWVycnkg UmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BnbWFpbC5jb20+Cj4gQ2M6IEpvbmF0aGFuIEh1bnRlciA8 am9uYXRoYW5oQG52aWRpYS5jb20+Cj4gQ2M6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+ Cj4gQ2M6IFZNd2FyZSBHcmFwaGljcyA8bGludXgtZ3JhcGhpY3MtbWFpbnRhaW5lckB2bXdhcmUu Y29tPgo+IENjOiBTaW5jbGFpciBZZWggPHN5ZWhAdm13YXJlLmNvbT4KPiBDYzogVGhvbWFzIEhl bGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgo+IENjOiBUb255IENoZW5nIDxUb255LkNo ZW5nQGFtZC5jb20+Cj4gQ2M6IFNoaXJpc2ggUyA8c2hpcmlzaC5zQGFtZC5jb20+Cj4gQ2M6IE1p a2l0YSBMaXBza2kgPG1pa2l0YS5saXBza2lAYW1kLmNvbT4KPiBDYzogQmhhd2FucHJlZXQgTGFr aGEgPEJoYXdhbnByZWV0Lkxha2hhQGFtZC5jb20+Cj4gQ2M6IERhdmlkIEZyYW5jaXMgPERhdmlk LkZyYW5jaXNAYW1kLmNvbT4KPiBDYzogQW50aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+ Cj4gQ2M6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6IEpv cmRhbiBDcm91c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6IEJydWNlIFdhbmcgPGJ6 d2FuZ0BjaHJvbWl1bS5vcmc+Cj4gQ2M6IFNyYXZhbnRoaSBLb2xsdWt1ZHVydSA8c2tvbGx1a3VA Y29kZWF1cm9yYS5vcmc+Cj4gQ2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5v cmc+Cj4gQ2M6IFN0ZXZlIEtvd2FsaWsgPHN0ZXZlbkB3ZWRvbnRzbGVlcC5vcmc+Cj4gQ2M6IENh cnN0ZW4gQmVobGluZyA8Y2Fyc3Rlbi5iZWhsaW5nQGdvb2dsZW1haWwuY29tPgo+IENjOiBIYW5l ZW4gTW9oYW1tZWQgPGhhbW9oYW1tZWQuc2FAZ21haWwuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENjOiBSb2RyaWdvIFNpcXVlaXJhIDxyb2RyaWdv c2lxdWVpcmFtZWxvQGdtYWlsLmNvbT4KPiBDYzogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFy QGludGVsLmNvbT4KPiBDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnCj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IENjOiBp bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3Rz LmluZnJhZGVhZC5vcmcKPiBDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzog ZnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBub3V2ZWF1QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IENjOiBsaW51eC1yZW5lc2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzog bGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IENjOiBsaW51eC10ZWdyYUB2Z2Vy Lmtlcm5lbC5vcmcKPiAtLS0KPiAgLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbS5jIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyAg ICAgICAgICAgICB8ICA1ICstLQo+ICAuLi4vZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNk Y19jcnRjLmMgICAgfCAgNSArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVf aGVscGVyLmMgICAgIHwgMzEgKysrKysrKysrKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v aW14L2lwdXYzLWNydGMuYyAgICAgICAgICAgICAgfCAgNSArLS0KPiAgZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fY3J0Yy5jICAgICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgICAgICB8IDEyICsrLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMgICAgIHwgIDYgKy0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMgICAgICAgfCAxMyArKy0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyAgICAgICAgICAgfCAgNyArKy0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyAgICAgICAgfCAgNCArLS0K PiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyAgIHwgIDcgKysr LS0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgIHwgIDUg Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyAgICAgICAgICAgICAgICB8ICA4 ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jICAgICAgICAgICAgICB8 ICA3ICstLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jICAgICAgICAg ICB8ICA5ICstLS0tLQo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oICAg ICAgICAgfCAgMiArKwo+ICAxOCBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA4MSBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG0uYwo+IGluZGV4IDUwNjQ3Njg2NDJmMy4uNzcwYTcxNzI2Y2QxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1 X2RtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbS5jCj4gQEAgLTI4MDIsOSArMjgwMiw3IEBAIHN0YXRpYyB2b2lkIGRtX2NydGNfcmVzZXRf c3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJaWYgKFdBUk5fT04oIXN0YXRlKSkKPiAg CQlyZXR1cm47Cj4gIAo+IC0JY3J0Yy0+c3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gLQljcnRjLT5z dGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0 KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9jcnRjLmMK PiBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IGluZGV4IGUxYjcyNzgyODQ4 Yy4uOWE5MjRmZjI3MTQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IEBAIC00 NzQsMTAgKzQ3NCw3IEBAIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgCj4gIAlrZnJlZShzdGF0ZSk7Cj4gIAlzdGF0ZSA9IGt6YWxsb2Moc2l6 ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKHN0YXRlKSB7Cj4gLQkJY3J0Yy0+c3Rh dGUgPSAmc3RhdGUtPmJhc2U7Cj4gLQkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+IC0JfQo+ ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4g IH0KPiAgCj4gIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMv YXRtZWxfaGxjZGNfY3J0Yy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxf aGxjZGNfY3J0Yy5jCj4gaW5kZXggOTZmNDA4MjY3MWZlLi44MDg0ZDU0OWM3ZDEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2NydGMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiBAQCAt NDEyLDEwICs0MTIsNyBAQCBzdGF0aWMgdm9pZCBhdG1lbF9obGNkY19jcnRjX3Jlc2V0KHN0cnVj dCBkcm1fY3J0Ywo+ICpjcnRjKQo+ICAJfQo+ICAKPiAgCXN0YXRlID0ga3phbGxvYyhzaXplb2Yo KnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoc3RhdGUpIHsKPiAtCQljcnRjLT5zdGF0ZSA9 ICZzdGF0ZS0+YmFzZTsKPiAtCQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQl9Cj4gKwlf X2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgfQo+ ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYwo+IGluZGV4IDNiYTk5NjA2OWQ2OS4uM2VlZTFjYTMz ZmM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBl ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiBA QCAtNTUsNiArNTUsMjkgQEAKPiAgICogZm9yIHRoZXNlIGZ1bmN0aW9ucy4KPiAgICovCj4gIAo+ ICsvKioKPiArICogX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0IC0gcmVzZXQgc3RhdGUg b24gQ1JUQwo+ICsgKiBAY3J0YzogZHJtIENSVEMKPiArICogQGNydGNfc3RhdGU6IENSVEMgc3Rh dGUgdG8gYXNzaWduCj4gKyAqCj4gKyAqIEluaXRpYWxpemVzIHRoZSBuZXdseSBhbGxvY2F0ZWQg QGNydGNfc3RhdGUgYW5kIGFzc2lnbnMgaXQgdG8KPiArICogdGhlICZkcm1fY29uZWN0b3ItPnN0 YXRlIHBvaW50ZXIgb2YgQGNydGMsIHVzdWFsbHkgcmVxdWlyZWQgd2hlbgo+ICsgKiBpbml0aWFs aXppbmcgdGhlIGRyaXZlcnMgb3Igd2hlbiBjYWxsZWQgZnJvbSB0aGUgJmRybV9jcnRjX2Z1bmNz LnJlc2V0Cj4gKyAqIGhvb2suCj4gKyAqCj4gKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBkcml2ZXJz IHRoYXQgc3ViY2xhc3MgdGhlIENSVEMgc3RhdGUuCj4gKyAqLwo+ICt2b2lkCj4gK19fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCSAgICAg ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmIChjcnRjX3N0 YXRlKQo+ICsJCWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsKPiArCWNydGMtPnN0YXRlID0g Y3J0Y19zdGF0ZTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY3J0 Y19yZXNldCk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCAt IGRlZmF1bHQgJmRybV9jcnRjX2Z1bmNzLnJlc2V0IGhvb2sgZm9yCj4gQ1JUQ3MKPiAgICogQGNy dGM6IGRybSBDUlRDCj4gQEAgLTY0LDE0ICs4NywxNCBAQAo+ICAgKi8KPiAgdm9pZCBkcm1fYXRv bWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICsJc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiArCQlremFsbG9jKHNpemVvZigqY3J0 Yy0+c3RhdGUpLCBHRlBfS0VSTkVMKTsKPiArCj4gIAlpZiAoY3J0Yy0+c3RhdGUpCj4gIAkJX19k cm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAKPiAg CWtmcmVlKGNydGMtPnN0YXRlKTsKPiAtCWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2YoKmNy dGMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQo+IC0JaWYgKGNydGMtPnN0YXRlKQo+IC0JCWNy dGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dChjcnRjLCBjcnRjX3N0YXRlKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVs cGVyX2NydGNfcmVzZXQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCBmMzgzNDE3NTcxZWMuLjkwN2ZmZWI2NDc4MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTU0NTcsNyArMTU0NTcsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0Cj4gZHJtX2RldmljZSAqZGV2KQo+ ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0 ZS0+YmFzZSk7Cj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkp Owo+IC0JCWNydGNfc3RhdGUtPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwo+ICsJCV9fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldCgmY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtCj4gPmJhc2Up Owo+ICAKPiAgCQljcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuZW5h YmxlID0KPiAgCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsIGNydGNf c3RhdGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtCj4gY3J0Yy5jCj4gaW5kZXggN2Q0YjcxMGI4Mzdh Li44YmMzNmYwZDJiNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYwo+IEBAIC0xMjAs MTIgKzEyMCw5IEBAIHN0YXRpYyB2b2lkIGlteF9kcm1fY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAkJbWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7Cj4gIAl9IGVs c2Ugewo+ICAJCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g LQkJaWYgKCFzdGF0ZSkKPiAtCQkJcmV0dXJuOwo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5i YXNlOwo+ICAJfQo+ICAKPiAtCXN0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRv bWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0 YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmlteF9kcm1fY3J0Y19kdXBsaWNhdGVfc3RhdGUo c3RydWN0IGRybV9jcnRjCj4gKmNydGMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fY3J0Yy5jCj4gaW5kZXggOTJlY2I5YmY5ODJjLi5hNzQzZTVlZDExNzcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gQEAgLTExOSwxMiArMTE5LDkgQEAg c3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAg CQltZW1zZXQoc3RhdGUsIDAsIHNpemVvZigqc3RhdGUpKTsKPiAgCX0gZWxzZSB7Cj4gIAkJc3Rh dGUgPSBremFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAtCQlpZiAoIXN0YXRl KQo+IC0JCQlyZXR1cm47Cj4gLQkJY3J0Yy0+c3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gIAl9Cj4g IAo+IC0Jc3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqbXRrX2RybV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMKPiAqY3J0YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+ IGluZGV4IGQ0NTMwZDYwNzY3Yi4uYzg2ZTYwM2Y0ODZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gQEAgLTg5NCwyMCArODk0LDEyIEBAIHN0YXRpYyB2 b2lkIGRwdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQlfZHB1X2NydGNf c2V0X3N1c3BlbmQoY3J0YywgZmFsc2UpOwo+ICAKPiAgCS8qIHJlbW92ZSBwcmV2aW91cyBzdGF0 ZSwgaWYgcHJlc2VudCAqLwo+IC0JaWYgKGNydGMtPnN0YXRlKSB7Cj4gKwlpZiAoY3J0Yy0+c3Rh dGUpCj4gIAkJZHB1X2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLCBjcnRjLT5zdGF0ZSk7Cj4gLQkJ Y3J0Yy0+c3RhdGUgPSAwOwo+IC0JfQo+ICAKPiAgCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0 Yyk7Cj4gIAljc3RhdGUgPSBremFsbG9jKHNpemVvZigqY3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g LQlpZiAoIWNzdGF0ZSkgewo+IC0JCURQVV9FUlJPUigiZmFpbGVkIHRvIGFsbG9jYXRlIHN0YXRl XG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JY3N0YXRlLT5iYXNlLmNydGMgPSBjcnRj Owo+IC0JY3J0Yy0+c3RhdGUgPSAmY3N0YXRlLT5iYXNlOwo+ICsJX19kcm1fYXRvbWljX2hlbHBl cl9jcnRjX3Jlc2V0KGNydGMsICZjc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9p ZCBkcHVfY3J0Y19oYW5kbGVfcG93ZXJfZXZlbnQodTMyIGV2ZW50X3R5cGUsIHZvaWQgKmFyZykK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMK PiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jCj4gaW5kZXggYjFk YTljZTU0Mzc5Li4xMzhkYTY2YjE1MzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDUvbWRwNV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNS9tZHA1X2NydGMuYwo+IEBAIC0xMDE5LDExICsxMDE5LDcgQEAgc3RhdGljIHZvaWQgbWRw NV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgCj4gIAltZHA1X2Nz dGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCptZHA1X2NzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0KPiAt CWlmIChtZHA1X2NzdGF0ZSkgewo+IC0JCW1kcDVfY3N0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwo+ IC0JCWNydGMtPnN0YXRlID0gJm1kcDVfY3N0YXRlLT5iYXNlOwo+IC0JfQo+ICsJX19kcm1fYXRv bWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZtZHA1X2NzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAg Cj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L2Rpc3BudjUwL2hlYWQuYwo+IGluZGV4IDRmNTdlNTM3OTc5Ni4uMzQxNjAwNDA2NTg5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+IEBAIC00MTgsMTYg KzQxOCw2IEBAIG52NTBfaGVhZF9hdG9taWNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCXJldHVybiAmYXN5aC0+c3RhdGU7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lk Cj4gLV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+IC17Cj4gLQlpZiAo Y3J0Yy0+c3RhdGUpCj4gLQkJY3J0Yy0+ZnVuY3MtPmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMs IGNydGMtPnN0YXRlKTsKPiAtCWNydGMtPnN0YXRlID0gc3RhdGU7Cj4gLQljcnRjLT5zdGF0ZS0+ Y3J0YyA9IGNydGM7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkCj4gIG52NTBfaGVhZF9yZXNldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiBAQCAtNDM2LDYgKzQyNiw5IEBAIG52NTBfaGVh ZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlpZiAoV0FSTl9PTighKGFzeWggPSBr emFsbG9jKHNpemVvZigqYXN5aCksIEdGUF9LRVJORUwpKSkpCj4gIAkJcmV0dXJuOwo+ICAKPiAr CWlmIChjcnRjLT5zdGF0ZSkKPiArCQljcnRjLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUo Y3J0YywgY3J0Yy0+c3RhdGUpOwo+ICsKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dChjcnRjLCAmYXN5aC0+c3RhdGUpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9jcnRjLmMKPiBpbmRleCBjYWZmYzU0N2VmOTcuLjljNWY4MTA5OTEzYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gQEAgLTU1NCwxNCArNTU0LDEzIEBAIHN0YXRpYyBp bnQgb21hcF9jcnRjX2F0b21pY19nZXRfcHJvcGVydHkoc3RydWN0Cj4gZHJtX2NydGMgKmNydGMs Cj4gIAo+ICBzdGF0aWMgdm9pZCBvbWFwX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICB7Cj4gKwlzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiArCQlremFs bG9jKHNpemVvZigqY3J0Y19zdGF0ZSksIEdGUF9LRVJORUwpOwo+ICAJaWYgKGNydGMtPnN0YXRl KQo+ICAJCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRl KTsKPiAgCj4gIAlrZnJlZShjcnRjLT5zdGF0ZSk7Cj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Mo c2l6ZW9mKHN0cnVjdCBvbWFwX2NydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAtCj4gLQlpZiAo Y3J0Yy0+c3RhdGUpCj4gLQkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRv bWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAK PiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItCj4g ZHUvcmNhcl9kdV9jcnRjLmMKPiBpbmRleCAxNzc0MTg0M2NmNTEuLjdiZWFiMjJiNDY3NCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gQEAgLTg1NywxNCArODU3 LDEyIEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAl9Cj4gIAo+ICAJc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VS TkVMKTsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPnN0 YXRlKTsKPiAgCWlmIChzdGF0ZSA9PSBOVUxMKQo+ICAJCXJldHVybjsKPiAgCj4gIAlzdGF0ZS0+ Y3JjLnNvdXJjZSA9IFZTUDFfRFVfQ1JDX05PTkU7Cj4gIAlzdGF0ZS0+Y3JjLmluZGV4ID0gMDsK PiAtCj4gLQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+c3RhdGU7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0 YyA9IGNydGM7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgcmNhcl9kdV9jcnRjX2VuYWJsZV92Ymxh bmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfZHJtX3ZvcC5jCj4gaW5kZXggZmI3MGZiNDg2ZmJmLi5kMmQ1YWE2NzYwODQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBAQCAt MTA3MSwxMyArMTA3MSwxNCBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19kZXN0cm95KHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCj4gIHN0YXRpYyB2b2lkIHZvcF9jcnRjX3Jlc2V0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgewo+ICsJc3RydWN0IHJvY2tjaGlwX2NydGNfc3RhdGUgKmNydGNf c3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g Kwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0 cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCWtmcmVlKGNydGMtPnN0YXRlKTsKPiAgCj4gLQlj cnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByb2NrY2hpcF9jcnRjX3N0YXRlKSwg R0ZQX0tFUk5FTCk7Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJY3J0Yy0+c3RhdGUtPmNydGMg PSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZjcnRjX3N0 YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqdm9w X2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0Ywo+ICpjcnRjKQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9k Yy5jCj4gaW5kZXggZjgwZTgyZTE2NDc1Li4xNDBkNjE5MWQ4ZDIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMu Ywo+IEBAIC0xMTY0LDEwICsxMTY0LDcgQEAgc3RhdGljIHZvaWQgdGVncmFfY3J0Y19yZXNldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAljcnRjLT5zdGF0ZSA9IE5VTEw7Cj4gIAo+ICAJc3Rh dGUgPSBremFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAtCWlmIChzdGF0ZSkg ewo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+IC0JCWNydGMtPnN0YXRlLT5jcnRj ID0gY3J0YzsKPiAtCX0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAm c3RhdGUtPmJhc2UpOwo+ICAKPiAgCWRybV9jcnRjX3ZibGFua19yZXNldChjcnRjKTsKPiAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMgYi9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9jcnRjLmMKPiBpbmRleCBjZDIyNmU2M2Q1NTcuLjc2YmVlZGExNTdmYyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMKPiBAQCAtOTk4LDEyICs5OTgsMTIgQEAgc3RhdGlj IHZvaWQgdmM0X2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMKPiAqY3J0YywKPiAg c3RhdGljIHZvaWQKPiAgdmM0X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7 Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJdmM0X2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLT5z dGF0ZSk7Cj4gKwlzdHJ1Y3QgdmM0X2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxs b2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gIAo+IC0JY3J0Yy0+c3RhdGUg PSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdmM0X2NydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAg CWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwkJdmM0 X2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLCBjcnRjLT5zdGF0ZSk7Cj4gKwlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfcmVzZXQoY3J0YywgJmNydGNfc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHZjNF9jcnRjX2Z1bmNzID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+IGIvZHJpdmVycy9n cHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiBpbmRleCAxNzdiYmNiMzgzMDYuLjdiMDE4ZjZlZTk3 MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gQEAgLTk4LDE1ICs5OCwxMCBAQCBz dGF0aWMgdm9pZCB2a21zX2F0b21pY19jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0Ywo+ICpjcnRj KQo+ICAJCXZrbXNfc3RhdGUgPSB0b192a21zX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAJ CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAg CQlrZnJlZSh2a21zX3N0YXRlKTsKPiAtCQljcnRjLT5zdGF0ZSA9IE5VTEw7Cj4gIAl9Cj4gIAo+ ICAJdmttc19zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCp2a21zX3N0YXRlKSwgR0ZQX0tFUk5FTCk7 Cj4gLQlpZiAoIXZrbXNfc3RhdGUpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWNydGMtPnN0YXRlID0g JnZrbXNfc3RhdGUtPmJhc2U7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2Ry bV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJnZrbXNfc3RhdGUtPmJhc2UpOwo+ICB9 Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2ttcy5jCj4gaW5kZXggZTZiMTFmNmFlMmU0Li4yODc4YmMwYTQ3MTggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+IEBAIC02MzMsMTQgKzYzMyw3IEBAIHZv aWQgdm13X2R1X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJfQo+ICAKPiAg CXZjcyA9IGt6YWxsb2Moc2l6ZW9mKCp2Y3MpLCBHRlBfS0VSTkVMKTsKPiAtCj4gLQlpZiAoIXZj cykgewo+IC0JCURSTV9FUlJPUigiQ2Fubm90IGFsbG9jYXRlIHZtd19jcnRjX3N0YXRlXG4iKTsK PiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JY3J0Yy0+c3RhdGUgPSAmdmNzLT5iYXNlOwo+IC0J Y3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jl c2V0KGNydGMsICZ2Y3MtPmJhc2UpOwo+ICB9Cj4gIAo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaAo+IGIvaW5jbHVkZS9kcm0vZHJtX2F0b21p Y19zdGF0ZV9oZWxwZXIuaAo+IGluZGV4IDViODJjY2ZkYjUwMi4uYWIyYjVhNDk5NDhjIDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oCj4gQEAgLTM3LDYgKzM3LDggQEAg c3RydWN0IGRybV9wcml2YXRlX3N0YXRlOwo+ICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9j dHg7Cj4gIHN0cnVjdCBkcm1fZGV2aWNlOwo+ICAKPiArdm9pZCBfX2RybV9hdG9taWNfaGVscGVy X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQo c3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkgICAgICBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKLS0gCkNoZWVycywKCUx5dWRlIFBhdWwKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=