From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/7] drm/i915: Clean up intel_{pre, post}_plane_update() Date: Thu, 28 Nov 2019 14:02:01 +0200 Message-ID: <20191128120201.GR1208@intel.com> References: <20191127190556.1574-1-ville.syrjala@linux.intel.com> <20191127190556.1574-5-ville.syrjala@linux.intel.com> <7c8dc4d946397ad797d418ae98313965194c8211.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C8126E7C6 for ; Thu, 28 Nov 2019 12:02:05 +0000 (UTC) Content-Disposition: inline In-Reply-To: <7c8dc4d946397ad797d418ae98313965194c8211.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMjcsIDIwMTkgYXQgMTE6MjU6MDdQTSArMDAwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gV2VkLCAyMDE5LTExLTI3IGF0IDIxOjA1ICswMjAwLCBWaWxsZSBTeXJqYWxhIHdy b3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiA+IAo+ID4gQ2hhbmdlIHRoZSBjYWxsaW5nIGNvbnZlbnRpb24gdG8ganVzdCBwYXNz IHRoZSBzdGF0ZStjcnRjIGFuZAo+ID4gc3dpdGNoIHRvIGludGVsXyB0eXBlcyB0aHJvdWdob3V0 Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMgfCA4OCArKysrKysrKystLS0tLS0tLS0KPiA+IC0tCj4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuYyAgICAgfCAxNCArKy0tCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuaCAgICAgfCAgOCArLQo+ID4g IDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCj4gPiAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ ID4gaW5kZXggZTM0MWI5N2I3ZGVjLi43MjY1NWI1YjEzNjUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC01OTIwLDEzICs1 OTIwLDEwIEBAIHN0YXRpYyB2b2lkCj4gPiBpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxl KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ID4gICAqIGNvbXBsZXRlbHkgaGlkZSB0 aGUgcHJpbWFyeSBwbGFuZS4KPiA+ICAgKi8KPiA+ICBzdGF0aWMgdm9pZAo+ID4gLWludGVsX3Bv c3RfZW5hYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gLQkJCSAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICtpbnRlbF9w b3N0X2VuYWJsZV9wcmltYXJ5KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ID4gIHsKPiA+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiAtCWVudW0gcGlwZSBwaXBl ID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWVudW0gcGlwZSBwaXBlID0gY3J0 Yy0+cGlwZTsKPiA+ICAKPiA+ICAJLyoKPiA+ICAJICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJy dW5zIHdoZW5ldmVyIGFsbCBwbGFuZXMgYXJlCj4gPiBkaXNhYmxlZC4KPiA+IEBAIC02MDYyLDIw ICs2MDU5LDIxIEBAIHN0YXRpYyBib29sIG5lZWRzX3NjYWxlcmNsa193YShjb25zdCBzdHJ1Y3QK PiA+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgCXJldHVybiBmYWxzZTsKPiA+ ICB9Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUKPiA+ICpvbGRfY3J0Y19zdGF0ZSkKPiA+ICtzdGF0aWMgdm9pZCBp bnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlCj4gPiAqc3Rh dGUsCj4gPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0KPiA+ ID51YXBpLmNydGMpOwo+ID4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKPiA+IC0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUt PnVhcGkuc3RhdGU7Cj4gPiAtCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0 ZSA9Cj4gPiAtCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHRvX2ludGVsX2F0b21p Y19zdGF0ZShzCj4gPiB0YXRlKSwKPiA+IC0JCQkJCQljcnRjKTsKPiA+IC0Jc3RydWN0IGRybV9w bGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2UucHJpbWFyeTsKPiA+IC0Jc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQo+ID4gLQkJZHJtX2F0b21pY19nZXRfb2xkX3Bs YW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxf cGxhbmUgKnByaW1hcnkgPSB0b19pbnRlbF9wbGFuZShjcnRjLQo+ID4gPmJhc2UucHJpbWFyeSk7 Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSA9Cj4g PiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICsJ Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlID0KPiA+ICsJCWlu dGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4gKwljb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm9sZF9wcmltYXJ5X3N0YXRlID0KPiA+ICsJCWludGVs X2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsKPiA+ICsJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcHJpbWFyeV9zdGF0ZSA9Cj4gPiArCQlpbnRl bF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7Cj4gPiAgCj4gPiAt CWludGVsX2Zyb250YnVmZmVyX2ZsaXAodG9faTkxNShjcnRjLT5iYXNlLmRldiksIG5ld19jcnRj X3N0YXRlLQo+ID4gPmZiX2JpdHMpOwo+ID4gKwlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldl9w cml2LCBuZXdfY3J0Y19zdGF0ZS0+ZmJfYml0cyk7Cj4gPiAgCj4gPiAgCWlmIChuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3dtX3Bvc3QgJiYgbmV3X2NydGNfc3RhdGUtCj4gPiA+aHcuYWN0aXZlKQo+ ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiBAQCAtNjA4MywxNiArNjA4 MSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QKPiA+IGlu dGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ID4gIAlpZiAoaHN3X3Bvc3RfdXBkYXRl X2VuYWJsZV9pcHMob2xkX2NydGNfc3RhdGUsIG5ld19jcnRjX3N0YXRlKSkKPiA+ICAJCWhzd19l bmFibGVfaXBzKG5ld19jcnRjX3N0YXRlKTsKPiA+ICAKPiA+IC0JaWYgKG9sZF9wcmltYXJ5X3N0 YXRlKSB7Cj4gPiAtCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfcHJpbWFyeV9zdGF0ZSA9 Cj4gPiAtCQkJZHJtX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsK PiA+IC0KPiA+ICsJaWYgKG5ld19wcmltYXJ5X3N0YXRlKSB7Cj4gCj4gCj4gVGhpcyBjaGFuZ2Ug ZnJvbSBvbGRfcHJpbWFyeV9zdGF0ZSB0byBuZXdfcHJpbWFyeV9zdGF0ZSBpcyB3YXkgbW9yZQo+ IHRoYW4gdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMsIHRoZSBjaGFuZ2UgbG9va3MgcmlnaHQgdG8g bWUgYnV0IG1heWJlIGl0Cj4gZGVzZXJ2ZXMgYSBzZXBhcmF0ZWQgcGF0Y2g/IFNhbWUgZm9yIHRo ZSBzYW1lIGNoYW5nZSBpbgo+IGludGVsX3ByZV9wbGFuZV91cGRhdGUoKQoKSSB3YW50ZWQgdG8g Y2hhbmdlIGl0IHNvIEkgY2FuIGVsaW1pbmF0ZSBvbGRfcHJpbWFyeV9zdGF0ZSBpbgphIHN1YnNl cXVlbnQgcGF0Y2guIEZvciB3aGF0ZXZlciByZWFzb24gdGhhdCBjaGFuZ2Ugc2xpcHBlZAppbnRv IHRoaXMgcGF0Y2guIEl0J3MgYSBub3AgY2hhbmdlIHRob3VnaCBzaW5jZQohbmV3X3N0YXRlID09 ICFvbGRfc3RhdGUgYWx3YXlzLgoKPiAKPiA+ICAJCWludGVsX2ZiY19wb3N0X3VwZGF0ZShjcnRj KTsKPiA+ICAKPiA+IC0JCWlmIChuZXdfcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSAmJgo+ID4gKwkJ aWYgKG5ld19wcmltYXJ5X3N0YXRlLT51YXBpLnZpc2libGUgJiYKPiA+ICAJCSAgICAobmVlZHNf bW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgfHwKPiA+IC0JCSAgICAgIW9sZF9wcmltYXJ5X3N0YXRl LT52aXNpYmxlKSkKPiA+IC0JCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KCZjcnRjLT5iYXNl LAo+ID4gbmV3X2NydGNfc3RhdGUpOwo+ID4gKwkJICAgICAhb2xkX3ByaW1hcnlfc3RhdGUtPnVh cGkudmlzaWJsZSkpCj4gPiArCQkJaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShjcnRjKTsKPiA+ ICAJfQo+ID4gIAo+ID4gIAlpZiAobmVlZHNfbnYxMl93YShvbGRfY3J0Y19zdGF0ZSkgJiYKPiA+ IEBAIC02MTA0LDM0ICs2MDk5LDMxIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBk YXRlKHN0cnVjdAo+ID4gaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gPiAgCQlp Y2xfd2Ffc2NhbGVyY2xrZ2F0aW5nKGRldl9wcml2LCBjcnRjLT5waXBlLCBmYWxzZSk7Cj4gPiAg fQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiA+ICpvbGRfY3J0Y19zdGF0ZSwKPiA+IC0JCQkJICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiA+ICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICtzdGF0aWMgdm9pZCBpbnRl bF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4g KwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0KPiA+ID51YXBpLmNy dGMpOwo+ID4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+IC0J c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3Rh dGU7Cj4gPiAtCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnkgPSBjcnRjLT5iYXNlLnByaW1hcnk7 Cj4gPiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wcmltYXJ5X3N0YXRlID0KPiA+IC0J CWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7Cj4gPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2 KTsKPiA+ICsJc3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5ID0gdG9faW50ZWxfcGxhbmUoY3J0 Yy0KPiA+ID5iYXNlLnByaW1hcnkpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUgPQo+ID4gKwkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0 ZShzdGF0ZSwgY3J0Yyk7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdf Y3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRl LCBjcnRjKTsKPiA+ICsJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcHJpbWFy eV9zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwg cHJpbWFyeSk7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3ByaW1h cnlfc3RhdGUgPQo+ID4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUs IHByaW1hcnkpOwo+ID4gIAlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKTsKPiA+IC0Jc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPQo+ID4g LQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiA+ICAKPiA+ICAJaWYgKGhzd19wcmVf dXBkYXRlX2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSkpCj4gPiAg CQloc3dfZGlzYWJsZV9pcHMob2xkX2NydGNfc3RhdGUpOwo+ID4gIAo+ID4gLQlpZiAob2xkX3By aW1hcnlfc3RhdGUpIHsKPiA+IC0JCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3ByaW1h cnlfc3RhdGUgPQo+ID4gLQkJCWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKGludGVs X3N0YXRlLAo+ID4gLQkJCQkJCQkgdG9faW50ZWxfcGxhbmUKPiA+IChwcmltYXJ5KSk7Cj4gPiAt Cj4gPiArCWlmIChuZXdfcHJpbWFyeV9zdGF0ZSkgewo+ID4gIAkJaW50ZWxfZmJjX3ByZV91cGRh dGUoY3J0YywgbmV3X2NydGNfc3RhdGUsCj4gPiBuZXdfcHJpbWFyeV9zdGF0ZSk7Cj4gPiAgCQkv Kgo+ID4gIAkJICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFu ZXMgYXJlCj4gPiBkaXNhYmxlZC4KPiA+ICAJCSAqIFNvIGRpc2FibGUgdW5kZXJydW4gcmVwb3J0 aW5nIGJlZm9yZSBhbGwgdGhlIHBsYW5lcwo+ID4gZ2V0IGRpc2FibGVkLgo+ID4gIAkJICovCj4g PiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCAyKSAmJiBvbGRfcHJpbWFyeV9zdGF0ZS0+dmlzaWJs ZQo+ID4gJiYKPiA+ICsJCWlmIChJU19HRU4oZGV2X3ByaXYsIDIpICYmIG9sZF9wcmltYXJ5X3N0 YXRlLQo+ID4gPnVhcGkudmlzaWJsZSAmJgo+ID4gIAkJICAgIChtb2Rlc2V0IHx8ICFuZXdfcHJp bWFyeV9zdGF0ZS0+dWFwaS52aXNpYmxlKSkKPiA+ICAJCQlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5k ZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LAo+ID4gY3J0Yy0+cGlwZSwgZmFsc2UpOwo+ID4gIAl9 Cj4gPiBAQCAtNjE5Miw3ICs2MTg0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3Vw ZGF0ZShzdHJ1Y3QKPiA+IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ID4gIAkg KiB1cyB0by4KPiA+ICAJICovCj4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dh dGVybWFya3MpCj4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MoaW50 ZWxfc3RhdGUsCj4gPiBjcnRjKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAgCWVsc2UgaWYgKG5ld19jcnRjX3N0YXRlLT51cGRh dGVfd21fcHJlKQo+ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiAgfQo+ ID4gQEAgLTE0MzY1LDcgKzE0MzU3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMo c3RydWN0Cj4gPiBpbnRlbF9jcnRjICpjcnRjLAo+ID4gIAkJICAgICBuZXdfY3J0Y19zdGF0ZS0+ dXBkYXRlX3BpcGUpKQo+ID4gIAkJCWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0 ZSk7Cj4gPiAgCj4gPiAtCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9jcnRjX3N0YXRlLCBu ZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRj KTsKPiA+ICAKPiA+ICAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUpCj4gPiAgCQkJ aW50ZWxfZW5jb2RlcnNfdXBkYXRlX3BpcGUoc3RhdGUsIGNydGMpOwo+ID4gQEAgLTE0NDYwLDcg KzE0NDUyLDcgQEAgc3RhdGljIHZvaWQKPiA+IGludGVsX3RyYW5zX3BvcnRfc3luY19tb2Rlc2V0 X2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0Cj4gPiAgCQkhb2xkX3NsYXZl X2NydGNfc3RhdGUpOwo+ID4gIAo+ID4gIAkvKiBEaXNhYmxlIFNsYXZlIGZpcnN0ICovCj4gPiAt CWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX3NsYXZlX2NydGNfc3RhdGUsCj4gPiBuZXdfc2xh dmVfY3J0Y19zdGF0ZSk7Cj4gPiArCWludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RhdGUsIHNsYXZl X2NydGMpOwo+ID4gIAlpZiAob2xkX3NsYXZlX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJ CWludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gIAkJCQkJICAgICAgb2xk X3NsYXZlX2NydGNfc3RhdGUsCj4gPiBAQCAtMTQ0NjgsNyArMTQ0NjAsNyBAQCBzdGF0aWMgdm9p ZAo+ID4gaW50ZWxfdHJhbnNfcG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSAqc3QKPiA+ICAJCQkJCSAgICAgIHNsYXZlX2NydGMpOwo+ID4gIAo+ID4g IAkvKiBEaXNhYmxlIE1hc3RlciAqLwo+ID4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9j cnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCWludGVsX3ByZV9wbGFuZV91cGRhdGUo c3RhdGUsIGNydGMpOwo+ID4gIAlpZiAob2xkX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJ CWludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gIAkJCQkJICAgICAgb2xk X2NydGNfc3RhdGUsCj4gPiBAQCAtMTQ1MDgsNyArMTQ1MDAsNyBAQCBzdGF0aWMgdm9pZAo+ID4g aW50ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCj4gPiAgCQkJZWxzZQo+ID4gIAkJCQljb250aW51ZTsKPiA+ICAJCX0gZWxzZSB7Cj4g PiAtCQkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19zdGF0ZSwKPiA+IG5ld19jcnRj X3N0YXRlKTsKPiA+ICsJCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRjKTsKPiA+ ICAKPiA+ICAJCQlpZiAob2xkX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJCQkJaW50ZWxf b2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gPiBAQCAtMTQ4OTYsNyArMTQ4ODgsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0Cj4gPiBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAl9Cj4gPiAgCj4gPiAgCWZvcl9lYWNoX29sZG5ld19p bnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLAo+ID4gb2xkX2NydGNfc3RhdGUsIG5ld19j cnRjX3N0YXRlLCBpKSB7Cj4gPiAtCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19z dGF0ZSk7Cj4gPiArCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gPiAg Cj4gPiAgCQlpZiAocHV0X2RvbWFpbnNbaV0pCj4gPiAgCQkJbW9kZXNldF9wdXRfcG93ZXJfZG9t YWlucyhkZXZfcHJpdiwKPiA+IHB1dF9kb21haW5zW2ldKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZiYy5jCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmMKPiA+IGluZGV4IDkyYzdlYjI0MzU1OS4uNzBjNTZh YmUxYTgzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9mYmMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMu Ywo+ID4gQEAgLTQyMCw3ICs0MjAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfZGVhY3RpdmF0 ZShzdHJ1Y3QKPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgYm9vbCBtdWx0aXBsZV9waXBlc19vayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiA+IC0JCQkgICAgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4g KwkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZQo+ID4gKnBsYW5lX3N0YXRl KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJp di0+ZmJjOwo+ID4gQEAgLTY1Niw4ICs2NTYsOCBAQCBzdGF0aWMgYm9vbAo+ID4gaW50ZWxfZmJj X2h3X3RyYWNraW5nX2NvdmVyc19zY3JlZW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAg fQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAtCQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUK PiA+ICpjcnRjX3N0YXRlLAo+ID4gLQkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZQo+ID4g KnBsYW5lX3N0YXRlKQo+ID4gKwkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4g PiAqY3J0Y19zdGF0ZSwKPiA+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUK PiA+ICpwbGFuZV9zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfZmJj ICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKPiA+IEBAIC04NTUsOCArODU1LDggQEAgc3RhdGljIHZv aWQgaW50ZWxfZmJjX2dldF9yZWdfcGFyYW1zKHN0cnVjdAo+ID4gaW50ZWxfY3J0YyAqY3J0YywK PiA+ICB9Cj4gPiAgCj4gPiAgdm9pZCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKPiA+IC0JCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAo+ID4gLQkJCSAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiA+ICsJ CQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCSAg Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiAKPiBOaWNlCj4g Cj4gT3RoZXIgdGhhbiB0aGUgZmlyc3QgY29tbWVudCwgTEdUTS4KPiAKPiA+ICB7Cj4gPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ID4gIAlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKPiA+IEBAIC0x MDgxLDggKzEwODEsOCBAQCB2b2lkIGludGVsX2ZiY19jaG9vc2VfY3J0YyhzdHJ1Y3QKPiA+IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gICAqIGludGVsX2ZiY19kaXNhYmxlIGluIHRo ZSBtaWRkbGUsIGFzIGxvbmcgYXMgaXQgaXMgZGVhY3RpdmF0ZWQuCj4gPiAgICovCj4gPiAgdm9p ZCBpbnRlbF9mYmNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gLQkJICAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAtCQkgICAgICBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gKwkJICAgICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiArCQkgICAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiAgCXN0 cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOwo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmgKPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuaAo+ID4gaW5kZXggNTAyNzJlZGE4ZDQzLi5mNThi MGIxZTNjNWMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2ZiYy5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zi Yy5oCj4gPiBAQCAtMjAsMTQgKzIwLDE0IEBAIHZvaWQgaW50ZWxfZmJjX2Nob29zZV9jcnRjKHN0 cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCQkJICAgc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4gIGJvb2wgaW50ZWxfZmJjX2lzX2FjdGl2ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX3By ZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAtCQkJICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+IC0JCQkgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUpOwo+ID4gKwkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCj4gPiArCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlKTsKPiA+ICB2b2lkIGludGVsX2ZiY19wb3N0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yyk7Cj4gPiAgdm9pZCBpbnRlbF9mYmNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2luaXRfcGlwZV9zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+IC0JCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gLQkJICAgICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSk7Cj4gPiArCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiA+ICsJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2Rpc2FibGUoc3RydWN0IGludGVs X2NydGMgKmNydGMpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2dsb2JhbF9kaXNhYmxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiAgdm9pZCBpbnRlbF9mYmNfaW52YWxpZGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCgotLSAKVmlsbGUgU3lyasOkbMOk CkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.4 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36186C432C0 for ; Thu, 28 Nov 2019 12:02:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0DEF12084D for ; Thu, 28 Nov 2019 12:02:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0DEF12084D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 98D2F6E7C6; Thu, 28 Nov 2019 12:02:06 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C8126E7C6 for ; Thu, 28 Nov 2019 12:02:05 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 04:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="203416849" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga008.jf.intel.com with SMTP; 28 Nov 2019 04:02:02 -0800 Received: by stinkbox (sSMTP sendmail emulation); Thu, 28 Nov 2019 14:02:01 +0200 Date: Thu, 28 Nov 2019 14:02:01 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: "Souza, Jose" Message-ID: <20191128120201.GR1208@intel.com> References: <20191127190556.1574-1-ville.syrjala@linux.intel.com> <20191127190556.1574-5-ville.syrjala@linux.intel.com> <7c8dc4d946397ad797d418ae98313965194c8211.camel@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <7c8dc4d946397ad797d418ae98313965194c8211.camel@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 4/7] drm/i915: Clean up intel_{pre, post}_plane_update() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191128120201.KzBm6yqFg06CDY5W0nDm3cWyPyqRbmaBx68iF7nn2bg@z> T24gV2VkLCBOb3YgMjcsIDIwMTkgYXQgMTE6MjU6MDdQTSArMDAwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gV2VkLCAyMDE5LTExLTI3IGF0IDIxOjA1ICswMjAwLCBWaWxsZSBTeXJqYWxhIHdy b3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiA+IAo+ID4gQ2hhbmdlIHRoZSBjYWxsaW5nIGNvbnZlbnRpb24gdG8ganVzdCBwYXNz IHRoZSBzdGF0ZStjcnRjIGFuZAo+ID4gc3dpdGNoIHRvIGludGVsXyB0eXBlcyB0aHJvdWdob3V0 Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMgfCA4OCArKysrKysrKystLS0tLS0tLS0KPiA+IC0tCj4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuYyAgICAgfCAxNCArKy0tCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuaCAgICAgfCAgOCArLQo+ID4g IDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCj4gPiAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ ID4gaW5kZXggZTM0MWI5N2I3ZGVjLi43MjY1NWI1YjEzNjUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC01OTIwLDEzICs1 OTIwLDEwIEBAIHN0YXRpYyB2b2lkCj4gPiBpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxl KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ID4gICAqIGNvbXBsZXRlbHkgaGlkZSB0 aGUgcHJpbWFyeSBwbGFuZS4KPiA+ICAgKi8KPiA+ICBzdGF0aWMgdm9pZAo+ID4gLWludGVsX3Bv c3RfZW5hYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gLQkJCSAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICtpbnRlbF9w b3N0X2VuYWJsZV9wcmltYXJ5KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ID4gIHsKPiA+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiAtCWVudW0gcGlwZSBwaXBl ID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWVudW0gcGlwZSBwaXBlID0gY3J0 Yy0+cGlwZTsKPiA+ICAKPiA+ICAJLyoKPiA+ICAJICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJy dW5zIHdoZW5ldmVyIGFsbCBwbGFuZXMgYXJlCj4gPiBkaXNhYmxlZC4KPiA+IEBAIC02MDYyLDIw ICs2MDU5LDIxIEBAIHN0YXRpYyBib29sIG5lZWRzX3NjYWxlcmNsa193YShjb25zdCBzdHJ1Y3QK PiA+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgCXJldHVybiBmYWxzZTsKPiA+ ICB9Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUKPiA+ICpvbGRfY3J0Y19zdGF0ZSkKPiA+ICtzdGF0aWMgdm9pZCBp bnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlCj4gPiAqc3Rh dGUsCj4gPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0KPiA+ ID51YXBpLmNydGMpOwo+ID4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKPiA+IC0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUt PnVhcGkuc3RhdGU7Cj4gPiAtCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0 ZSA9Cj4gPiAtCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHRvX2ludGVsX2F0b21p Y19zdGF0ZShzCj4gPiB0YXRlKSwKPiA+IC0JCQkJCQljcnRjKTsKPiA+IC0Jc3RydWN0IGRybV9w bGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2UucHJpbWFyeTsKPiA+IC0Jc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQo+ID4gLQkJZHJtX2F0b21pY19nZXRfb2xkX3Bs YW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxf cGxhbmUgKnByaW1hcnkgPSB0b19pbnRlbF9wbGFuZShjcnRjLQo+ID4gPmJhc2UucHJpbWFyeSk7 Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSA9Cj4g PiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICsJ Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlID0KPiA+ICsJCWlu dGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4gKwljb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm9sZF9wcmltYXJ5X3N0YXRlID0KPiA+ICsJCWludGVs X2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsKPiA+ICsJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcHJpbWFyeV9zdGF0ZSA9Cj4gPiArCQlpbnRl bF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7Cj4gPiAgCj4gPiAt CWludGVsX2Zyb250YnVmZmVyX2ZsaXAodG9faTkxNShjcnRjLT5iYXNlLmRldiksIG5ld19jcnRj X3N0YXRlLQo+ID4gPmZiX2JpdHMpOwo+ID4gKwlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldl9w cml2LCBuZXdfY3J0Y19zdGF0ZS0+ZmJfYml0cyk7Cj4gPiAgCj4gPiAgCWlmIChuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3dtX3Bvc3QgJiYgbmV3X2NydGNfc3RhdGUtCj4gPiA+aHcuYWN0aXZlKQo+ ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiBAQCAtNjA4MywxNiArNjA4 MSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QKPiA+IGlu dGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ID4gIAlpZiAoaHN3X3Bvc3RfdXBkYXRl X2VuYWJsZV9pcHMob2xkX2NydGNfc3RhdGUsIG5ld19jcnRjX3N0YXRlKSkKPiA+ICAJCWhzd19l bmFibGVfaXBzKG5ld19jcnRjX3N0YXRlKTsKPiA+ICAKPiA+IC0JaWYgKG9sZF9wcmltYXJ5X3N0 YXRlKSB7Cj4gPiAtCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfcHJpbWFyeV9zdGF0ZSA9 Cj4gPiAtCQkJZHJtX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsK PiA+IC0KPiA+ICsJaWYgKG5ld19wcmltYXJ5X3N0YXRlKSB7Cj4gCj4gCj4gVGhpcyBjaGFuZ2Ug ZnJvbSBvbGRfcHJpbWFyeV9zdGF0ZSB0byBuZXdfcHJpbWFyeV9zdGF0ZSBpcyB3YXkgbW9yZQo+ IHRoYW4gdGhlIGNvbW1pdCBtZXNzYWdlIHNheXMsIHRoZSBjaGFuZ2UgbG9va3MgcmlnaHQgdG8g bWUgYnV0IG1heWJlIGl0Cj4gZGVzZXJ2ZXMgYSBzZXBhcmF0ZWQgcGF0Y2g/IFNhbWUgZm9yIHRo ZSBzYW1lIGNoYW5nZSBpbgo+IGludGVsX3ByZV9wbGFuZV91cGRhdGUoKQoKSSB3YW50ZWQgdG8g Y2hhbmdlIGl0IHNvIEkgY2FuIGVsaW1pbmF0ZSBvbGRfcHJpbWFyeV9zdGF0ZSBpbgphIHN1YnNl cXVlbnQgcGF0Y2guIEZvciB3aGF0ZXZlciByZWFzb24gdGhhdCBjaGFuZ2Ugc2xpcHBlZAppbnRv IHRoaXMgcGF0Y2guIEl0J3MgYSBub3AgY2hhbmdlIHRob3VnaCBzaW5jZQohbmV3X3N0YXRlID09 ICFvbGRfc3RhdGUgYWx3YXlzLgoKPiAKPiA+ICAJCWludGVsX2ZiY19wb3N0X3VwZGF0ZShjcnRj KTsKPiA+ICAKPiA+IC0JCWlmIChuZXdfcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSAmJgo+ID4gKwkJ aWYgKG5ld19wcmltYXJ5X3N0YXRlLT51YXBpLnZpc2libGUgJiYKPiA+ICAJCSAgICAobmVlZHNf bW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgfHwKPiA+IC0JCSAgICAgIW9sZF9wcmltYXJ5X3N0YXRl LT52aXNpYmxlKSkKPiA+IC0JCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KCZjcnRjLT5iYXNl LAo+ID4gbmV3X2NydGNfc3RhdGUpOwo+ID4gKwkJICAgICAhb2xkX3ByaW1hcnlfc3RhdGUtPnVh cGkudmlzaWJsZSkpCj4gPiArCQkJaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShjcnRjKTsKPiA+ ICAJfQo+ID4gIAo+ID4gIAlpZiAobmVlZHNfbnYxMl93YShvbGRfY3J0Y19zdGF0ZSkgJiYKPiA+ IEBAIC02MTA0LDM0ICs2MDk5LDMxIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBk YXRlKHN0cnVjdAo+ID4gaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gPiAgCQlp Y2xfd2Ffc2NhbGVyY2xrZ2F0aW5nKGRldl9wcml2LCBjcnRjLT5waXBlLCBmYWxzZSk7Cj4gPiAg fQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiA+ICpvbGRfY3J0Y19zdGF0ZSwKPiA+IC0JCQkJICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiA+ICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICtzdGF0aWMgdm9pZCBpbnRl bF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4g KwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0KPiA+ID51YXBpLmNy dGMpOwo+ID4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+IC0J c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3Rh dGU7Cj4gPiAtCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnkgPSBjcnRjLT5iYXNlLnByaW1hcnk7 Cj4gPiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wcmltYXJ5X3N0YXRlID0KPiA+IC0J CWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7Cj4gPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2 KTsKPiA+ICsJc3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5ID0gdG9faW50ZWxfcGxhbmUoY3J0 Yy0KPiA+ID5iYXNlLnByaW1hcnkpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUgPQo+ID4gKwkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0 ZShzdGF0ZSwgY3J0Yyk7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdf Y3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRl LCBjcnRjKTsKPiA+ICsJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcHJpbWFy eV9zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwg cHJpbWFyeSk7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3ByaW1h cnlfc3RhdGUgPQo+ID4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUs IHByaW1hcnkpOwo+ID4gIAlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKTsKPiA+IC0Jc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPQo+ID4g LQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiA+ICAKPiA+ICAJaWYgKGhzd19wcmVf dXBkYXRlX2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSkpCj4gPiAg CQloc3dfZGlzYWJsZV9pcHMob2xkX2NydGNfc3RhdGUpOwo+ID4gIAo+ID4gLQlpZiAob2xkX3By aW1hcnlfc3RhdGUpIHsKPiA+IC0JCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3ByaW1h cnlfc3RhdGUgPQo+ID4gLQkJCWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKGludGVs X3N0YXRlLAo+ID4gLQkJCQkJCQkgdG9faW50ZWxfcGxhbmUKPiA+IChwcmltYXJ5KSk7Cj4gPiAt Cj4gPiArCWlmIChuZXdfcHJpbWFyeV9zdGF0ZSkgewo+ID4gIAkJaW50ZWxfZmJjX3ByZV91cGRh dGUoY3J0YywgbmV3X2NydGNfc3RhdGUsCj4gPiBuZXdfcHJpbWFyeV9zdGF0ZSk7Cj4gPiAgCQkv Kgo+ID4gIAkJICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFu ZXMgYXJlCj4gPiBkaXNhYmxlZC4KPiA+ICAJCSAqIFNvIGRpc2FibGUgdW5kZXJydW4gcmVwb3J0 aW5nIGJlZm9yZSBhbGwgdGhlIHBsYW5lcwo+ID4gZ2V0IGRpc2FibGVkLgo+ID4gIAkJICovCj4g PiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCAyKSAmJiBvbGRfcHJpbWFyeV9zdGF0ZS0+dmlzaWJs ZQo+ID4gJiYKPiA+ICsJCWlmIChJU19HRU4oZGV2X3ByaXYsIDIpICYmIG9sZF9wcmltYXJ5X3N0 YXRlLQo+ID4gPnVhcGkudmlzaWJsZSAmJgo+ID4gIAkJICAgIChtb2Rlc2V0IHx8ICFuZXdfcHJp bWFyeV9zdGF0ZS0+dWFwaS52aXNpYmxlKSkKPiA+ICAJCQlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5k ZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LAo+ID4gY3J0Yy0+cGlwZSwgZmFsc2UpOwo+ID4gIAl9 Cj4gPiBAQCAtNjE5Miw3ICs2MTg0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3Vw ZGF0ZShzdHJ1Y3QKPiA+IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ID4gIAkg KiB1cyB0by4KPiA+ICAJICovCj4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dh dGVybWFya3MpCj4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MoaW50 ZWxfc3RhdGUsCj4gPiBjcnRjKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAgCWVsc2UgaWYgKG5ld19jcnRjX3N0YXRlLT51cGRh dGVfd21fcHJlKQo+ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiAgfQo+ ID4gQEAgLTE0MzY1LDcgKzE0MzU3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMo c3RydWN0Cj4gPiBpbnRlbF9jcnRjICpjcnRjLAo+ID4gIAkJICAgICBuZXdfY3J0Y19zdGF0ZS0+ dXBkYXRlX3BpcGUpKQo+ID4gIAkJCWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0 ZSk7Cj4gPiAgCj4gPiAtCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9jcnRjX3N0YXRlLCBu ZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRj KTsKPiA+ICAKPiA+ICAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUpCj4gPiAgCQkJ aW50ZWxfZW5jb2RlcnNfdXBkYXRlX3BpcGUoc3RhdGUsIGNydGMpOwo+ID4gQEAgLTE0NDYwLDcg KzE0NDUyLDcgQEAgc3RhdGljIHZvaWQKPiA+IGludGVsX3RyYW5zX3BvcnRfc3luY19tb2Rlc2V0 X2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0Cj4gPiAgCQkhb2xkX3NsYXZl X2NydGNfc3RhdGUpOwo+ID4gIAo+ID4gIAkvKiBEaXNhYmxlIFNsYXZlIGZpcnN0ICovCj4gPiAt CWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX3NsYXZlX2NydGNfc3RhdGUsCj4gPiBuZXdfc2xh dmVfY3J0Y19zdGF0ZSk7Cj4gPiArCWludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RhdGUsIHNsYXZl X2NydGMpOwo+ID4gIAlpZiAob2xkX3NsYXZlX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJ CWludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gIAkJCQkJICAgICAgb2xk X3NsYXZlX2NydGNfc3RhdGUsCj4gPiBAQCAtMTQ0NjgsNyArMTQ0NjAsNyBAQCBzdGF0aWMgdm9p ZAo+ID4gaW50ZWxfdHJhbnNfcG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSAqc3QKPiA+ICAJCQkJCSAgICAgIHNsYXZlX2NydGMpOwo+ID4gIAo+ID4g IAkvKiBEaXNhYmxlIE1hc3RlciAqLwo+ID4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9j cnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCWludGVsX3ByZV9wbGFuZV91cGRhdGUo c3RhdGUsIGNydGMpOwo+ID4gIAlpZiAob2xkX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJ CWludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gIAkJCQkJICAgICAgb2xk X2NydGNfc3RhdGUsCj4gPiBAQCAtMTQ1MDgsNyArMTQ1MDAsNyBAQCBzdGF0aWMgdm9pZAo+ID4g aW50ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCj4gPiAgCQkJZWxzZQo+ID4gIAkJCQljb250aW51ZTsKPiA+ICAJCX0gZWxzZSB7Cj4g PiAtCQkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19zdGF0ZSwKPiA+IG5ld19jcnRj X3N0YXRlKTsKPiA+ICsJCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRjKTsKPiA+ ICAKPiA+ICAJCQlpZiAob2xkX2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ICAJCQkJaW50ZWxf b2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gPiBAQCAtMTQ4OTYsNyArMTQ4ODgsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0Cj4gPiBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAl9Cj4gPiAgCj4gPiAgCWZvcl9lYWNoX29sZG5ld19p bnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLAo+ID4gb2xkX2NydGNfc3RhdGUsIG5ld19j cnRjX3N0YXRlLCBpKSB7Cj4gPiAtCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19z dGF0ZSk7Cj4gPiArCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gPiAg Cj4gPiAgCQlpZiAocHV0X2RvbWFpbnNbaV0pCj4gPiAgCQkJbW9kZXNldF9wdXRfcG93ZXJfZG9t YWlucyhkZXZfcHJpdiwKPiA+IHB1dF9kb21haW5zW2ldKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZiYy5jCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmMKPiA+IGluZGV4IDkyYzdlYjI0MzU1OS4uNzBjNTZh YmUxYTgzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9mYmMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMu Ywo+ID4gQEAgLTQyMCw3ICs0MjAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfZGVhY3RpdmF0 ZShzdHJ1Y3QKPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgYm9vbCBtdWx0aXBsZV9waXBlc19vayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiA+IC0JCQkgICAgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4g KwkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZQo+ID4gKnBsYW5lX3N0YXRl KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJp di0+ZmJjOwo+ID4gQEAgLTY1Niw4ICs2NTYsOCBAQCBzdGF0aWMgYm9vbAo+ID4gaW50ZWxfZmJj X2h3X3RyYWNraW5nX2NvdmVyc19zY3JlZW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAg fQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAtCQkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUK PiA+ICpjcnRjX3N0YXRlLAo+ID4gLQkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZQo+ID4g KnBsYW5lX3N0YXRlKQo+ID4gKwkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4g PiAqY3J0Y19zdGF0ZSwKPiA+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUK PiA+ICpwbGFuZV9zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfZmJj ICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKPiA+IEBAIC04NTUsOCArODU1LDggQEAgc3RhdGljIHZv aWQgaW50ZWxfZmJjX2dldF9yZWdfcGFyYW1zKHN0cnVjdAo+ID4gaW50ZWxfY3J0YyAqY3J0YywK PiA+ICB9Cj4gPiAgCj4gPiAgdm9pZCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKPiA+IC0JCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAo+ID4gLQkJCSAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiA+ICsJ CQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCSAg Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiAKPiBOaWNlCj4g Cj4gT3RoZXIgdGhhbiB0aGUgZmlyc3QgY29tbWVudCwgTEdUTS4KPiAKPiA+ICB7Cj4gPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ID4gIAlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKPiA+IEBAIC0x MDgxLDggKzEwODEsOCBAQCB2b2lkIGludGVsX2ZiY19jaG9vc2VfY3J0YyhzdHJ1Y3QKPiA+IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gICAqIGludGVsX2ZiY19kaXNhYmxlIGluIHRo ZSBtaWRkbGUsIGFzIGxvbmcgYXMgaXQgaXMgZGVhY3RpdmF0ZWQuCj4gPiAgICovCj4gPiAgdm9p ZCBpbnRlbF9mYmNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gLQkJICAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAtCQkgICAgICBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gKwkJICAgICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiArCQkgICAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiAgCXN0 cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOwo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmgKPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuaAo+ID4gaW5kZXggNTAyNzJlZGE4ZDQzLi5mNThi MGIxZTNjNWMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2ZiYy5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zi Yy5oCj4gPiBAQCAtMjAsMTQgKzIwLDE0IEBAIHZvaWQgaW50ZWxfZmJjX2Nob29zZV9jcnRjKHN0 cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCQkJICAgc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4gIGJvb2wgaW50ZWxfZmJjX2lzX2FjdGl2ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX3By ZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAtCQkJICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+IC0JCQkgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUpOwo+ID4gKwkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCj4gPiArCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlKTsKPiA+ICB2b2lkIGludGVsX2ZiY19wb3N0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yyk7Cj4gPiAgdm9pZCBpbnRlbF9mYmNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2luaXRfcGlwZV9zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+IC0JCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gLQkJICAgICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSk7Cj4gPiArCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiA+ICsJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2Rpc2FibGUoc3RydWN0IGludGVs X2NydGMgKmNydGMpOwo+ID4gIHZvaWQgaW50ZWxfZmJjX2dsb2JhbF9kaXNhYmxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiAgdm9pZCBpbnRlbF9mYmNfaW52YWxpZGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCgotLSAKVmlsbGUgU3lyasOkbMOk CkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==