From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zanoni, Paulo R" Subject: Re: [PATCH v4 6/8] drm/i915: Nuke fbc members from intel_crtc->atomic, v2. Date: Fri, 12 Feb 2016 13:56:51 +0000 Message-ID: <1455285409.2594.81.camel@intel.com> References: <1455108583-29227-1-git-send-email-maarten.lankhorst@linux.intel.com> <1455108583-29227-7-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 654287A163 for ; Fri, 12 Feb 2016 05:56:52 -0800 (PST) In-Reply-To: <1455108583-29227-7-git-send-email-maarten.lankhorst@linux.intel.com> Content-Language: en-US Content-ID: <170467BAD6610949AF8062586254893B@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "intel-gfx@lists.freedesktop.org" , "maarten.lankhorst@linux.intel.com" List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE2LTAyLTEwIMOgcyAxMzo0OSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3QgZXNj cmV2ZXU6DQo+IEZhY3RvciBvdXQgaW50ZWxfZmJjX3N1cHBvcnRzX3JvdGF0aW9uDQoNCl4gbm90 IGFueW1vcmUNCg0KDQo+ICBhbmQgdXNlIGl0IGluDQo+IHByZV9wbGFuZV91cGRhdGUgYXMgd2Vs bC4gVGhpcyBsZWF2ZXMgaW50ZWxfY3J0Yy0+YXRvbWljDQo+IGVtcHR5LCBzbyByZW1vdmUgaXQg dG9vLg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MToNCj4gLSBBZGQgYSBpbnRlbF9mYmNfc3VwcG9y dHNfcm90YXRpb24gaGVscGVyLg0KDQpDaGFuZ2VzIHNpbmNlIHYyOg0KLSBObyBtb3JlIG5lZWQg Zm9yIHJvdGF0aW9uIHNwZWNpYWwtY2FzaW5nLg0KDQooSSBzdXBwb3NlIHlvdSBhbHNvIGhhdmUg dG8gZWRpdCB0aGUgY29tbWl0IHRpdGxlIHRvIGJlIHYzKQ0KDQo+IA0KPiBTaWduZWQtb2ZmLWJ5 OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0K PiAtLS0NCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA1OCArKysr KysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tDQo+IMKgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmjCoMKgwqDCoMKgfCAxNSAtLS0tLS0tLS0tDQo+IMKgMiBmaWxlcyBj aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggNTRiZThhMjU1ZjFmLi4wMGNiMjYx YzY3ODcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Yw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gQEAgLTQ3 ODIsMTEgKzQ3ODIsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1 Y3QNCj4gaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpDQo+IMKgew0KPiDCoAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtDQo+ID5i YXNlLmNydGMpOw0KPiDCoAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlID0gb2xk X2NydGNfc3RhdGUtDQo+ID5iYXNlLnN0YXRlOw0KPiAtCXN0cnVjdCBpbnRlbF9jcnRjX2F0b21p Y19jb21taXQgKmF0b21pYyA9ICZjcnRjLT5hdG9taWM7DQo+IMKgCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZyA9DQo+IMKgCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJh c2Uuc3RhdGUpOw0KPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7 DQo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsNCj4gwqAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2UucHJpbWFyeTsN Cj4gwqAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3ByaV9zdGF0ZSA9DQo+IMKgCQlkcm1f YXRvbWljX2dldF9leGlzdGluZ19wbGFuZV9zdGF0ZShvbGRfc3RhdGUsDQo+IHByaW1hcnkpOw0K PiBAQCAtNDc5OCwyMiArNDc5NiwxOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5lX3Vw ZGF0ZShzdHJ1Y3QNCj4gaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpDQo+IMKgCWlm IChwaXBlX2NvbmZpZy0+d21fY2hhbmdlZCAmJiBwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpDQo+ IMKgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcygmY3J0Yy0+YmFzZSk7DQo+IMKgDQo+IC0JaWYg KGF0b21pYy0+dXBkYXRlX2ZiYykNCj4gLQkJaW50ZWxfZmJjX3Bvc3RfdXBkYXRlKGNydGMpOw0K PiAtDQo+IMKgCWlmIChvbGRfcHJpX3N0YXRlKSB7DQoNCkZvciBhIGNvZGUgcmVhZGVyIHRoYXQg aXMgbm90IHZlcnkgZmFtaWxpYXIgd2l0aCBhbGwgdGhlIGF0b21pYyBoaXN0b3J5DQphbmQgaXRz IGRldGFpbHMsIGl0J3Mgbm90IHRyaXZpYWwgdG8gY29uY2x1ZGUgdGhhdCAiaWYNCihkcm1fYXRv bWljX2dldF9leGlzdGluZ19wbGFuZV9zdGF0ZShwcmltYXJ5KSkiLCB0aGVuIHdlJ3JlIHVwZGF0 aW5nDQp0aGUgcHJpbWFyeSBwbGFuZSBvbiB0aGlzIGF0b21pYyBjb21taXQuIEFuZCBiZWZvcmUg dGhpcyBwYXRjaCwgaXQncw0KbXVjaCBtdWNoIGVhc2llciB0byBjb25jbHVkZSB0aGF0IHVwZGF0 ZV9mYmMgd2lsbCBiZSB0cnVlIHdoZW4gYW4NCmF0b21pYyB1cGRhdGUgaXMgdG91Y2hpbmcgdGhl IHByaW1hcnkgcGxhbmUgYmVjYXVzZSB0aGF0J3MgZXhwbGljaXRseQ0Kc3RhdGVkIGJ5IHRoZSBj b2QuDQoNClNvIGFsdGhvdWdoICJsZXQncyBraWxsIHRoaXMgcmVkdW5kYW50IHN0cnVjdCIgc291 bmRzIGdvb2QsIGl0IHNlZW1zIHRvDQptZSB0aGF0IGNvZGUgY2xhcml0eSBpcyBnb2luZyBhd2F5 IHdpdGggdGhpcyBwYXRjaCwgc28gSSB3b25kZXIgaWYgdGhlDQpiZW5lZml0cyBvZiB0aGUgcGF0 Y2ggb3V0d2VpZ2ggdGhlIGRvd25zaWRlcy4gSXNuJ3QgdGhlcmUgc29tZXRoaW5nDQplbHNlIHdl IGNvdWxkIGRvIGFib3V0IHRoaXMsIHN1Y2ggYXMgc29tZSByZW5hbWluZywgb3IgYWRkaW5nIHNv bWUNCmZ1bmN0aW9uIGFsaWFzZXMgb3IganVzdCBleHRyYSBjb21tZW50aW5nPw0KDQo+IMKgCQlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnByaW1hcnlfc3RhdGUgPQ0KPiDCoAkJCXRvX2ludGVs X3BsYW5lX3N0YXRlKHByaW1hcnktPnN0YXRlKTsNCj4gwqAJCXN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQ0KPiDCoAkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKG9s ZF9wcmlfc3RhdGUpOw0KPiDCoA0KPiArCQlpbnRlbF9mYmNfcG9zdF91cGRhdGUoY3J0Yyk7DQo+ ICsNCj4gwqAJCWlmIChwcmltYXJ5X3N0YXRlLT52aXNpYmxlICYmDQo+IMKgCQnCoMKgwqDCoChu ZWVkc19tb2Rlc2V0KCZwaXBlX2NvbmZpZy0+YmFzZSkgfHwNCj4gwqAJCcKgwqDCoMKgwqAhb2xk X3ByaW1hcnlfc3RhdGUtPnZpc2libGUpKQ0KPiDCoAkJCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1h cnkoJmNydGMtPmJhc2UpOw0KPiDCoAl9DQo+IC0NCj4gLQltZW1zZXQoYXRvbWljLCAwLCBzaXpl b2YoKmF0b21pYykpOw0KPiDCoH0NCj4gwqANCj4gwqBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxh bmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlDQo+ICpvbGRfY3J0Y19zdGF0ZSkNCj4g QEAgLTQ4MjEsNyArNDgxNiw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUo c3RydWN0DQo+IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQ0KPiDCoAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtDQo+ID5iYXNl LmNydGMpOw0KPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7DQo+ IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 DQo+IC0Jc3RydWN0IGludGVsX2NydGNfYXRvbWljX2NvbW1pdCAqYXRvbWljID0gJmNydGMtPmF0 b21pYzsNCj4gwqAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0NCj4gwqAJ CXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7DQo+IMKgCXN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpvbGRfc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0NCj4gPmJhc2Uuc3RhdGU7 DQo+IEBAIC00ODMwLDE3ICs0ODI0LDE3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91 cGRhdGUoc3RydWN0DQo+IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQ0KPiDCoAkJ ZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfcGxhbmVfc3RhdGUob2xkX3N0YXRlLA0KPiBwcmltYXJ5 KTsNCj4gwqAJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2Up Ow0KPiDCoA0KPiAtCWlmIChhdG9taWMtPnVwZGF0ZV9mYmMpDQo+IC0JCWludGVsX2ZiY19wcmVf dXBkYXRlKGNydGMpOw0KPiAtDQo+IMKgCWlmIChvbGRfcHJpX3N0YXRlKSB7DQo+IMKgCQlzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnByaW1hcnlfc3RhdGUgPQ0KPiDCoAkJCXRvX2ludGVsX3Bs YW5lX3N0YXRlKHByaW1hcnktPnN0YXRlKTsNCj4gwqAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQ0KPiDCoAkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKG9sZF9w cmlfc3RhdGUpOw0KPiArCQlib29sIHR1cm5fb2ZmID0gb2xkX3ByaW1hcnlfc3RhdGUtPnZpc2li bGUgJiYNCj4gKwkJwqDCoMKgwqAobW9kZXNldCB8fCAhcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSk7 wqANCg0KTm90IHJlYWxseSByZWxhdGVkIHRvIHRoZSBwYXRjaCwgYnV0IG9rIHRvIGtlZXAgc2lu Y2UgaXQncyB0cml2aWFsLi4uDQoNCj4gKw0KPiArCQlpbnRlbF9mYmNfcHJlX3VwZGF0ZShjcnRj KTsNCj4gwqANCj4gLQkJaWYgKG9sZF9wcmltYXJ5X3N0YXRlLT52aXNpYmxlICYmDQo+IC0JCcKg wqDCoMKgKG1vZGVzZXQgfHwgIXByaW1hcnlfc3RhdGUtPnZpc2libGUpKQ0KPiArCQlpZiAodHVy bl9vZmYpDQo+IMKgCQkJaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeSgmY3J0Yy0+YmFzZSk7DQo+ IMKgCX0NCj4gwqANCj4gQEAgLTExODIyLDI3ICsxMTgxNiwxNyBAQCBpbnQgaW50ZWxfcGxhbmVf YXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QNCj4gZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs DQo+IMKgCWlmICh2aXNpYmxlIHx8IHdhc192aXNpYmxlKQ0KPiDCoAkJcGlwZV9jb25maWctPmZi X2JpdHMgfD0gdG9faW50ZWxfcGxhbmUocGxhbmUpLQ0KPiA+ZnJvbnRidWZmZXJfYml0Ow0KPiDC oA0KPiAtCXN3aXRjaCAocGxhbmUtPnR5cGUpIHsNCj4gLQljYXNlIERSTV9QTEFORV9UWVBFX1BS SU1BUlk6DQo+IC0JCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjID0gdHJ1ZTsNCj4gLQ0K PiAtCQlicmVhazsNCj4gLQljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoNCj4gLQkJYnJlYWs7 DQo+IC0JY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOg0KPiAtCQkvKg0KPiAtCQnCoCogV2FD eFNSRGlzYWJsZWRGb3JTcHJpdGVTY2FsaW5nOml2Yg0KPiAtCQnCoCoNCj4gLQkJwqAqIGNzdGF0 ZS0+dXBkYXRlX3dtIHdhcyBhbHJlYWR5IHNldCBhYm92ZSwgc28gdGhpcw0KPiBmbGFnIHdpbGwN Cj4gLQkJwqAqIHRha2UgZWZmZWN0IHdoZW4gd2UgY29tbWl0IGFuZCBwcm9ncmFtDQo+IHdhdGVy bWFya3MuDQo+IC0JCcKgKi8NCj4gLQkJaWYgKElTX0lWWUJSSURHRShkZXYpICYmDQo+IC0JCcKg wqDCoMKgbmVlZHNfc2NhbGluZyh0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSkpDQo+ ICYmDQo+IC0JCcKgwqDCoMKgIW5lZWRzX3NjYWxpbmcob2xkX3BsYW5lX3N0YXRlKSkNCj4gLQkJ CXBpcGVfY29uZmlnLT5kaXNhYmxlX2xwX3dtID0gdHJ1ZTsNCj4gKwkvKg0KPiArCcKgKiBXYUN4 U1JEaXNhYmxlZEZvclNwcml0ZVNjYWxpbmc6aXZiDQo+ICsJwqAqDQo+ICsJwqAqIGNzdGF0ZS0+ dXBkYXRlX3dtIHdhcyBhbHJlYWR5IHNldCBhYm92ZSwgc28gdGhpcyBmbGFnDQo+IHdpbGwNCj4g KwnCoCogdGFrZSBlZmZlY3Qgd2hlbiB3ZSBjb21taXQgYW5kIHByb2dyYW0gd2F0ZXJtYXJrcy4N Cj4gKwnCoCovDQo+ICsJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX09WRVJMQVkg JiYNCj4gSVNfSVZZQlJJREdFKGRldikgJiYNCj4gKwnCoMKgwqDCoG5lZWRzX3NjYWxpbmcodG9f aW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSAmJg0KPiArCcKgwqDCoMKgIW5lZWRzX3Nj YWxpbmcob2xkX3BsYW5lX3N0YXRlKSkNCj4gKwkJcGlwZV9jb25maWctPmRpc2FibGVfbHBfd20g PSB0cnVlOw0KPiDCoA0KPiAtCQlicmVhazsNCj4gLQl9DQo+IMKgCXJldHVybiAwOw0KPiDCoH0N Cj4gwqANCj4gQEAgLTEzMjQxLDkgKzEzMjI1LDYgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y2hlY2soc3RydWN0DQo+IGRybV9kZXZpY2UgKmRldiwNCj4gwqAJCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZyA9DQo+IMKgCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0 YXRlKTsNCj4gwqANCj4gLQkJbWVtc2V0KCZ0b19pbnRlbF9jcnRjKGNydGMpLT5hdG9taWMsIDAs DQo+IC0JCcKgwqDCoMKgwqDCoMKgc2l6ZW9mKHN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21t aXQpKTsNCj4gLQ0KPiDCoAkJLyogQ2F0Y2ggSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEICovDQo+ IMKgCQlpZiAoY3J0Y19zdGF0ZS0+bW9kZS5wcml2YXRlX2ZsYWdzICE9IGNydGMtPnN0YXRlLQ0K PiA+bW9kZS5wcml2YXRlX2ZsYWdzKQ0KPiDCoAkJCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9 IHRydWU7DQo+IEBAIC0xMzUyOCwxMiArMTM1MDksMTMgQEAgc3RhdGljIGludCBpbnRlbF9hdG9t aWNfY29tbWl0KHN0cnVjdA0KPiBkcm1fZGV2aWNlICpkZXYsDQo+IMKgCQlpZiAoIW1vZGVzZXQp DQo+IMKgCQkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKGMNCj4g cnRjX3N0YXRlKSk7DQo+IMKgDQo+IC0JCWlmIChjcnRjLT5zdGF0ZS0+YWN0aXZlICYmIGludGVs X2NydGMtDQo+ID5hdG9taWMudXBkYXRlX2ZiYykNCj4gKwkJaWYgKChtb2Rlc2V0IHx8IHVwZGF0 ZV9waXBlKSAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlKQ0KDQpTYW1lIGhlcmU6IG5vdCBlYXN5IGZv ciBtZSB0byB2ZXJpZnkgdGhpbmdzIGFyZSB0aGUgc2FtZSBub3cuIEV2ZW4NCndvcnNlOiB0aGUg Y2hlY2sgZm9yICJpcyB0aGlzIGF0b21pYyBjb21taXQgdG91Y2hpbmcgdGhlIHByaW1hcnkNCnBs YW5lPyIgaXMgbm93IHdyaXR0ZW4gaW4gYSBjb21wbGV0ZWx5IGRpZmZlcmVudCB3YXkgdGhhbiB0 aGUgb25lDQppbnRyb2R1Y2VkIGFib3ZlLiBNYXliZSB0aGVyZSdzIHNvbWV0aGluZyB3ZSBjb3Vs ZCBkbyB0byBtYWtlIHRoZSBjb2RlDQplYXNpZXIgdG8gcmVhZC4NCg0KDQo+IMKgCQkJaW50ZWxf ZmJjX2VuYWJsZShpbnRlbF9jcnRjKTsNCj4gwqANCj4gwqAJCWlmIChjcnRjLT5zdGF0ZS0+YWN0 aXZlICYmDQo+IC0JCcKgwqDCoMKgKGNydGMtPnN0YXRlLT5wbGFuZXNfY2hhbmdlZCB8fCB1cGRh dGVfcGlwZSkpDQo+ICsJCcKgwqDCoMKgKGNydGMtPnN0YXRlLT5wbGFuZXNfY2hhbmdlZCB8fCB1 cGRhdGVfcGlwZSkpIHsNCj4gwqAJCQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzX29u X2NydGMoY3J0Yw0KPiBfc3RhdGUpOw0KPiArCQl9DQoNCj8/Pw0KDQoNCkJlc2lkZXMgdGhlIHBv aW50cyBtZW50aW9uZWQgYWJvdmUsIHRoZSBwYXRjaCBzZWVtcyB0byBwYXNzIHRoZSBGQkMNCnRl c3RzLCB3aGljaCBpcyBnb29kIDopDQoNCk15IHN1Z2dlc3Rpb25zIGFyZSBzb3J0YSBiaWtlc2hl ZHMgYW5kIGFsdGhvdWdoIEknbSBub3QgMTAwJSBjb25maWRlbnQsDQp0aGUgcGF0Y2ggc2VlbXMg dG8gYmUgY29ycmVjdCwgc286DQpSZXZpZXdlZC1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+DQoNCkJ1dCBwbGVhc2UgY29uc2lkZXIgdGhlIHJlYWRhYmlsaXR5IGNv bmNlcm5zIHBvaW50ZWQgb24gdGhpcyByZXZpZXcsDQptYXliZSBieSBwcm9wb3NpbmcgdjQgb3Ig YSBmb2xsb3ctdXAgcGF0Y2ggOikNCg0KPiDCoA0KPiDCoAkJaWYgKHBpcGVfY29uZmlnLT5iYXNl LmFjdGl2ZSAmJg0KPiDCoAkJwqDCoMKgwqAocGlwZV9jb25maWctPndtX2NoYW5nZWQgfHwgcGlw ZV9jb25maWctDQo+ID5kaXNhYmxlX2N4c3IgfHwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgNCj4gaW5kZXggODAzNTkxZDFlNjEzLi44ZWZmYjllY2UyMWUgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oDQo+IEBAIC01MzgsMTkgKzUzOCw2IEBAIHN0cnVjdCBpbnRlbF9tbWlv X2ZsaXAgew0KPiDCoAl1bnNpZ25lZCBpbnQgcm90YXRpb247DQo+IMKgfTsNCj4gwqANCj4gLS8q DQo+IC0gKiBUcmFja2luZyBvZiBvcGVyYXRpb25zIHRoYXQgbmVlZCB0byBiZSBwZXJmb3JtZWQg YXQgdGhlDQo+IGJlZ2lubmluZy9lbmQgb2YgYW4NCj4gLSAqIGF0b21pYyBjb21taXQsIG91dHNp ZGUgdGhlIGF0b21pYyBzZWN0aW9uIHdoZXJlIGludGVycnVwdHMgYXJlDQo+IGRpc2FibGVkLg0K PiAtICogVGhlc2UgYXJlIGdlbmVyYWxseSBvcGVyYXRpb25zIHRoYXQgZ3JhYiBtdXRleGVzIG9y IG1pZ2h0DQo+IG90aGVyd2lzZSBzbGVlcA0KPiAtICogYW5kIHRodXMgY2FuJ3QgYmUgcnVuIHdp dGggaW50ZXJydXB0cyBkaXNhYmxlZC4NCj4gLSAqLw0KPiAtc3RydWN0IGludGVsX2NydGNfYXRv bWljX2NvbW1pdCB7DQo+IC0JLyogU2xlZXBhYmxlIG9wZXJhdGlvbnMgdG8gcGVyZm9ybSBiZWZv cmUgY29tbWl0ICovDQo+IC0NCj4gLQkvKiBTbGVlcGFibGUgb3BlcmF0aW9ucyB0byBwZXJmb3Jt IGFmdGVyIGNvbW1pdCAqLw0KPiAtCWJvb2wgdXBkYXRlX2ZiYzsNCj4gLX07DQo+IC0NCj4gwqBz dHJ1Y3QgaW50ZWxfY3J0YyB7DQo+IMKgCXN0cnVjdCBkcm1fY3J0YyBiYXNlOw0KPiDCoAllbnVt IHBpcGUgcGlwZTsNCj4gQEAgLTYxMCw4ICs1OTcsNiBAQCBzdHJ1Y3QgaW50ZWxfY3J0YyB7DQo+ IMKgCQlpbnQgc2NhbmxpbmVfc3RhcnQ7DQo+IMKgCX0gZGVidWc7DQo+IMKgDQo+IC0Jc3RydWN0 IGludGVsX2NydGNfYXRvbWljX2NvbW1pdCBhdG9taWM7DQo+IC0NCj4gwqAJLyogc2NhbGVycyBh dmFpbGFibGUgb24gdGhpcyBjcnRjICovDQo+IMKgCWludCBudW1fc2NhbGVyczsNCj4gwqAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==