From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 2/2] drm/atomic: Create and use __drm_atomic_helper_crtc_reset() everywhere Date: Mon, 12 Nov 2018 11:11:26 -0500 Message-ID: <20181112161126.GG154160@art_vandelay> 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 , Heiko =?iso-8859-1?Q?St=C3=BCbner?= , David Airlie , Daniel Vetter , Joonas Lahtinen , Liviu Dudau , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Sandy Huang , Bhawanpreet Lakha , Eric Anholt , Thierry Reding , Laurent Pinchart , Shirish S , Anthony Koo , "David (ChunMing) Zhou" , Thomas Hellstrom , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Sinclair Yeh , Tony Cheng , David Francis , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jon List-Id: linux-tegra@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 YyAqY3J0YykKPiAgCWlmIChXQVJOX09OKCFzdGF0ZSkpCgpDYW4geW91IGdpdmUgdGhpcyB0aGUg c2FtZSB0cmVhdG1lbnQgYXMgdGhlIG90aGVyIGFsbG9jYXRpb24gY2hlY2tzPwoKPiAgCQlyZXR1 cm47Cj4gIAo+IC0JY3J0Yy0+c3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gLQljcnRjLT5zdGF0ZS0+ Y3J0YyA9IGNydGM7Cj4gLQo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMs ICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Kgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9jcnRjLmMKPiBpbmRleCBlMWI3Mjc4Mjg0OGMuLjlhOTI0 ZmYyNzE0OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9jcnRjLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9jcnRjLmMKPiBAQCAtNDc0LDEwICs0 NzQsNyBAQCBzdGF0aWMgdm9pZCBtYWxpZHBfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAo+ICAJa2ZyZWUoc3RhdGUpOwo+ICAJc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3Rh dGUpLCBHRlBfS0VSTkVMKTsKPiAtCWlmIChzdGF0ZSkgewo+IC0JCWNydGMtPnN0YXRlID0gJnN0 YXRlLT5iYXNlOwo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAtCX0KCllvdSdyZSBj aGFuZ2luZyBiZWhhdmlvciBzbGlnaHRseSBoZXJlLiBJZiB0aGUgYWxsb2NhdGlvbiBmYWlscyBp biB0aGUgb2xkIGNvZGUsCnlvdSBqdXN0IGNvbnRpbnVlIG9uIChhbmQgcHJlc3VtYWJseSB1c2Ut YWZ0ZXItZnJlZSBvbiB0aGUgbmV4dCBjcnRjLT5zdGF0ZQphY2Nlc3MpLiBXaGVyZWFzIG5vdyB5 b3UncmUgZ29pbmcgdG8ganVzdCBkZXJlZiBOVUxMLiBOZWl0aGVyIG9uZSBhcmUgcmVhbGx5CmRl c2lyZWFibGUgOikKClNvIHlvdSBwcm9iYWJseSB3YW50IHRvIGNvbnRpbnVlIGNoZWNraW5nIHRo ZSBhbGxvY2F0aW9uIGFuZCBjbGVhciBjcnRjLT5zdGF0ZQppZiBpdCBmYWlscy4gQWZ0ZXIgdGhh dCB5b3UgY2FuIGNhbGwgaGVscGVyX2NydGNfcmVzZXQgd2l0aCAmc3RhdGUtPmJhc2UuCgo+ICsJ X19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0K PiAgCj4gIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRt ZWxfaGxjZGNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2Rj X2NydGMuYwo+IGluZGV4IDk2ZjQwODI2NzFmZS4uODA4NGQ1NDljN2QxIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jCj4gQEAgLTQxMiwx MCArNDEyLDcgQEAgc3RhdGljIHZvaWQgYXRtZWxfaGxjZGNfY3J0Y19yZXNldChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAl9Cj4gIAo+ICAJc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3RhdGUp LCBHRlBfS0VSTkVMKTsKPiAtCWlmIChzdGF0ZSkgewo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRl LT5iYXNlOwo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAtCX0KPiArCV9fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBz dGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19zdGF0ZV9oZWxwZXIuYwo+IGluZGV4IDNiYTk5NjA2OWQ2OS4uM2VlZTFjYTMzZmM1IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiBAQCAtNTUsNiAr NTUsMjkgQEAKPiAgICogZm9yIHRoZXNlIGZ1bmN0aW9ucy4KPiAgICovCj4gIAo+ICsvKioKPiAr ICogX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0IC0gcmVzZXQgc3RhdGUgb24gQ1JUQwo+ ICsgKiBAY3J0YzogZHJtIENSVEMKPiArICogQGNydGNfc3RhdGU6IENSVEMgc3RhdGUgdG8gYXNz aWduCj4gKyAqCj4gKyAqIEluaXRpYWxpemVzIHRoZSBuZXdseSBhbGxvY2F0ZWQgQGNydGNfc3Rh dGUgYW5kIGFzc2lnbnMgaXQgdG8KPiArICogdGhlICZkcm1fY29uZWN0b3ItPnN0YXRlIHBvaW50 ZXIgb2YgQGNydGMsIHVzdWFsbHkgcmVxdWlyZWQgd2hlbgo+ICsgKiBpbml0aWFsaXppbmcgdGhl IGRyaXZlcnMgb3Igd2hlbiBjYWxsZWQgZnJvbSB0aGUgJmRybV9jcnRjX2Z1bmNzLnJlc2V0Cj4g KyAqIGhvb2suCj4gKyAqCj4gKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBkcml2ZXJzIHRoYXQgc3Vi Y2xhc3MgdGhlIENSVEMgc3RhdGUuCj4gKyAqLwo+ICt2b2lkCj4gK19fZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmIChjcnRjX3N0YXRlKQo+ICsJ CWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsKPiArCWNydGMtPnN0YXRlID0gY3J0Y19zdGF0 ZTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCk7 Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCAtIGRlZmF1bHQg JmRybV9jcnRjX2Z1bmNzLnJlc2V0IGhvb2sgZm9yIENSVENzCj4gICAqIEBjcnRjOiBkcm0gQ1JU Qwo+IEBAIC02NCwxNCArODcsMTQgQEAKPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19oZWxwZXJf Y3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiArCXN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGMtPnN0YXRlKSwg R0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCj4gIAlrZnJlZShjcnRj LT5zdGF0ZSk7Cj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpjcnRjLT5zdGF0ZSks IEdGUF9LRVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRjLT5zdGF0ZS0+ Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgY3J0 Y19zdGF0ZSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jl c2V0KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IGYzODM0 MTc1NzFlYy4uOTA3ZmZlYjY0NzgxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IEBAIC0xNTQ1Nyw3ICsxNTQ1Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRf cmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCQlfX2RybV9h dG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+YmFzZSk7Cj4gIAkJ bWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+IC0JCWNydGNfc3Rh dGUtPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwo+ICsJCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0 Y19yZXNldCgmY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOwo+ICAKPiAgCQljcnRjX3N0 YXRlLT5iYXNlLmFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuZW5hYmxlID0KPiAgCQkJZGV2X3By aXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsIGNydGNfc3RhdGUpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p bXgvaXB1djMtY3J0Yy5jCj4gaW5kZXggN2Q0YjcxMGI4MzdhLi44YmMzNmYwZDJiNmIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYwo+IEBAIC0xMjAsMTIgKzEyMCw5IEBAIHN0YXRpYyB2 b2lkIGlteF9kcm1fY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJbWVtc2V0 KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7Cj4gIAl9IGVsc2Ugewo+ICAJCXN0YXRlID0ga3ph bGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYgKCFzdGF0ZSkKPiAtCQkJ cmV0dXJuOwo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+ICAJfQo+ICAKPiAtCXN0 YXRlLT5iYXNlLmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0 KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmlteF9kcm1fY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBpbmRleCA5MmVjYjli Zjk4MmMuLmE3NDNlNWVkMTE3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9jcnRjLmMKPiBAQCAtMTE5LDEyICsxMTksOSBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNf cmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJCW1lbXNldChzdGF0ZSwgMCwgc2l6ZW9m KCpzdGF0ZSkpOwo+ICAJfSBlbHNlIHsKPiAgCQlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0 ZSksIEdGUF9LRVJORUwpOwo+IC0JCWlmICghc3RhdGUpCj4gLQkJCXJldHVybjsKPiAtCQljcnRj LT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAgCX0KPiAgCj4gLQlzdGF0ZS0+YmFzZS5jcnRjID0g Y3J0YzsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPmJh c2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICptdGtfZHJtX2Ny dGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCBkNDUzMGQ2MDc2N2IuLmM4NmU2MDNm NDg2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0 Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IEBA IC04OTQsMjAgKzg5NCwxMiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAkJX2RwdV9jcnRjX3NldF9zdXNwZW5kKGNydGMsIGZhbHNlKTsKPiAg Cj4gIAkvKiByZW1vdmUgcHJldmlvdXMgc3RhdGUsIGlmIHByZXNlbnQgKi8KPiAtCWlmIChjcnRj LT5zdGF0ZSkgewo+ICsJaWYgKGNydGMtPnN0YXRlKQo+ICAJCWRwdV9jcnRjX2Rlc3Ryb3lfc3Rh dGUoY3J0YywgY3J0Yy0+c3RhdGUpOwo+IC0JCWNydGMtPnN0YXRlID0gMDsKPiAtCX0KPiAgCj4g IAlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAJY3N0YXRlID0ga3phbGxvYyhzaXpl b2YoKmNzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFjc3RhdGUpIHsKPiAtCQlEUFVfRVJS T1IoImZhaWxlZCB0byBhbGxvY2F0ZSBzdGF0ZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0K PiAtCWNzdGF0ZS0+YmFzZS5jcnRjID0gY3J0YzsKPiAtCWNydGMtPnN0YXRlID0gJmNzdGF0ZS0+ YmFzZTsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3N0YXRlLT5i YXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZHB1X2NydGNfaGFuZGxlX3Bvd2VyX2V2ZW50 KHUzMiBldmVudF90eXBlLCB2b2lkICphcmcpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21k cDUvbWRwNV9jcnRjLmMKPiBpbmRleCBiMWRhOWNlNTQzNzkuLjEzOGRhNjZiMTUzMCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NydGMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jCj4gQEAgLTEwMTksMTEg KzEwMTksNyBAQCBzdGF0aWMgdm9pZCBtZHA1X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICAJfQo+ICAKPiAgCW1kcDVfY3N0YXRlID0ga3phbGxvYyhzaXplb2YoKm1kcDVfY3N0 YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQo+IC0JaWYgKG1kcDVfY3N0YXRlKSB7Cj4gLQkJbWRwNV9j c3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7Cj4gLQkJY3J0Yy0+c3RhdGUgPSAmbWRwNV9jc3RhdGUt PmJhc2U7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJm1k cDVfY3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQu YyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+IGluZGV4IDRmNTdl NTM3OTc5Ni4uMzQxNjAwNDA2NTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L2Rpc3BudjUwL2hlYWQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3Bu djUwL2hlYWQuYwo+IEBAIC00MTgsMTYgKzQxOCw2IEBAIG52NTBfaGVhZF9hdG9taWNfZHVwbGlj YXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXJldHVybiAmYXN5aC0+c3RhdGU7 Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkCj4gLV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKnN0YXRlKQo+IC17Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJY3J0Yy0+ZnVuY3MtPmF0 b21pY19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMtPnN0YXRlKTsKPiAtCWNydGMtPnN0YXRlID0g c3RhdGU7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2 b2lkCj4gIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiBAQCAt NDM2LDYgKzQyNiw5IEBAIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g IAlpZiAoV0FSTl9PTighKGFzeWggPSBremFsbG9jKHNpemVvZigqYXN5aCksIEdGUF9LRVJORUwp KSkpCj4gIAkJcmV0dXJuOwo+ICAKPiArCWlmIChjcnRjLT5zdGF0ZSkKPiArCQljcnRjLT5mdW5j cy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUpOwo+ICsKPiAgCV9fZHJt X2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmYXN5aC0+c3RhdGUpOwo+ICB9Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gaW5kZXggY2FmZmM1NDdlZjk3Li45YzVm ODEwOTkxM2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+IEBAIC01NTQs MTQgKzU1NCwxMyBAQCBzdGF0aWMgaW50IG9tYXBfY3J0Y19hdG9taWNfZ2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19yZXNldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiArCXN0cnVjdCBvbWFwX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7 Cj4gIAlpZiAoY3J0Yy0+c3RhdGUpCj4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ry b3lfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAKPiAgCWtmcmVlKGNydGMtPnN0YXRlKTsKPiAtCWNy dGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSksIEdGUF9L RVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRjLT5zdGF0ZS0+Y3J0YyA9 IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJmNydGNfc3Rh dGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IGluZGV4IDE3NzQxODQzY2Y1MS4u N2JlYWIyMmI0Njc0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMK PiBAQCAtODU3LDE0ICs4NTcsMTIgQEAgc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX3Jlc2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgCj4gIAlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9m KCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0 KGNydGMsICZzdGF0ZS0+c3RhdGUpOwo+ICAJaWYgKHN0YXRlID09IE5VTEwpCj4gIAkJcmV0dXJu Owo+ICAKPiAgCXN0YXRlLT5jcmMuc291cmNlID0gVlNQMV9EVV9DUkNfTk9ORTsKPiAgCXN0YXRl LT5jcmMuaW5kZXggPSAwOwo+IC0KPiAtCWNydGMtPnN0YXRlID0gJnN0YXRlLT5zdGF0ZTsKPiAt CWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAgfQo+ICAKPiAgc3RhdGljIGludCByY2FyX2R1 X2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gaW5kZXggZmI3MGZiNDg2ZmJmLi5k MmQ1YWE2NzYwODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV92b3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fdm9wLmMKPiBAQCAtMTA3MSwxMyArMTA3MSwxNCBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19k ZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIHN0YXRpYyB2b2lkIHZvcF9jcnRj X3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICsJc3RydWN0IHJvY2tjaGlwX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwg R0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCWtmcmVlKGNydGMtPnN0 YXRlKTsKPiAgCj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByb2NrY2hp cF9jcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJY3J0 Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0 KGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqdm9wX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2ZXJzL2dw dS9kcm0vdGVncmEvZGMuYwo+IGluZGV4IGY4MGU4MmUxNjQ3NS4uMTQwZDYxOTFkOGQyIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2RjLmMKPiBAQCAtMTE2NCwxMCArMTE2NCw3IEBAIHN0YXRpYyB2b2lkIHRlZ3Jh X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJY3J0Yy0+c3RhdGUgPSBOVUxM Owo+ICAKPiAgCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g LQlpZiAoc3RhdGUpIHsKPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAtCQljcnRj LT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgCj4gIAlkcm1fY3J0Y192YmxhbmtfcmVzZXQo Y3J0Yyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5j IGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4gaW5kZXggY2QyMjZlNjNkNTU3Li43 NmJlZWRhMTU3ZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4gQEAgLTk5OCwxMiArOTk4 LDEyIEBAIHN0YXRpYyB2b2lkIHZjNF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICBzdGF0aWMgdm9pZAo+ICB2YzRfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gIHsKPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQl2YzRfY3J0Y19kZXN0cm95X3N0 YXRlKGNydGMtPnN0YXRlKTsKPiArCXN0cnVjdCB2YzRfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9 Cj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAgCj4gLQlj cnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB2YzRfY3J0Y19zdGF0ZSksIEdGUF9L RVJORUwpOwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0 YzsKPiArCQl2YzRfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMtPnN0YXRlKTsKPiArCV9f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3J0Y19zdGF0ZS0+YmFzZSk7Cj4g IH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgdmM0X2NydGNfZnVu Y3MgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiBpbmRleCAxNzdiYmNiMzgzMDYuLjdi MDE4ZjZlZTk3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gQEAgLTk4LDE1ICs5 OCwxMCBAQCBzdGF0aWMgdm9pZCB2a21zX2F0b21pY19jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCQl2a21zX3N0YXRlID0gdG9fdmttc19jcnRjX3N0YXRlKGNydGMtPnN0YXRl KTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLT5zdGF0 ZSk7Cj4gIAkJa2ZyZWUodmttc19zdGF0ZSk7Cj4gLQkJY3J0Yy0+c3RhdGUgPSBOVUxMOwo+ICAJ fQo+ICAKPiAgCXZrbXNfc3RhdGUgPSBremFsbG9jKHNpemVvZigqdmttc19zdGF0ZSksIEdGUF9L RVJORUwpOwo+IC0JaWYgKCF2a21zX3N0YXRlKQo+IC0JCXJldHVybjsKPiAtCj4gLQljcnRjLT5z dGF0ZSA9ICZ2a21zX3N0YXRlLT5iYXNlOwo+IC0JY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZ2a21zX3N0YXRlLT5iYXNl KTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfa21zLmMKPiBpbmRleCBlNmIxMWY2YWUyZTQuLjI4NzhiYzBhNDcxOCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCj4gQEAgLTYzMywxNCArNjMzLDcg QEAgdm9pZCB2bXdfZHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4g IAo+ICAJdmNzID0ga3phbGxvYyhzaXplb2YoKnZjcyksIEdGUF9LRVJORUwpOwo+IC0KPiAtCWlm ICghdmNzKSB7Cj4gLQkJRFJNX0VSUk9SKCJDYW5ub3QgYWxsb2NhdGUgdm13X2NydGNfc3RhdGVc biIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gLQljcnRjLT5zdGF0ZSA9ICZ2Y3MtPmJhc2U7 Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfcmVzZXQoY3J0YywgJnZjcy0+YmFzZSk7Cj4gIH0KPiAgCj4gIAo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0 b21pY19zdGF0ZV9oZWxwZXIuaAo+IGluZGV4IDViODJjY2ZkYjUwMi4uYWIyYjVhNDk5NDhjIDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmgKPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oCj4gQEAgLTM3LDYgKzM3LDgg QEAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlOwo+ICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHg7Cj4gIHN0cnVjdCBkcm1fZGV2aWNlOwo+ICAKPiArdm9pZCBfX2RybV9hdG9taWNfaGVs cGVyX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVz ZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkgICAgICBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiAtLSAKPiAyLjE5LjEKPiAKCi0tIApTZWFu IFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBs aXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K