From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH v2 2/3] drm/i915: Nuke aux regs from intel_dp Date: Thu, 22 Feb 2018 20:38:21 +0000 Message-ID: <1519333309.10195.22.camel@dk-H97M-D3H> References: <20180220170524.12303-2-ville.syrjala@linux.intel.com> <20180220190053.2895-1-ville.syrjala@linux.intel.com> <1519285174.2358.8.camel@dk-H97M-D3H> <20180222124348.GU5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id E2F936E0FA for ; Thu, 22 Feb 2018 20:38:23 +0000 (UTC) In-Reply-To: <20180222124348.GU5453@intel.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "ville.syrjala@linux.intel.com" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org DQoNCg0KT24gVGh1LCAyMDE4LTAyLTIyIGF0IDE0OjQzICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6DQo+IE9uIFRodSwgRmViIDIyLCAyMDE4IGF0IDA3OjE2OjA3QU0gKzAwMDAsIFBhbmRp eWFuLCBEaGluYWthcmFuIHdyb3RlOg0KPiA+IA0KPiA+IE9uIFR1ZSwgMjAxOC0wMi0yMCBhdCAy MTowMCArMDIwMCwgVmlsbGUgU3lyamFsYSB3cm90ZToNCj4gPiA+IEZyb206IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+DQo+ID4gPiANCj4gPiA+IEp1c3Qg c3RvcmUgZnVuY3Rpb24gcG9pbnRlcnMgdGhhdCBnaXZlIHVzIHRoZSBjb3JyZWN0IHJlZ2lzdGVy IG9mZnNldHMNCj4gPiA+IGluc3RlYWQgb2Ygc3RvcmluZyB0aGUgcmVnaXN0ZXIgb2Zmc2V0cyB0 aGVtc2VsdmVzLiBTbGlnaHRseSBsZXNzDQo+ID4gPiBlZmZpY2llbnQgcGVyaGFwcyBidXQgc2F2 ZXMgYSBmZXcgYnl0ZXMgYW5kIGJldHRlciBtYXRjaGVzIGhvdyB3ZSBkbw0KPiA+ID4gdGhpbmdz IGVsc2V3aGVyZS4NCj4gPiA+IA0KPiA+ID4gdjI6IEtlZXAgYSBsb2NhbCBhcnJheSBvZiBkYXRh IHJlZ2lzdGVycyAoQ2hyaXMpDQo+ID4gPiANCj4gPiBJbnRyaWd1aW5nLCB3aHkgYm90aGVyIHN0 b3JpbmcgcmVnaXN0ZXIgb2Zmc2V0cyBpbiBvbmUgZ28gaWYgaXQncyBva2F5DQo+ID4gdG8gbWFr ZSB0aGVzZSBhZGRpdGlvbmFsIGZ1bmN0aW9uIGNhbGxzIGZvciBldmVyeSBhdXggdHJhbnNhY3Rp b24uDQo+ID4gDQo+ID4gV2hhdCBhbSBJIG1pc3NpbmcgaGVyZT8NCj4gDQo+IFNsaWdodCBvcHRp bWl6YXRpb24gdG8gZG8gdGhlbSBvbmx5IG9uY2UgcGVyIGF1eCB0cmFuc2ZlciBpbnN0ZWFkIG9m DQo+IHBvdGVudGlhbGx5IG11bHRpcGxlIHRpbWVzIG9uIGFjY291bnQgb2YgdGhlIHJldHJ5IGxv b3BzLg0KPiANCg0KWWVhaCwgdGhhdCBvcHRpbWl6YXRpb24gaW50cmlndWVkIG1lIGJlY2F1c2Ug dGhlIGFkZGl0aW9uYWwgZnVuY3Rpb24NCmNhbGxzIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBtYWtl IHRoZSBleGlzdGluZyBjb2RlIHN1Ym9wdGltYWwuIDopDQpUaGF0J3MgZW5vdWdoIGJpa2VzaGVk IEkgc3VwcG9zZSwgdGhhbmtzIGZvciB5b3VyIGFuc3dlci4NCg0KDQo+ID4gDQo+ID4gDQo+ID4g DQo+ID4gPiBSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyAgfCA4NSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAgNSArKy0NCj4gPiA+ ICAyIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQ0KPiA+ ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiA+IGluZGV4IGVlYjhhMDI2ZmQw OC4uYjBjMjczYjViMmE5IDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYw0KPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0K PiA+ID4gQEAgLTkzNiw3ICs5MzYsNyBAQCBzdGF0aWMgdWludDMyX3QNCj4gPiA+ICBpbnRlbF9k cF9hdXhfd2FpdF9kb25lKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGJvb2wgaGFzX2F1eF9p cnEpDQo+ID4gPiAgew0KPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOw0KPiA+ID4gLQlpOTE1X3JlZ190 IGNoX2N0bCA9IGludGVsX2RwLT5hdXhfY2hfY3RsX3JlZzsNCj4gPiA+ICsJaTkxNV9yZWdfdCBj aF9jdGwgPSBpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWcoaW50ZWxfZHApOw0KPiA+ID4gIAl1aW50 MzJfdCBzdGF0dXM7DQo+ID4gPiAgCWJvb2wgZG9uZTsNCj4gPiA+ICANCj4gPiA+IEBAIC0xMDg5 LDcgKzEwODksNyBAQCBpbnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwN Cj4gPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90 b19kaWdfcG9ydChpbnRlbF9kcCk7DQo+ID4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9DQo+ID4gPiAgCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRl dik7DQo+ID4gPiAtCWk5MTVfcmVnX3QgY2hfY3RsID0gaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVn Ow0KPiA+ID4gKwlpOTE1X3JlZ190IGNoX2N0bCwgY2hfZGF0YVs1XTsNCj4gPiA+ICAJdWludDMy X3QgYXV4X2Nsb2NrX2RpdmlkZXI7DQo+ID4gPiAgCWludCBpLCByZXQsIHJlY3ZfYnl0ZXM7DQo+ ID4gPiAgCXVpbnQzMl90IHN0YXR1czsNCj4gPiA+IEBAIC0xMDk3LDYgKzEwOTcsMTAgQEAgaW50 ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiAgCWJvb2wgaGFz X2F1eF9pcnEgPSBIQVNfQVVYX0lSUShkZXZfcHJpdik7DQo+ID4gPiAgCWJvb2wgdmRkOw0KPiA+ ID4gIA0KPiA+ID4gKwljaF9jdGwgPSBpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWcoaW50ZWxfZHAp Ow0KPiA+ID4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjaF9kYXRhKTsgaSsrKQ0KPiA+ ID4gKwkJICAgICBjaF9kYXRhW2ldID0gaW50ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZyhpbnRlbF9k cCwgaSk7DQo+ID4gPiArDQo+ID4gPiAgCXBwc19sb2NrKGludGVsX2RwKTsNCj4gPiA+ICANCj4g PiA+ICAJLyoNCj4gPiA+IEBAIC0xMTU0LDcgKzExNTgsNyBAQCBpbnRlbF9kcF9hdXhfY2goc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4gPiA+ICAJCWZvciAodHJ5ID0gMDsgdHJ5IDwgNTsg dHJ5KyspIHsNCj4gPiA+ICAJCQkvKiBMb2FkIHRoZSBzZW5kIGRhdGEgaW50byB0aGUgYXV4IGNo YW5uZWwgZGF0YSByZWdpc3RlcnMgKi8NCj4gPiA+ICAJCQlmb3IgKGkgPSAwOyBpIDwgc2VuZF9i eXRlczsgaSArPSA0KQ0KPiA+ID4gLQkJCQlJOTE1X1dSSVRFKGludGVsX2RwLT5hdXhfY2hfZGF0 YV9yZWdbaSA+PiAyXSwNCj4gPiA+ICsJCQkJSTkxNV9XUklURShjaF9kYXRhW2kgPj4gMl0sDQo+ ID4gPiAgCQkJCQkgICBpbnRlbF9kcF9wYWNrX2F1eChzZW5kICsgaSwNCj4gPiA+ICAJCQkJCQkJ ICAgICBzZW5kX2J5dGVzIC0gaSkpOw0KPiA+ID4gIA0KPiA+ID4gQEAgLTEyMzksNyArMTI0Myw3 IEBAIGludGVsX2RwX2F1eF9jaChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLA0KPiA+ID4gIAkJ cmVjdl9ieXRlcyA9IHJlY3Zfc2l6ZTsNCj4gPiA+ICANCj4gPiA+ICAJZm9yIChpID0gMDsgaSA8 IHJlY3ZfYnl0ZXM7IGkgKz0gNCkNCj4gPiA+IC0JCWludGVsX2RwX3VucGFja19hdXgoSTkxNV9S RUFEKGludGVsX2RwLT5hdXhfY2hfZGF0YV9yZWdbaSA+PiAyXSksDQo+ID4gPiArCQlpbnRlbF9k cF91bnBhY2tfYXV4KEk5MTVfUkVBRChjaF9kYXRhW2kgPj4gMl0pLA0KPiA+ID4gIAkJCQkgICAg cmVjdiArIGksIHJlY3ZfYnl0ZXMgLSBpKTsNCj4gPiA+ICANCj4gPiA+ICAJcmV0ID0gcmVjdl9i eXRlczsNCj4gPiA+IEBAIC0xMzk2LDkgKzE0MDAsMTEgQEAgaW50ZWxfYXV4X3Bvd2VyX2RvbWFp bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gIAl9DQo+ID4gPiAgfQ0KPiA+ID4g IA0KPiA+ID4gLXN0YXRpYyBpOTE1X3JlZ190IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ID4gPiAtCQkJCSAgZW51bSBhdXhfY2ggYXV4X2NoKQ0K PiA+ID4gK3N0YXRpYyBpOTE1X3JlZ190IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQ0KPiA+ID4gIHsNCj4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsNCj4gPiA+ICsJZW51 bSBhdXhfY2ggYXV4X2NoID0gaW50ZWxfZHAtPmF1eF9jaDsNCj4gPiA+ICsNCj4gPiA+ICAJc3dp dGNoIChhdXhfY2gpIHsNCj4gPiA+ICAJY2FzZSBBVVhfQ0hfQjoNCj4gPiA+ICAJY2FzZSBBVVhf Q0hfQzoNCj4gPiA+IEBAIC0xNDEwLDkgKzE0MTYsMTEgQEAgc3RhdGljIGk5MTVfcmVnX3QgZzR4 X2F1eF9jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+ICAJ fQ0KPiA+ID4gIH0NCj4gPiA+ICANCj4gPiA+IC1zdGF0aWMgaTkxNV9yZWdfdCBnNHhfYXV4X2Rh dGFfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+IC0JCQkJICAg ZW51bSBhdXhfY2ggYXV4X2NoLCBpbnQgaW5kZXgpDQo+ID4gPiArc3RhdGljIGk5MTVfcmVnX3Qg ZzR4X2F1eF9kYXRhX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5kZXgpDQo+ ID4gPiAgew0KPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOw0KPiA+ID4gKwllbnVtIGF1eF9jaCBhdXhf Y2ggPSBpbnRlbF9kcC0+YXV4X2NoOw0KPiA+ID4gKw0KPiA+ID4gIAlzd2l0Y2ggKGF1eF9jaCkg ew0KPiA+ID4gIAljYXNlIEFVWF9DSF9COg0KPiA+ID4gIAljYXNlIEFVWF9DSF9DOg0KPiA+ID4g QEAgLTE0MjQsOSArMTQzMiwxMSBAQCBzdGF0aWMgaTkxNV9yZWdfdCBnNHhfYXV4X2RhdGFfcmVn KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+ICAJfQ0KPiA+ID4gIH0N Cj4gPiA+ICANCj4gPiA+IC1zdGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2N0bF9yZWcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiA+ID4gLQkJCQkgIGVudW0gYXV4X2NoIGF1 eF9jaCkNCj4gPiA+ICtzdGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2N0bF9yZWcoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ICB7DQo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7DQo+ID4g PiArCWVudW0gYXV4X2NoIGF1eF9jaCA9IGludGVsX2RwLT5hdXhfY2g7DQo+ID4gPiArDQo+ID4g PiAgCXN3aXRjaCAoYXV4X2NoKSB7DQo+ID4gPiAgCWNhc2UgQVVYX0NIX0E6DQo+ID4gPiAgCQly ZXR1cm4gRFBfQVVYX0NIX0NUTChhdXhfY2gpOw0KPiA+ID4gQEAgLTE0NDAsOSArMTQ1MCwxMSBA QCBzdGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LA0KPiA+ID4gIAl9DQo+ID4gPiAgfQ0KPiA+ID4gIA0KPiA+ID4gLXN0YXRp YyBpOTE1X3JlZ190IGlsa19hdXhfZGF0YV9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LA0KPiA+ID4gLQkJCQkgICBlbnVtIGF1eF9jaCBhdXhfY2gsIGludCBpbmRleCkNCj4g PiA+ICtzdGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2RhdGFfcmVnKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsIGludCBpbmRleCkNCj4gPiA+ICB7DQo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7DQo+ ID4gPiArCWVudW0gYXV4X2NoIGF1eF9jaCA9IGludGVsX2RwLT5hdXhfY2g7DQo+ID4gPiArDQo+ ID4gPiAgCXN3aXRjaCAoYXV4X2NoKSB7DQo+ID4gPiAgCWNhc2UgQVVYX0NIX0E6DQo+ID4gPiAg CQlyZXR1cm4gRFBfQVVYX0NIX0RBVEEoYXV4X2NoLCBpbmRleCk7DQo+ID4gPiBAQCAtMTQ1Niw5 ICsxNDY4LDExIEBAIHN0YXRpYyBpOTE1X3JlZ190IGlsa19hdXhfZGF0YV9yZWcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiA+ID4gIAl9DQo+ID4gPiAgfQ0KPiA+ID4gIA0K PiA+ID4gLXN0YXRpYyBpOTE1X3JlZ190IHNrbF9hdXhfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsDQo+ID4gPiAtCQkJCSAgZW51bSBhdXhfY2ggYXV4X2NoKQ0KPiA+ ID4gK3N0YXRpYyBpOTE1X3JlZ190IHNrbF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQ0KPiA+ID4gIHsNCj4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsNCj4gPiA+ICsJZW51bSBh dXhfY2ggYXV4X2NoID0gaW50ZWxfZHAtPmF1eF9jaDsNCj4gPiA+ICsNCj4gPiA+ICAJc3dpdGNo IChhdXhfY2gpIHsNCj4gPiA+ICAJY2FzZSBBVVhfQ0hfQToNCj4gPiA+ICAJY2FzZSBBVVhfQ0hf QjoNCj4gPiA+IEBAIC0xNDcyLDkgKzE0ODYsMTEgQEAgc3RhdGljIGk5MTVfcmVnX3Qgc2tsX2F1 eF9jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+ICAJfQ0K PiA+ID4gIH0NCj4gPiA+ICANCj4gPiA+IC1zdGF0aWMgaTkxNV9yZWdfdCBza2xfYXV4X2RhdGFf cmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+IC0JCQkJICAgZW51 bSBhdXhfY2ggYXV4X2NoLCBpbnQgaW5kZXgpDQo+ID4gPiArc3RhdGljIGk5MTVfcmVnX3Qgc2ts X2F1eF9kYXRhX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5kZXgpDQo+ID4g PiAgew0KPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOw0KPiA+ID4gKwllbnVtIGF1eF9jaCBhdXhfY2gg PSBpbnRlbF9kcC0+YXV4X2NoOw0KPiA+ID4gKw0KPiA+ID4gIAlzd2l0Y2ggKGF1eF9jaCkgew0K PiA+ID4gIAljYXNlIEFVWF9DSF9BOg0KPiA+ID4gIAljYXNlIEFVWF9DSF9COg0KPiA+ID4gQEAg LTE0ODgsMzcgKzE1MDQsMjAgQEAgc3RhdGljIGk5MTVfcmVnX3Qgc2tsX2F1eF9kYXRhX3JlZyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ID4gPiAgCX0NCj4gPiA+ICB9DQo+ ID4gPiAgDQo+ID4gPiAtc3RhdGljIGk5MTVfcmVnX3QgaW50ZWxfYXV4X2N0bF9yZWcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiA+ID4gLQkJCQkgICAgZW51bSBhdXhfY2gg YXV4X2NoKQ0KPiA+ID4gLXsNCj4gPiA+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkN Cj4gPiA+IC0JCXJldHVybiBza2xfYXV4X2N0bF9yZWcoZGV2X3ByaXYsIGF1eF9jaCk7DQo+ID4g PiAtCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKQ0KPiA+ID4gLQkJcmV0dXJuIGls a19hdXhfY3RsX3JlZyhkZXZfcHJpdiwgYXV4X2NoKTsNCj4gPiA+IC0JZWxzZQ0KPiA+ID4gLQkJ cmV0dXJuIGc0eF9hdXhfY3RsX3JlZyhkZXZfcHJpdiwgYXV4X2NoKTsNCj4gPiA+IC19DQo+ID4g PiAtDQo+ID4gPiAtc3RhdGljIGk5MTVfcmVnX3QgaW50ZWxfYXV4X2RhdGFfcmVnKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+IC0JCQkJICAgICBlbnVtIGF1eF9jaCBh dXhfY2gsIGludCBpbmRleCkNCj4gPiA+IC17DQo+ID4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDkpDQo+ID4gPiAtCQlyZXR1cm4gc2tsX2F1eF9kYXRhX3JlZyhkZXZfcHJpdiwgYXV4 X2NoLCBpbmRleCk7DQo+ID4gPiAtCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKQ0K PiA+ID4gLQkJcmV0dXJuIGlsa19hdXhfZGF0YV9yZWcoZGV2X3ByaXYsIGF1eF9jaCwgaW5kZXgp Ow0KPiA+ID4gLQllbHNlDQo+ID4gPiAtCQlyZXR1cm4gZzR4X2F1eF9kYXRhX3JlZyhkZXZfcHJp diwgYXV4X2NoLCBpbmRleCk7DQo+ID4gPiAtfQ0KPiA+ID4gLQ0KPiA+ID4gIHN0YXRpYyB2b2lk IGludGVsX2F1eF9yZWdfaW5pdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gIHsN Cj4gPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRl bF9kcF90b19kZXYoaW50ZWxfZHApKTsNCj4gPiA+IC0JZW51bSBhdXhfY2ggYXV4X2NoID0gaW50 ZWxfZHAtPmF1eF9jaDsNCj4gPiA+IC0JaW50IGk7DQo+ID4gPiAgDQo+ID4gPiAtCWludGVsX2Rw LT5hdXhfY2hfY3RsX3JlZyA9IGludGVsX2F1eF9jdGxfcmVnKGRldl9wcml2LCBhdXhfY2gpOw0K PiA+ID4gLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbnRlbF9kcC0+YXV4X2NoX2RhdGFf cmVnKTsgaSsrKQ0KPiA+ID4gLQkJaW50ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZ1tpXSA9IGludGVs X2F1eF9kYXRhX3JlZyhkZXZfcHJpdiwgYXV4X2NoLCBpKTsNCj4gPiA+ICsJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOSkgew0KPiA+ID4gKwkJaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVnID0g c2tsX2F1eF9jdGxfcmVnOw0KPiA+ID4gKwkJaW50ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZyA9IHNr bF9hdXhfZGF0YV9yZWc7DQo+ID4gPiArCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJp dikpIHsNCj4gPiA+ICsJCWludGVsX2RwLT5hdXhfY2hfY3RsX3JlZyA9IGlsa19hdXhfY3RsX3Jl ZzsNCj4gPiA+ICsJCWludGVsX2RwLT5hdXhfY2hfZGF0YV9yZWcgPSBpbGtfYXV4X2RhdGFfcmVn Ow0KPiA+ID4gKwl9IGVsc2Ugew0KPiA+ID4gKwkJaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVnID0g ZzR4X2F1eF9jdGxfcmVnOw0KPiA+ID4gKwkJaW50ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZyA9IGc0 eF9hdXhfZGF0YV9yZWc7DQo+ID4gPiArCX0NCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4gPiAgc3Rh dGljIHZvaWQNCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gPiBpbmRleCA3ZjZh N2Y1OTJmZTYuLmE3MjgyMGZlNTI2MiAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaA0KPiA+ID4gQEAgLTEwMzgsOCArMTAzOCw2IEBAIHN0cnVjdCBpbnRlbF9kcF9jb21w bGlhbmNlIHsNCj4gPiA+ICANCj4gPiA+ICBzdHJ1Y3QgaW50ZWxfZHAgew0KPiA+ID4gIAlpOTE1 X3JlZ190IG91dHB1dF9yZWc7DQo+ID4gPiAtCWk5MTVfcmVnX3QgYXV4X2NoX2N0bF9yZWc7DQo+ ID4gPiAtCWk5MTVfcmVnX3QgYXV4X2NoX2RhdGFfcmVnWzVdOw0KPiA+ID4gIAl1aW50MzJfdCBE UDsNCj4gPiA+ICAJaW50IGxpbmtfcmF0ZTsNCj4gPiA+ICAJdWludDhfdCBsYW5lX2NvdW50Ow0K PiA+ID4gQEAgLTExMjQsNiArMTEyMiw5IEBAIHN0cnVjdCBpbnRlbF9kcCB7DQo+ID4gPiAgCQkJ CSAgICAgaW50IHNlbmRfYnl0ZXMsDQo+ID4gPiAgCQkJCSAgICAgdWludDMyX3QgYXV4X2Nsb2Nr X2RpdmlkZXIpOw0KPiA+ID4gIA0KPiA+ID4gKwlpOTE1X3JlZ190ICgqYXV4X2NoX2N0bF9yZWcp KHN0cnVjdCBpbnRlbF9kcCAqZHApOw0KPiA+ID4gKwlpOTE1X3JlZ190ICgqYXV4X2NoX2RhdGFf cmVnKShzdHJ1Y3QgaW50ZWxfZHAgKmRwLCBpbnQgaW5kZXgpOw0KPiA+ID4gKw0KPiA+ID4gIAkv KiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgYSBsaW5rIHRyYWluaW5nIGlzIHN0YXJ0ZXJkICovDQo+ ID4gPiAgCXZvaWQgKCpwcmVwYXJlX2xpbmtfcmV0cmFpbikoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCk7DQo+ID4gPiAgDQo+IA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==