From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH 2/2] drm/atomic: Create and use __drm_atomic_helper_crtc_reset() everywhere Date: Mon, 12 Nov 2018 20:01:11 +0000 Message-ID: <20181112200111.GA2124@e110455-lin.cambridge.arm.com> 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: Content-Disposition: inline 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: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Maarten Lankhorst Cc: Haneen Mohammed , Alexandre Belloni , David Airlie , Daniel Vetter , Mahesh Kumar , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Nicolas Ferre , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Thierry Reding , Laurent Pinchart , Anthony Koo , Thomas Hellstrom , Bhawanpreet Lakha , David Francis , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jonathan Hunter , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Ludovic Desroches , Tomi Valkeinen , Mali DP Maintainers , Ben Skeggs , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-rockchip.vger.kernel.org T24gTW9uLCBOb3YgMTIsIDIwMTggYXQgMDQ6MDE6MTRQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gV2UgYWxyZWFkeSBoYXZlIF9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X3Jlc2V0KCkgYW5kCj4gX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9yZXNldCgpLCBleHRlbmQg dGhpcyB0byBjcnRjIGFzIHdlbGwuCj4gCj4gTW9zdCBkcml2ZXJzIGFscmVhZHkgaGF2ZSBhIGdw dSByZXNldCBob29rLCBjb3JyZWN0IGl0Lgo+IE5vdXZlYXUgYWxyZWFkeSBpbXBsZW1lbnRlZCBp dHMgb3duIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgpLAo+IGNvbnZlcnQgaXQgdG8g dGhlIGNvbW1vbiBvbmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1h YXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogSGFycnkgV2VudGxhbmQgPGhh cnJ5LndlbnRsYW5kQGFtZC5jb20+Cj4gQ2M6IExlbyBMaSA8c3VucGVuZy5saUBhbWQuY29tPgo+ IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cj4gQ2M6ICJDaHJp c3RpYW4gS8ODwrZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gQ2M6ICJEYXZpZCAo Q2h1bk1pbmcpIFpob3UiIDxEYXZpZDEuWmhvdUBhbWQuY29tPgo+IENjOiBEYXZpZCBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+Cj4gQ2M6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBhcm0uY29t Pgo+IENjOiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFybS5jb20+Cj4gQ2M6IE1hbGkg RFAgTWFpbnRhaW5lcnMgPG1hbGlkcEBmb3NzLmFybS5jb20+Cj4gQ2M6IEJvcmlzIEJyZXppbGxv biA8Ym9yaXMuYnJlemlsbG9uQGJvb3RsaW4uY29tPgo+IENjOiBOaWNvbGFzIEZlcnJlIDxuaWNv bGFzLmZlcnJlQG1pY3JvY2hpcC5jb20+Cj4gQ2M6IEFsZXhhbmRyZSBCZWxsb25pIDxhbGV4YW5k cmUuYmVsbG9uaUBib290bGluLmNvbT4KPiBDYzogTHVkb3ZpYyBEZXNyb2NoZXMgPGx1ZG92aWMu ZGVzcm9jaGVzQG1pY3JvY2hpcC5jb20+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IE1heGltZSBSaXBhcmQgPG1heGltZS5y aXBhcmRAYm9vdGxpbi5jb20+Cj4gQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgo+IENj OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENjOiBKb29uYXMg TGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28g Vml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBDYzogUGhpbGlwcCBaYWJlbCA8cC56YWJl bEBwZW5ndXRyb25peC5kZT4KPiBDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVrLmNvbT4KPiBDYzog TWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNvbT4KPiBDYzogUm9iIENsYXJr IDxyb2JkY2xhcmtAZ21haWwuY29tPgo+IENjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5j b20+Cj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+Cj4gQ2M6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiBDYzog S2llcmFuIEJpbmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4K PiBDYzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBzLmNvbT4KPiBDYzogIkhlaWtvIFN0w4PC vGJuZXIiIDxoZWlrb0BzbnRlY2guZGU+Cj4gQ2M6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5LnJl ZGluZ0BnbWFpbC5jb20+Cj4gQ2M6IEpvbmF0aGFuIEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5j b20+Cj4gQ2M6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Cj4gQ2M6IFZNd2FyZSBHcmFw aGljcyA8bGludXgtZ3JhcGhpY3MtbWFpbnRhaW5lckB2bXdhcmUuY29tPgo+IENjOiBTaW5jbGFp ciBZZWggPHN5ZWhAdm13YXJlLmNvbT4KPiBDYzogVGhvbWFzIEhlbGxzdHJvbSA8dGhlbGxzdHJv bUB2bXdhcmUuY29tPgo+IENjOiBUb255IENoZW5nIDxUb255LkNoZW5nQGFtZC5jb20+Cj4gQ2M6 IFNoaXJpc2ggUyA8c2hpcmlzaC5zQGFtZC5jb20+Cj4gQ2M6IE1pa2l0YSBMaXBza2kgPG1pa2l0 YS5saXBza2lAYW1kLmNvbT4KPiBDYzogQmhhd2FucHJlZXQgTGFraGEgPEJoYXdhbnByZWV0Lkxh a2hhQGFtZC5jb20+Cj4gQ2M6IERhdmlkIEZyYW5jaXMgPERhdmlkLkZyYW5jaXNAYW1kLmNvbT4K PiBDYzogQW50aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+Cj4gQ2M6IEpleWt1bWFyIFNh bmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6IEpvcmRhbiBDcm91c2UgPGpjcm91 c2VAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6IEJydWNlIFdhbmcgPGJ6d2FuZ0BjaHJvbWl1bS5vcmc+ Cj4gQ2M6IFNyYXZhbnRoaSBLb2xsdWt1ZHVydSA8c2tvbGx1a3VAY29kZWF1cm9yYS5vcmc+Cj4g Q2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6IFN0ZXZlIEtv d2FsaWsgPHN0ZXZlbkB3ZWRvbnRzbGVlcC5vcmc+Cj4gQ2M6IENhcnN0ZW4gQmVobGluZyA8Y2Fy c3Rlbi5iZWhsaW5nQGdvb2dsZW1haWwuY29tPgo+IENjOiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9o YW1tZWQuc2FAZ21haWwuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZm d2xsLmNoPgo+IENjOiBSb2RyaWdvIFNpcXVlaXJhIDxyb2RyaWdvc2lxdWVpcmFtZWxvQGdtYWls LmNvbT4KPiBDYzogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KPiBDYzog YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4gQ2M6IGxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IENjOiBpbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiBD YzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogZnJlZWRyZW5vQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IENjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBs aW51eC1yZW5lc2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzogbGludXgtcm9ja2NoaXBAbGlz dHMuaW5mcmFkZWFkLm9yZwo+IENjOiBsaW51eC10ZWdyYUB2Z2VyLmtlcm5lbC5vcmcKPiAtLS0K PiAgLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jIHwgIDQgKy0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyAgICAgICAgICAgICB8ICA1ICst LQo+ICAuLi4vZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMgICAgfCAgNSAr LS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMgICAgIHwgMzEg KysrKysrKysrKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyAg ICAgICAgICAgICAgfCAgNSArLS0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f Y3J0Yy5jICAgICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMgICAgICB8IDEyICsrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21k cDUvbWRwNV9jcnRjLmMgICAgIHwgIDYgKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9k aXNwbnY1MC9oZWFkLmMgICAgICAgfCAxMyArKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2NydGMuYyAgICAgICAgICAgfCAgNyArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2NydGMuYyAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyAgIHwgIDcgKysrLS0KPiAgZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X2NydGMuYyAgICAgICAgICAgICAgICB8ICA4ICsrLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jICAgICAgICAgICAgICB8ICA3ICstLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jICAgICAgICAgICB8ICA5ICstLS0tLQo+ICBp bmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oICAgICAgICAgfCAgMiArKwo+ICAx OCBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA4MSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVf ZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMK PiBpbmRleCA1MDY0NzY4NjQyZjMuLjc3MGE3MTcyNmNkMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IEBAIC0yODAyLDkg KzI4MDIsNyBAQCBzdGF0aWMgdm9pZCBkbV9jcnRjX3Jlc2V0X3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCWlmIChXQVJOX09OKCFzdGF0ZSkpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCWNy dGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+IC0JY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ IC0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPmJhc2Up Owo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9tYWxpZHBfY3J0Yy5jCj4gaW5kZXggZTFiNzI3ODI4NDhjLi45YTkyNGZmMjcxNDggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfY3J0Yy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9tYWxpZHBfY3J0Yy5jCj4gQEAgLTQ3NCwxMCArNDc0LDcgQEAgc3RhdGlj IHZvaWQgbWFsaWRwX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAKPiAgCWtm cmVlKHN0YXRlKTsKPiAgCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5F TCk7Cj4gLQlpZiAoc3RhdGUpIHsKPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAt CQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVy X2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQg bWFsaWRwX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCgpGb3IgdGhl IG1hbGlkcCBjaGFuZ2VzOgpBY2tlZC1ieTogTGl2aXUgRHVkYXUgPGxpdml1LmR1ZGF1QGFybS5j b20+CgpCZXN0IHJlZ2FyZHMsCkxpdml1Cgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhs Y2RjL2F0bWVsX2hsY2RjX2NydGMuYwo+IGluZGV4IDk2ZjQwODI2NzFmZS4uODA4NGQ1NDljN2Qx IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0 Yy5jCj4gQEAgLTQxMiwxMCArNDEyLDcgQEAgc3RhdGljIHZvaWQgYXRtZWxfaGxjZGNfY3J0Y19y ZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4gIAo+ICAJc3RhdGUgPSBremFsbG9j KHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAtCWlmIChzdGF0ZSkgewo+IC0JCWNydGMt PnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAt CX0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPmJhc2Up Owo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYwo+IGluZGV4IDNiYTk5NjA2OWQ2OS4uM2Vl ZTFjYTMzZmM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRl X2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVy LmMKPiBAQCAtNTUsNiArNTUsMjkgQEAKPiAgICogZm9yIHRoZXNlIGZ1bmN0aW9ucy4KPiAgICov Cj4gIAo+ICsvKioKPiArICogX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0IC0gcmVzZXQg c3RhdGUgb24gQ1JUQwo+ICsgKiBAY3J0YzogZHJtIENSVEMKPiArICogQGNydGNfc3RhdGU6IENS VEMgc3RhdGUgdG8gYXNzaWduCj4gKyAqCj4gKyAqIEluaXRpYWxpemVzIHRoZSBuZXdseSBhbGxv Y2F0ZWQgQGNydGNfc3RhdGUgYW5kIGFzc2lnbnMgaXQgdG8KPiArICogdGhlICZkcm1fY29uZWN0 b3ItPnN0YXRlIHBvaW50ZXIgb2YgQGNydGMsIHVzdWFsbHkgcmVxdWlyZWQgd2hlbgo+ICsgKiBp bml0aWFsaXppbmcgdGhlIGRyaXZlcnMgb3Igd2hlbiBjYWxsZWQgZnJvbSB0aGUgJmRybV9jcnRj X2Z1bmNzLnJlc2V0Cj4gKyAqIGhvb2suCj4gKyAqCj4gKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBk cml2ZXJzIHRoYXQgc3ViY2xhc3MgdGhlIENSVEMgc3RhdGUuCj4gKyAqLwo+ICt2b2lkCj4gK19f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJ CSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmIChj cnRjX3N0YXRlKQo+ICsJCWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsKPiArCWNydGMtPnN0 YXRlID0gY3J0Y19zdGF0ZTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19yZXNldCk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldCAtIGRlZmF1bHQgJmRybV9jcnRjX2Z1bmNzLnJlc2V0IGhvb2sgZm9yIENSVENzCj4gICAq IEBjcnRjOiBkcm0gQ1JUQwo+IEBAIC02NCwxNCArODcsMTQgQEAKPiAgICovCj4gIHZvaWQgZHJt X2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAr CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJa3phbGxvYyhzaXplb2Yo KmNydGMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJ CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAg Cj4gIAlrZnJlZShjcnRjLT5zdGF0ZSk7Cj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9m KCpjcnRjLT5zdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAt CQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoY3J0YywgY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWlj X2hlbHBlcl9jcnRjX3Jlc2V0KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+IGluZGV4IGYzODM0MTc1NzFlYy4uOTA3ZmZlYjY0NzgxIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xNTQ1Nyw3ICsxNTQ1Nyw3IEBAIHN0YXRpYyB2b2lk IGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0 ZS0+YmFzZSk7Cj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkp Owo+IC0JCWNydGNfc3RhdGUtPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwo+ICsJCV9fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldCgmY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOwo+ ICAKPiAgCQljcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuZW5hYmxl ID0KPiAgCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsIGNydGNfc3Rh dGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jCj4gaW5kZXggN2Q0YjcxMGI4MzdhLi44YmMz NmYwZDJiNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYwo+IEBAIC0xMjAsMTIgKzEy MCw5IEBAIHN0YXRpYyB2b2lkIGlteF9kcm1fY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAkJbWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7Cj4gIAl9IGVsc2Ugewo+ ICAJCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYg KCFzdGF0ZSkKPiAtCQkJcmV0dXJuOwo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+ ICAJfQo+ICAKPiAtCXN0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmlteF9kcm1fY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMK PiBpbmRleCA5MmVjYjliZjk4MmMuLmE3NDNlNWVkMTE3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBAQCAtMTE5LDEyICsxMTksOSBAQCBzdGF0aWMgdm9p ZCBtdGtfZHJtX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJCW1lbXNldChz dGF0ZSwgMCwgc2l6ZW9mKCpzdGF0ZSkpOwo+ICAJfSBlbHNlIHsKPiAgCQlzdGF0ZSA9IGt6YWxs b2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JCWlmICghc3RhdGUpCj4gLQkJCXJl dHVybjsKPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAgCX0KPiAgCj4gLQlzdGF0 ZS0+YmFzZS5jcnRjID0gY3J0YzsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChj cnRjLCAmc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0 YXRlICptdGtfZHJtX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCBkNDUzMGQ2 MDc2N2IuLmM4NmU2MDNmNDg2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYwo+IEBAIC04OTQsMjAgKzg5NCwxMiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19y ZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJX2RwdV9jcnRjX3NldF9zdXNwZW5kKGNy dGMsIGZhbHNlKTsKPiAgCj4gIAkvKiByZW1vdmUgcHJldmlvdXMgc3RhdGUsIGlmIHByZXNlbnQg Ki8KPiAtCWlmIChjcnRjLT5zdGF0ZSkgewo+ICsJaWYgKGNydGMtPnN0YXRlKQo+ICAJCWRwdV9j cnRjX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUpOwo+IC0JCWNydGMtPnN0YXRlID0g MDsKPiAtCX0KPiAgCj4gIAlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAJY3N0YXRl ID0ga3phbGxvYyhzaXplb2YoKmNzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFjc3RhdGUp IHsKPiAtCQlEUFVfRVJST1IoImZhaWxlZCB0byBhbGxvY2F0ZSBzdGF0ZVxuIik7Cj4gLQkJcmV0 dXJuOwo+IC0JfQo+IC0KPiAtCWNzdGF0ZS0+YmFzZS5jcnRjID0gY3J0YzsKPiAtCWNydGMtPnN0 YXRlID0gJmNzdGF0ZS0+YmFzZTsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChj cnRjLCAmY3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZHB1X2NydGNfaGFu ZGxlX3Bvd2VyX2V2ZW50KHUzMiBldmVudF90eXBlLCB2b2lkICphcmcpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMKPiBpbmRleCBiMWRhOWNlNTQzNzkuLjEzOGRh NjZiMTUzMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1 X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5j Cj4gQEAgLTEwMTksMTEgKzEwMTksNyBAQCBzdGF0aWMgdm9pZCBtZHA1X2NydGNfcmVzZXQoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICAJfQo+ICAKPiAgCW1kcDVfY3N0YXRlID0ga3phbGxvYyhz aXplb2YoKm1kcDVfY3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQo+IC0JaWYgKG1kcDVfY3N0YXRl KSB7Cj4gLQkJbWRwNV9jc3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7Cj4gLQkJY3J0Yy0+c3RhdGUg PSAmbWRwNV9jc3RhdGUtPmJhc2U7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoY3J0YywgJm1kcDVfY3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L2Rpc3BudjUwL2hlYWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQu Ywo+IGluZGV4IDRmNTdlNTM3OTc5Ni4uMzQxNjAwNDA2NTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+IEBAIC00MTgsMTYgKzQxOCw2IEBAIG52NTBfaGVh ZF9hdG9taWNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXJldHVy biAmYXN5aC0+c3RhdGU7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkCj4gLV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJCSAgICAgICBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+IC17Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJ Y3J0Yy0+ZnVuY3MtPmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMtPnN0YXRlKTsKPiAt CWNydGMtPnN0YXRlID0gc3RhdGU7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLX0K PiAtCj4gIHN0YXRpYyB2b2lkCj4gIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIHsKPiBAQCAtNDM2LDYgKzQyNiw5IEBAIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAlpZiAoV0FSTl9PTighKGFzeWggPSBremFsbG9jKHNpemVvZigqYXN5 aCksIEdGUF9LRVJORUwpKSkpCj4gIAkJcmV0dXJuOwo+ICAKPiArCWlmIChjcnRjLT5zdGF0ZSkK PiArCQljcnRjLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUp Owo+ICsKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmYXN5aC0+c3Rh dGUpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFw X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gaW5kZXggY2Fm ZmM1NDdlZjk3Li45YzVmODEwOTkxM2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ny dGMuYwo+IEBAIC01NTQsMTQgKzU1NCwxMyBAQCBzdGF0aWMgaW50IG9tYXBfY3J0Y19hdG9taWNf Z2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIHN0YXRpYyB2b2lkIG9t YXBfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiArCXN0cnVjdCBvbWFw X2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRl KSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoY3J0Yy0+c3RhdGUpCj4gIAkJX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAKPiAgCWtmcmVlKGNydGMt PnN0YXRlKTsKPiAtCWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG9tYXBfY3J0 Y19zdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRj LT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQo Y3J0YywgJmNydGNfc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9j cnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IGluZGV4 IDE3NzQxODQzY2Y1MS4uN2JlYWIyMmI0Njc0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9jcnRjLmMKPiBAQCAtODU3LDE0ICs4NTcsMTIgQEAgc3RhdGljIHZvaWQgcmNhcl9k dV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgCj4gIAlzdGF0ZSA9 IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ICsJX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+c3RhdGUpOwo+ICAJaWYgKHN0YXRlID09IE5V TEwpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCXN0YXRlLT5jcmMuc291cmNlID0gVlNQMV9EVV9DUkNf Tk9ORTsKPiAgCXN0YXRlLT5jcmMuaW5kZXggPSAwOwo+IC0KPiAtCWNydGMtPnN0YXRlID0gJnN0 YXRlLT5zdGF0ZTsKPiAtCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAgfQo+ICAKPiAgc3Rh dGljIGludCByY2FyX2R1X2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9w LmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gaW5kZXgg ZmI3MGZiNDg2ZmJmLi5kMmQ1YWE2NzYwODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBAQCAtMTA3MSwxMyArMTA3MSwxNCBAQCBzdGF0aWMg dm9pZCB2b3BfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIHN0YXRp YyB2b2lkIHZvcF9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICsJc3Ry dWN0IHJvY2tjaGlwX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9m KCpjcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJ CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAg CWtmcmVlKGNydGMtPnN0YXRlKTsKPiAgCj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9m KHN0cnVjdCByb2NrY2hpcF9jcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoY3J0Yy0+ c3RhdGUpCj4gLQkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX3Jlc2V0KGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3Rh dGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqdm9wX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Rj LmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IGluZGV4IGY4MGU4MmUxNjQ3NS4uMTQw ZDYxOTFkOGQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiBAQCAtMTE2NCwxMCArMTE2NCw3IEBAIHN0 YXRpYyB2b2lkIHRlZ3JhX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJY3J0 Yy0+c3RhdGUgPSBOVUxMOwo+ICAKPiAgCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwg R0ZQX0tFUk5FTCk7Cj4gLQlpZiAoc3RhdGUpIHsKPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+ YmFzZTsKPiAtCQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQl9Cj4gKwlfX2RybV9hdG9t aWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgCj4gIAlkcm1fY3J0 Y192YmxhbmtfcmVzZXQoY3J0Yyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4gaW5kZXgg Y2QyMjZlNjNkNTU3Li43NmJlZWRhMTU3ZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4g QEAgLTk5OCwxMiArOTk4LDEyIEBAIHN0YXRpYyB2b2lkIHZjNF9jcnRjX2Rlc3Ryb3lfc3RhdGUo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICBzdGF0aWMgdm9pZAo+ICB2YzRfY3J0Y19yZXNldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQl2YzRf Y3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiArCXN0cnVjdCB2YzRfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VS TkVMKTsKPiAgCj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB2YzRfY3J0 Y19zdGF0ZSksIEdGUF9LRVJORUwpOwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+IC0JCWNydGMtPnN0 YXRlLT5jcnRjID0gY3J0YzsKPiArCQl2YzRfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMt PnN0YXRlKTsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3J0Y19z dGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVu Y3MgdmM0X2NydGNfZnVuY3MgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiBpbmRleCAx NzdiYmNiMzgzMDYuLjdiMDE4ZjZlZTk3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v dmttcy92a21zX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5j Cj4gQEAgLTk4LDE1ICs5OCwxMCBAQCBzdGF0aWMgdm9pZCB2a21zX2F0b21pY19jcnRjX3Jlc2V0 KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQl2a21zX3N0YXRlID0gdG9fdmttc19jcnRjX3N0 YXRlKGNydGMtPnN0YXRlKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9z dGF0ZShjcnRjLT5zdGF0ZSk7Cj4gIAkJa2ZyZWUodmttc19zdGF0ZSk7Cj4gLQkJY3J0Yy0+c3Rh dGUgPSBOVUxMOwo+ICAJfQo+ICAKPiAgCXZrbXNfc3RhdGUgPSBremFsbG9jKHNpemVvZigqdmtt c19zdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCF2a21zX3N0YXRlKQo+IC0JCXJldHVybjsK PiAtCj4gLQljcnRjLT5zdGF0ZSA9ICZ2a21zX3N0YXRlLT5iYXNlOwo+IC0JY3J0Yy0+c3RhdGUt PmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZ2 a21zX3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIGIv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKPiBpbmRleCBlNmIxMWY2YWUyZTQu LjI4NzhiYzBhNDcxOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9rbXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCj4gQEAg LTYzMywxNCArNjMzLDcgQEAgdm9pZCB2bXdfZHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gIAl9Cj4gIAo+ICAJdmNzID0ga3phbGxvYyhzaXplb2YoKnZjcyksIEdGUF9LRVJO RUwpOwo+IC0KPiAtCWlmICghdmNzKSB7Cj4gLQkJRFJNX0VSUk9SKCJDYW5ub3QgYWxsb2NhdGUg dm13X2NydGNfc3RhdGVcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gLQljcnRjLT5zdGF0 ZSA9ICZ2Y3MtPmJhc2U7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9h dG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJnZjcy0+YmFzZSk7Cj4gIH0KPiAgCj4gIAo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaAo+IGluZGV4IDViODJjY2ZkYjUwMi4u YWIyYjVhNDk5NDhjIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfc3RhdGVf aGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oCj4g QEAgLTM3LDYgKzM3LDggQEAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlOwo+ICBzdHJ1Y3QgZHJt X21vZGVzZXRfYWNxdWlyZV9jdHg7Cj4gIHN0cnVjdCBkcm1fZGV2aWNlOwo+ICAKPiArdm9pZCBf X2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJ CQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICB2b2lkIGRybV9hdG9taWNf aGVscGVyX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBfX2RybV9h dG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiAgCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiAtLSAKPiAyLjE5 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwKCi0tIAo9PT09PT09PT09PT09PT09PT09PQp8IEkgd291bGQgbGlrZSB0byB8CnwgZml4IHRo ZSB3b3JsZCwgIHwKfCBidXQgdGhleSdyZSBub3QgfAp8IGdpdmluZyBtZSB0aGUgICB8CiBcIHNv dXJjZSBjb2RlISAgLwogIC0tLS0tLS0tLS0tLS0tLQogICAgwq9cXyjjg4QpXy/CrwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGlu ZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K