From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Siqueira Subject: Re: [PATCH 2/2] drm/atomic: Create and use __drm_atomic_helper_crtc_reset() everywhere Date: Sun, 18 Nov 2018 11:31:12 -0200 Message-ID: <20181118133112.mlnj5xnrx75cgj6s@smtp.gmail.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: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Maarten Lankhorst Cc: Haneen Mohammed , Alexandre Belloni , Heiko =?utf-8?B?U3TDg8K8Ym5lcg==?= , 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, Jona List-Id: linux-tegra@vger.kernel.org T24gMTEvMTIsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+IFdlIGFscmVhZHkgaGF2ZSBfX2Ry bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCgpIGFuZAo+IF9fZHJtX2F0b21pY19oZWxw ZXJfcGxhbmVfcmVzZXQoKSwgZXh0ZW5kIHRoaXMgdG8gY3J0YyBhcyB3ZWxsLgo+IAo+IE1vc3Qg ZHJpdmVycyBhbHJlYWR5IGhhdmUgYSBncHUgcmVzZXQgaG9vaywgY29ycmVjdCBpdC4KPiBOb3V2 ZWF1IGFscmVhZHkgaW1wbGVtZW50ZWQgaXRzIG93biBfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoKSwKPiBjb252ZXJ0IGl0IHRvIHRoZSBjb21tb24gb25lLgo+IAo+IFNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4gQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IENjOiBMZW8g TGkgPHN1bnBlbmcubGlAYW1kLmNvbT4KPiBDYzogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1 Y2hlckBhbWQuY29tPgo+IENjOiAiQ2hyaXN0aWFuIEvDg8K2bmlnIiA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgo+IENjOiAiRGF2aWQgKENodW5NaW5nKSBaaG91IiA8RGF2aWQxLlpob3VAYW1k LmNvbT4KPiBDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgo+IENjOiBMaXZpdSBE dWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4KPiBDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3Rh cmtleUBhcm0uY29tPgo+IENjOiBNYWxpIERQIE1haW50YWluZXJzIDxtYWxpZHBAZm9zcy5hcm0u Y29tPgo+IENjOiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBib290bGluLmNvbT4K PiBDYzogTmljb2xhcyBGZXJyZSA8bmljb2xhcy5mZXJyZUBtaWNyb2NoaXAuY29tPgo+IENjOiBB bGV4YW5kcmUgQmVsbG9uaSA8YWxleGFuZHJlLmJlbGxvbmlAYm9vdGxpbi5jb20+Cj4gQ2M6IEx1 ZG92aWMgRGVzcm9jaGVzIDxsdWRvdmljLmRlc3JvY2hlc0BtaWNyb2NoaXAuY29tPgo+IENjOiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IENj OiBNYXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJkQGJvb3RsaW4uY29tPgo+IENjOiBTZWFuIFBh dWwgPHNlYW5AcG9vcmx5LnJ1bj4KPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4 LmludGVsLmNvbT4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXgu aW50ZWwuY29tPgo+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4g Q2M6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gQ2M6IENLIEh1IDxj ay5odUBtZWRpYXRlay5jb20+Cj4gQ2M6IE1hdHRoaWFzIEJydWdnZXIgPG1hdHRoaWFzLmJnZ0Bn bWFpbC5jb20+Cj4gQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiBDYzogQmVu IFNrZWdncyA8YnNrZWdnc0ByZWRoYXQuY29tPgo+IENjOiBUb21pIFZhbGtlaW5lbiA8dG9taS52 YWxrZWluZW5AdGkuY29tPgo+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0 QGlkZWFzb25ib2FyZC5jb20+Cj4gQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4uYmluZ2hhbSty ZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+Cj4gQ2M6IFNhbmR5IEh1YW5nIDxoamNAcm9jay1jaGlw cy5jb20+Cj4gQ2M6ICJIZWlrbyBTdMODwrxibmVyIiA8aGVpa29Ac250ZWNoLmRlPgo+IENjOiBU aGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IENjOiBKb25hdGhhbiBI dW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29tPgo+IENjOiBFcmljIEFuaG9sdCA8ZXJpY0Bhbmhv bHQubmV0Pgo+IENjOiBWTXdhcmUgR3JhcGhpY3MgPGxpbnV4LWdyYXBoaWNzLW1haW50YWluZXJA dm13YXJlLmNvbT4KPiBDYzogU2luY2xhaXIgWWVoIDxzeWVoQHZtd2FyZS5jb20+Cj4gQ2M6IFRo b21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4KPiBDYzogVG9ueSBDaGVuZyA8 VG9ueS5DaGVuZ0BhbWQuY29tPgo+IENjOiBTaGlyaXNoIFMgPHNoaXJpc2guc0BhbWQuY29tPgo+ IENjOiBNaWtpdGEgTGlwc2tpIDxtaWtpdGEubGlwc2tpQGFtZC5jb20+Cj4gQ2M6IEJoYXdhbnBy ZWV0IExha2hhIDxCaGF3YW5wcmVldC5MYWtoYUBhbWQuY29tPgo+IENjOiBEYXZpZCBGcmFuY2lz IDxEYXZpZC5GcmFuY2lzQGFtZC5jb20+Cj4gQ2M6IEFudGhvbnkgS29vIDxBbnRob255Lktvb0Bh bWQuY29tPgo+IENjOiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgo+ IENjOiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3JnPgo+IENjOiBCcnVjZSBX YW5nIDxiendhbmdAY2hyb21pdW0ub3JnPgo+IENjOiBTcmF2YW50aGkgS29sbHVrdWR1cnUgPHNr b2xsdWt1QGNvZGVhdXJvcmEub3JnPgo+IENjOiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVh dXJvcmEub3JnPgo+IENjOiBTdGV2ZSBLb3dhbGlrIDxzdGV2ZW5Ad2Vkb250c2xlZXAub3JnPgo+ IENjOiBDYXJzdGVuIEJlaGxpbmcgPGNhcnN0ZW4uYmVobGluZ0Bnb29nbGVtYWlsLmNvbT4KPiBD YzogSGFuZWVuIE1vaGFtbWVkIDxoYW1vaGFtbWVkLnNhQGdtYWlsLmNvbT4KPiBDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzogUm9kcmlnbyBTaXF1ZWlyYSA8 cm9kcmlnb3NpcXVlaXJhbWVsb0BnbWFpbC5jb20+Cj4gQ2M6IE1haGVzaCBLdW1hciA8bWFoZXNo MS5rdW1hckBpbnRlbC5jb20+Cj4gQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g Q2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbGludXgta2VybmVsQHZn ZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK PiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW51eC1tZWRpYXRl a0BsaXN0cy5pbmZyYWRlYWQub3JnCj4gQ2M6IGxpbnV4LWFybS1tc21Admdlci5rZXJuZWwub3Jn Cj4gQ2M6IGZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbm91dmVhdUBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbGludXgtcmVuZXNhcy1zb2NAdmdlci5rZXJuZWwub3Jn Cj4gQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKPiBDYzogbGludXgtdGVn cmFAdmdlci5rZXJuZWwub3JnCj4gLS0tCj4gIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdw dV9kbS9hbWRncHVfZG0uYyB8ICA0ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9j cnRjLmMgICAgICAgICAgICAgfCAgNSArLS0KPiAgLi4uL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRt ZWxfaGxjZGNfY3J0Yy5jICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X3N0YXRlX2hlbHBlci5jICAgICB8IDMxICsrKysrKysrKysrKysrKystLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2lteC9pcHV2My1jcnRjLmMgICAgICAgICAgICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAgICB8ICA1ICstLQo+ICBkcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jICAgICAgfCAxMiArKy0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jICAgICB8ICA2ICstLS0KPiAg ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvaGVhZC5jICAgICAgIHwgMTMgKystLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMgICAgICAgICAgIHwgIDcg KystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgICAgICAgIHwg IDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgICB8 ICA3ICsrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAgICAgICAgICAg ICB8ICA1ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMgICAgICAgICAgICAg ICAgfCAgOCArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYyAgICAgICAg ICAgICAgfCAgNyArLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyAg ICAgICAgICAgfCAgOSArLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxw ZXIuaCAgICAgICAgIHwgIDIgKysKPiAgMTggZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygr KSwgODEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gaW5kZXggNTA2NDc2ODY0MmYzLi43NzBhNzE3MjZj ZDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9h bWRncHVfZG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0v YW1kZ3B1X2RtLmMKPiBAQCAtMjgwMiw5ICsyODAyLDcgQEAgc3RhdGljIHZvaWQgZG1fY3J0Y19y ZXNldF9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlpZiAoV0FSTl9PTighc3RhdGUp KQo+ICAJCXJldHVybjsKPiAgCj4gLQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAtCWNy dGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAtCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IGluZGV4IGUxYjcyNzgy ODQ4Yy4uOWE5MjRmZjI3MTQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFs aWRwX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IEBA IC00NzQsMTAgKzQ3NCw3IEBAIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX3Jlc2V0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCj4gIAlrZnJlZShzdGF0ZSk7Cj4gIAlzdGF0ZSA9IGt6YWxsb2Mo c2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKHN0YXRlKSB7Cj4gLQkJY3J0Yy0+ c3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gLQkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+IC0J fQo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7 Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxj ZGMvYXRtZWxfaGxjZGNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVs X2hsY2RjX2NydGMuYwo+IGluZGV4IDk2ZjQwODI2NzFmZS4uODA4NGQ1NDljN2QxIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jCj4gQEAg LTQxMiwxMCArNDEyLDcgQEAgc3RhdGljIHZvaWQgYXRtZWxfaGxjZGNfY3J0Y19yZXNldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4gIAo+ICAJc3RhdGUgPSBremFsbG9jKHNpemVvZigq c3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAtCWlmIChzdGF0ZSkgewo+IC0JCWNydGMtPnN0YXRlID0g JnN0YXRlLT5iYXNlOwo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAtCX0KPiArCV9f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3RhdGUtPmJhc2UpOwo+ICB9Cj4g IAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19zdGF0ZV9oZWxwZXIuYwo+IGluZGV4IDNiYTk5NjA2OWQ2OS4uM2VlZTFjYTMzZmM1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiBAQCAt NTUsNiArNTUsMjkgQEAKPiAgICogZm9yIHRoZXNlIGZ1bmN0aW9ucy4KPiAgICovCj4gIAo+ICsv KioKPiArICogX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0IC0gcmVzZXQgc3RhdGUgb24g Q1JUQwo+ICsgKiBAY3J0YzogZHJtIENSVEMKPiArICogQGNydGNfc3RhdGU6IENSVEMgc3RhdGUg dG8gYXNzaWduCj4gKyAqCj4gKyAqIEluaXRpYWxpemVzIHRoZSBuZXdseSBhbGxvY2F0ZWQgQGNy dGNfc3RhdGUgYW5kIGFzc2lnbnMgaXQgdG8KPiArICogdGhlICZkcm1fY29uZWN0b3ItPnN0YXRl IHBvaW50ZXIgb2YgQGNydGMsIHVzdWFsbHkgcmVxdWlyZWQgd2hlbgo+ICsgKiBpbml0aWFsaXpp bmcgdGhlIGRyaXZlcnMgb3Igd2hlbiBjYWxsZWQgZnJvbSB0aGUgJmRybV9jcnRjX2Z1bmNzLnJl c2V0Cj4gKyAqIGhvb2suCj4gKyAqCj4gKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBkcml2ZXJzIHRo YXQgc3ViY2xhc3MgdGhlIENSVEMgc3RhdGUuCj4gKyAqLwo+ICt2b2lkCj4gK19fZHJtX2F0b21p Y19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCSAgICAgICBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmIChjcnRjX3N0YXRl KQo+ICsJCWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsKPiArCWNydGMtPnN0YXRlID0gY3J0 Y19zdGF0ZTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldCk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCAtIGRl ZmF1bHQgJmRybV9jcnRjX2Z1bmNzLnJlc2V0IGhvb2sgZm9yIENSVENzCj4gICAqIEBjcnRjOiBk cm0gQ1JUQwo+IEBAIC02NCwxNCArODcsMTQgQEAKPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiArCXN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGMtPnN0 YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJCV9fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCj4gIAlrZnJl ZShjcnRjLT5zdGF0ZSk7Cj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpjcnRjLT5z dGF0ZSksIEdGUF9LRVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRjLT5z dGF0ZS0+Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0 YywgY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9j cnRjX3Jlc2V0KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IGYzODM0MTc1NzFlYy4uOTA3ZmZlYjY0NzgxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IEBAIC0xNTQ1Nyw3ICsxNTQ1Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21v ZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCQlf X2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+YmFzZSk7 Cj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+IC0JCWNy dGNfc3RhdGUtPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwo+ICsJCV9fZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19yZXNldCgmY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOwo+ICAKPiAgCQlj cnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuZW5hYmxlID0KPiAgCQkJ ZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsIGNydGNfc3RhdGUpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMtY3J0Yy5jCj4gaW5kZXggN2Q0YjcxMGI4MzdhLi44YmMzNmYwZDJiNmIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYwo+IEBAIC0xMjAsMTIgKzEyMCw5IEBAIHN0 YXRpYyB2b2lkIGlteF9kcm1fY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJ bWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7Cj4gIAl9IGVsc2Ugewo+ICAJCXN0YXRl ID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYgKCFzdGF0ZSkK PiAtCQkJcmV0dXJuOwo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOwo+ICAJfQo+ICAK PiAtCXN0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X3Jlc2V0KGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmlteF9kcm1fY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9j cnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBpbmRleCA5 MmVjYjliZjk4MmMuLmE3NDNlNWVkMTE3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmMKPiBAQCAtMTE5LDEyICsxMTksOSBAQCBzdGF0aWMgdm9pZCBtdGtfZHJt X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJCW1lbXNldChzdGF0ZSwgMCwg c2l6ZW9mKCpzdGF0ZSkpOwo+ICAJfSBlbHNlIHsKPiAgCQlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9m KCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JCWlmICghc3RhdGUpCj4gLQkJCXJldHVybjsKPiAt CQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAgCX0KPiAgCj4gLQlzdGF0ZS0+YmFzZS5j cnRjID0gY3J0YzsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmc3Rh dGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICptdGtf ZHJtX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCBkNDUzMGQ2MDc2N2IuLmM4 NmU2MDNmNDg2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu Ywo+IEBAIC04OTQsMjAgKzg5NCwxMiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19yZXNldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJX2RwdV9jcnRjX3NldF9zdXNwZW5kKGNydGMsIGZhbHNl KTsKPiAgCj4gIAkvKiByZW1vdmUgcHJldmlvdXMgc3RhdGUsIGlmIHByZXNlbnQgKi8KPiAtCWlm IChjcnRjLT5zdGF0ZSkgewo+ICsJaWYgKGNydGMtPnN0YXRlKQo+ICAJCWRwdV9jcnRjX2Rlc3Ry b3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUpOwo+IC0JCWNydGMtPnN0YXRlID0gMDsKPiAtCX0K PiAgCj4gIAlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAJY3N0YXRlID0ga3phbGxv YyhzaXplb2YoKmNzdGF0ZSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFjc3RhdGUpIHsKPiAtCQlE UFVfRVJST1IoImZhaWxlZCB0byBhbGxvY2F0ZSBzdGF0ZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0J fQo+IC0KPiAtCWNzdGF0ZS0+YmFzZS5jcnRjID0gY3J0YzsKPiAtCWNydGMtPnN0YXRlID0gJmNz dGF0ZS0+YmFzZTsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3N0 YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZHB1X2NydGNfaGFuZGxlX3Bvd2Vy X2V2ZW50KHUzMiBldmVudF90eXBlLCB2b2lkICphcmcpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDUvbWRwNV9jcnRjLmMKPiBpbmRleCBiMWRhOWNlNTQzNzkuLjEzOGRhNjZiMTUzMCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NydGMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jCj4gQEAgLTEw MTksMTEgKzEwMTksNyBAQCBzdGF0aWMgdm9pZCBtZHA1X2NydGNfcmVzZXQoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICAJfQo+ICAKPiAgCW1kcDVfY3N0YXRlID0ga3phbGxvYyhzaXplb2YoKm1k cDVfY3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQo+IC0JaWYgKG1kcDVfY3N0YXRlKSB7Cj4gLQkJ bWRwNV9jc3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7Cj4gLQkJY3J0Yy0+c3RhdGUgPSAmbWRwNV9j c3RhdGUtPmJhc2U7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0 YywgJm1kcDVfY3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUw L2hlYWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+IGluZGV4 IDRmNTdlNTM3OTc5Ni4uMzQxNjAwNDA2NTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L2Rpc3BudjUwL2hlYWQuYwo+IEBAIC00MTgsMTYgKzQxOCw2IEBAIG52NTBfaGVhZF9hdG9taWNf ZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXJldHVybiAmYXN5aC0+ c3RhdGU7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkCj4gLV9fZHJtX2F0b21pY19oZWxwZXJfY3J0 Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKnN0YXRlKQo+IC17Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4gLQkJY3J0Yy0+ZnVu Y3MtPmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMtPnN0YXRlKTsKPiAtCWNydGMtPnN0 YXRlID0gc3RhdGU7Cj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLX0KPiAtCj4gIHN0 YXRpYyB2b2lkCj4gIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsK PiBAQCAtNDM2LDYgKzQyNiw5IEBAIG52NTBfaGVhZF9yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAlpZiAoV0FSTl9PTighKGFzeWggPSBremFsbG9jKHNpemVvZigqYXN5aCksIEdGUF9L RVJORUwpKSkpCj4gIAkJcmV0dXJuOwo+ICAKPiArCWlmIChjcnRjLT5zdGF0ZSkKPiArCQljcnRj LT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUpOwo+ICsKPiAg CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmYXN5aC0+c3RhdGUpOwo+ICB9 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gaW5kZXggY2FmZmM1NDdlZjk3 Li45YzVmODEwOTkxM2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+IEBA IC01NTQsMTQgKzU1NCwxMyBAQCBzdGF0aWMgaW50IG9tYXBfY3J0Y19hdG9taWNfZ2V0X3Byb3Bl cnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19y ZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiArCXN0cnVjdCBvbWFwX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwgR0ZQX0tF Uk5FTCk7Cj4gIAlpZiAoY3J0Yy0+c3RhdGUpCj4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAKPiAgCWtmcmVlKGNydGMtPnN0YXRlKTsK PiAtCWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSks IEdGUF9LRVJORUwpOwo+IC0KPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQljcnRjLT5zdGF0ZS0+ Y3J0YyA9IGNydGM7Cj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJmNy dGNfc3RhdGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRl ICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IGluZGV4IDE3NzQxODQz Y2Y1MS4uN2JlYWIyMmI0Njc0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9j cnRjLmMKPiBAQCAtODU3LDE0ICs4NTcsMTIgQEAgc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX3Jl c2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgCj4gIAlzdGF0ZSA9IGt6YWxsb2Mo c2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X3Jlc2V0KGNydGMsICZzdGF0ZS0+c3RhdGUpOwo+ICAJaWYgKHN0YXRlID09IE5VTEwpCj4gIAkJ cmV0dXJuOwo+ICAKPiAgCXN0YXRlLT5jcmMuc291cmNlID0gVlNQMV9EVV9DUkNfTk9ORTsKPiAg CXN0YXRlLT5jcmMuaW5kZXggPSAwOwo+IC0KPiAtCWNydGMtPnN0YXRlID0gJnN0YXRlLT5zdGF0 ZTsKPiAtCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBy Y2FyX2R1X2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gaW5kZXggZmI3MGZiNDg2 ZmJmLi5kMmQ1YWE2NzYwODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV92b3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF9kcm1fdm9wLmMKPiBAQCAtMTA3MSwxMyArMTA3MSwxNCBAQCBzdGF0aWMgdm9pZCB2b3Bf Y3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIHN0YXRpYyB2b2lkIHZv cF9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICsJc3RydWN0IHJvY2tj aGlwX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0 YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+ICAJCV9fZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCWtmcmVlKGNy dGMtPnN0YXRlKTsKPiAgCj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBy b2NrY2hpcF9jcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoY3J0Yy0+c3RhdGUpCj4g LQkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X3Jlc2V0KGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqdm9wX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IGluZGV4IGY4MGU4MmUxNjQ3NS4uMTQwZDYxOTFkOGQy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiBAQCAtMTE2NCwxMCArMTE2NCw3IEBAIHN0YXRpYyB2b2lk IHRlZ3JhX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJY3J0Yy0+c3RhdGUg PSBOVUxMOwo+ICAKPiAgCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5F TCk7Cj4gLQlpZiAoc3RhdGUpIHsKPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKPiAt CQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7Cj4gLQl9Cj4gKwlfX2RybV9hdG9taWNfaGVscGVy X2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsKPiAgCj4gIAlkcm1fY3J0Y192Ymxhbmtf cmVzZXQoY3J0Yyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4gaW5kZXggY2QyMjZlNjNk NTU3Li43NmJlZWRhMTU3ZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf Y3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4gQEAgLTk5OCwx MiArOTk4LDEyIEBAIHN0YXRpYyB2b2lkIHZjNF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICBzdGF0aWMgdm9pZAo+ICB2YzRfY3J0Y19yZXNldChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIHsKPiAtCWlmIChjcnRjLT5zdGF0ZSkKPiAtCQl2YzRfY3J0Y19kZXN0 cm95X3N0YXRlKGNydGMtPnN0YXRlKTsKPiArCXN0cnVjdCB2YzRfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSA9Cj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAg Cj4gLQljcnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB2YzRfY3J0Y19zdGF0ZSks IEdGUF9LRVJORUwpOwo+ICAJaWYgKGNydGMtPnN0YXRlKQo+IC0JCWNydGMtPnN0YXRlLT5jcnRj ID0gY3J0YzsKPiArCQl2YzRfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMsIGNydGMtPnN0YXRlKTsK PiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3J0Y19zdGF0ZS0+YmFz ZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgdmM0X2Ny dGNfZnVuY3MgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0 Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiBpbmRleCAxNzdiYmNiMzgz MDYuLjdiMDE4ZjZlZTk3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21z X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gQEAgLTk4 LDE1ICs5OCwxMCBAQCBzdGF0aWMgdm9pZCB2a21zX2F0b21pY19jcnRjX3Jlc2V0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCQl2a21zX3N0YXRlID0gdG9fdmttc19jcnRjX3N0YXRlKGNydGMt PnN0YXRlKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShjcnRj LT5zdGF0ZSk7Cj4gIAkJa2ZyZWUodmttc19zdGF0ZSk7Cj4gLQkJY3J0Yy0+c3RhdGUgPSBOVUxM Owo+ICAJfQo+ICAKPiAgCXZrbXNfc3RhdGUgPSBremFsbG9jKHNpemVvZigqdmttc19zdGF0ZSks IEdGUF9LRVJORUwpOwo+IC0JaWYgKCF2a21zX3N0YXRlKQo+IC0JCXJldHVybjsKPiAtCj4gLQlj cnRjLT5zdGF0ZSA9ICZ2a21zX3N0YXRlLT5iYXNlOwo+IC0JY3J0Yy0+c3RhdGUtPmNydGMgPSBj cnRjOwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZ2a21zX3N0YXRl LT5iYXNlKTsKPiAgfQoKSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgd2l0aCBJR1QsIGFuZCBldmVyeXRo aW5nIGxvb2tzIGZpbmUgZm9yIFZLTVMuCgpSZXZpZXdlZC1ieTogUm9kcmlnbyBTaXF1ZWlyYSA8 cm9kcmlnb3NpcXVlaXJhbWVsb0BnbWFpbC5jb20+CiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9r bXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCj4gaW5kZXggZTZiMTFm NmFlMmU0Li4yODc4YmMwYTQ3MTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMu Ywo+IEBAIC02MzMsMTQgKzYzMyw3IEBAIHZvaWQgdm13X2R1X2NydGNfcmVzZXQoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICAJfQo+ICAKPiAgCXZjcyA9IGt6YWxsb2Moc2l6ZW9mKCp2Y3MpLCBH RlBfS0VSTkVMKTsKPiAtCj4gLQlpZiAoIXZjcykgewo+IC0JCURSTV9FUlJPUigiQ2Fubm90IGFs bG9jYXRlIHZtd19jcnRjX3N0YXRlXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JY3J0 Yy0+c3RhdGUgPSAmdmNzLT5iYXNlOwo+IC0JY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJ X19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZ2Y3MtPmJhc2UpOwo+ICB9Cj4g IAo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIu aCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmgKPiBpbmRleCA1YjgyY2Nm ZGI1MDIuLmFiMmI1YTQ5OTQ4YyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWlj X3N0YXRlX2hlbHBlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxw ZXIuaAo+IEBAIC0zNyw2ICszNyw4IEBAIHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZTsKPiAgc3Ry dWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4Owo+ICBzdHJ1Y3QgZHJtX2RldmljZTsKPiAgCj4g K3ZvaWQgX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiArCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiAgdm9pZCBkcm1f YXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIHZvaWQg X19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gIAkJCQkJICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSk7Cj4gLS0g Cj4gMi4xOS4xCj4gCgotLSAKUm9kcmlnbyBTaXF1ZWlyYQpodHRwczovL3NpcXVlaXJhLnRlY2gK R3JhZHVhdGUgU3R1ZGVudApEZXBhcnRtZW50IG9mIENvbXB1dGVyIFNjaWVuY2UKVW5pdmVyc2l0 eSBvZiBTw6NvIFBhdWxvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=