From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zanoni, Paulo R" Subject: Re: [PATCH 1/8] drm/i915: SAGV is not SKL-only, so rename a few things Date: Fri, 9 Sep 2016 20:16:15 +0000 Message-ID: <1473452172.2661.20.camel@intel.com> References: <1473209539-6689-1-git-send-email-paulo.r.zanoni@intel.com> <1473209539-6689-2-git-send-email-paulo.r.zanoni@intel.com> <1473264322.22966.2.camel@redhat.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 ESMTPS id EB52E6E25A for ; Fri, 9 Sep 2016 20:16:16 +0000 (UTC) In-Reply-To: <1473264322.22966.2.camel@redhat.com> Content-Language: en-US Content-ID: <23DF5A1678B03D499D1D64361AFF9B83@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "cpaul@redhat.com" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE2LTA5LTA3IMOgcyAxMjowNSAtMDQwMCwgTHl1ZGUgZXNjcmV2ZXU6DQo+IE15 IG9ubHkgdGhvdWdodCBpcyB0aGF0IGl0IHNlZW1zIGxpa2Ugd2UgcHJlZml4IGZ1bmN0aW9ucyBz a2xfLCBrYmxfLA0KPiBldGMuIGp1c3QgdG8gaW5kaWNhdGUgd2hpY2ggZ2VuZXJhdGlvbiBpbnRy b2R1Y2VkIHRoZSBmZWF0dXJlLiBTa2wNCj4gdXNlcw0KPiBxdWl0ZSBhIGZldyBzYW5keWJyaWRn ZSBhbmQgaGFzd2VsbCBmdW5jdGlvbnMuIElmIHRoaXMgaXMgYSBsaXR0bGUNCj4gY2xvc2VyIHRv IHdoYXQgbW9zdCBpbnRlbCBkZXZzIHdvdWxkIGV4cGVjdCB0aGUgbmFtaW5nIHRvIGJlIHRob3Vn aA0KPiB0aGVuOg0KDQpXZSBhY3R1YWxseSBoYXZlIGJvdGggc2NoZW1lcywgYnV0IG15IHVuZGVy c3RhbmRpbmcgaXMgdGhhdA0KZmlyc3RwbGF0Zm9ybV9zb21ldGhpbmcgaXMgbW9yZSB1c2VkIHdo ZW4gd2UgYWN0dWFsbHkgbmVlZCAyKyBmdW5jdGlvbnMNCihsaWtlIGk5eHhfY3J0Y19lbmFibGUg YW5kIHRoZW4gaWxrX2NydGNfZW5hYmxlKSwgYW5kIHdlIHVzdWFsbHkgaGF2ZQ0Kc29tZXRoaW5n IGxpa2UgaW50ZWxfc29tZXRoaW5nIGNhbGxpbmcgZmlyc3RwbGF0Zm9ybV9zb21ldGhpbmcsIG9y IGp1c3QNCmRldl9wcml2LT5zb21ldGhpbmcoKSBjYWxsaW5nIHRoZSBmaXJzdHBsYXRmb3JtX3Nv bWV0aGluZyB2ZnVuYy4gQnV0IG15DQp1bmRlcnN0YW5kaW5nIG1heSBiZSB3cm9uZy4NCg0KQW55 d2F5LCBJIGp1c3QgZGlkIHRoZSByZW5hbWUgYmVjYXVzZSBza2xfaGFzX3NhZ3YoKSB3b3VsZCBi ZSBzdXBlcg0KY29uZnVzaW5nIChyZXR1cm5zIHRydWUgb24gS0JMKS4gSSdtIGhhcHB5IHRvIGFj Y2VwdCBzdWdnZXN0aW9ucyBoZXJlDQp0aGF0IHdvdWxkIGF2b2lkIHRoZSByZW5hbWluZyBJIGRp ZC4NCg0KPiANCj4gUmV2aWV3ZWQtYnk6IEx5dWRlIDxjcGF1bEByZWRoYXQuY29tPg0KPiANCj4g Z29pbmcgdGhyb3VnaCB0aGUgb3RoZXIgcGF0Y2hlcyBub3cgYXMgd2VsbA0KPiANCj4gT24gVHVl LCAyMDE2LTA5LTA2IGF0IDIxOjUyIC0wMzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6DQo+ID4gDQo+ ID4gVGhlIHBsYW4gaXMgdG8gaW50cm9kdWNlIGludGVsX2hhc19zYWd2KCkgYW5kIHRoZW4gdXNl IGl0IHRvDQo+ID4gZGlzY292ZXINCj4gPiB3aGljaCBwbGF0Zm9ybXMgYWN0dWFsbHkgc3VwcG9y dCBpdC4NCj4gPiANCj4gPiBJIHRob3VnaHQgYWJvdXQga2VlcGluZyB0aGUgZnVuY3Rpb25zIHdp dGggdGhlaXIgY3VycmVudCBza2wgbmFtZXMsDQo+ID4gYnV0IGZvdW5kIHR3byBwcm9ibGVtczog KGkpIHNrbF9oYXNfc2FndigpIHdvdWxkIGJlY29tZSBhIHZlcnkNCj4gPiBjb25mdXNpbmcgbmFt ZSwgYW5kIChpaSkgaW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKCkgZG9lc24ndCBzZWVtIHRvDQo+ ID4gYmUNCj4gPiBjYWxsaW5nIGFueSBmdW5jdGlvbnMgd2hvc2UgbmFtZSBzdGFydCB3aXRoIGEg cGxhdGZvcm0gbmFtZSwgc28gdGhlDQo+ID4gImludGVsXyIgbmFtaW5nIHNjaGVtZSBzZWVtcyBt YWtlIG1vcmUgc2Vuc2UgdGhhbiB0aGUNCj4gPiAiZmlyc3RwbGF0b3JtXyINCj4gPiBuYW1pbmcg c2NoZW1lIGhlcmUuDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVs by5yLnphbm9uaUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5owqDCoMKgwqDCoMKgfCAxMCArKysrKy0tLS0tDQo+ID4gwqBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfMKgwqA4ICsrKystLS0tDQo+ID4gwqBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoMKgwqB8wqDCoDYgKysrLS0tDQo+ID4gwqBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jwqDCoMKgwqDCoMKgfCAyNiArKysrKysrKysr KysrLS0tLS0tLS0tLS0NCj4gPiAtLQ0KPiA+IMKgNCBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaA0KPiA+IGluZGV4IDA1M2EzNDcuLjUwM2M2OWQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgNCj4gPiBAQCAtMTk3MiwxMSArMTk3MiwxMSBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7DQo+ID4gwqAJc3RydWN0IHZsdl9zMGl4X3N0YXRlIHZsdl9zMGl4X3N0YXRlOw0K PiA+IMKgDQo+ID4gwqAJZW51bSB7DQo+ID4gLQkJSTkxNV9TS0xfU0FHVl9VTktOT1dOID0gMCwN Cj4gPiAtCQlJOTE1X1NLTF9TQUdWX0RJU0FCTEVELA0KPiA+IC0JCUk5MTVfU0tMX1NBR1ZfRU5B QkxFRCwNCj4gPiAtCQlJOTE1X1NLTF9TQUdWX05PVF9DT05UUk9MTEVEDQo+ID4gLQl9IHNrbF9z YWd2X3N0YXR1czsNCj4gPiArCQlJOTE1X1NBR1ZfVU5LTk9XTiA9IDAsDQo+ID4gKwkJSTkxNV9T QUdWX0RJU0FCTEVELA0KPiA+ICsJCUk5MTVfU0FHVl9FTkFCTEVELA0KPiA+ICsJCUk5MTVfU0FH Vl9OT1RfQ09OVFJPTExFRA0KPiA+ICsJfSBzYWd2X3N0YXR1czsNCj4gPiDCoA0KPiA+IMKgCXN0 cnVjdCB7DQo+ID4gwqAJCS8qDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYw0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jDQo+ID4gaW5kZXggNmI0ZDdhYy4uNGRkNDk2MSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gPiBAQCAtMTQzNzksOCArMTQzNzksOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0DQo+ID4gZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpDQo+ID4gwqAJCcKgKiBTS0wgd29ya2Fyb3VuZDogYnNwZWMgcmVjb21tZW5kcyB3 ZSBkaXNhYmxlIHRoZQ0KPiA+IFNBR1Ygd2hlbiB3ZQ0KPiA+IMKgCQnCoCogaGF2ZSBtb3JlIHRo ZW4gb25lIHBpcGUgZW5hYmxlZA0KPiA+IMKgCQnCoCovDQo+ID4gLQkJaWYgKElTX1NLWUxBS0Uo ZGV2X3ByaXYpICYmDQo+ID4gIXNrbF9jYW5fZW5hYmxlX3NhZ3Yoc3RhdGUpKQ0KPiA+IC0JCQlz a2xfZGlzYWJsZV9zYWd2KGRldl9wcml2KTsNCj4gPiArCQlpZiAoSVNfU0tZTEFLRShkZXZfcHJp dikgJiYNCj4gPiAhaW50ZWxfY2FuX2VuYWJsZV9zYWd2KHN0YXRlKSkNCj4gPiArCQkJaW50ZWxf ZGlzYWJsZV9zYWd2KGRldl9wcml2KTsNCj4gPiDCoA0KPiA+IMKgCQlpbnRlbF9tb2Rlc2V0X3Zl cmlmeV9kaXNhYmxlZChkZXYpOw0KPiA+IMKgCX0NCj4gPiBAQCAtMTQ0MzgsOCArMTQ0MzgsOCBA QCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0DQo+ID4gZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpDQo+ID4gwqAJfQ0KPiA+IMKgDQo+ID4gwqAJaWYgKElTX1NLWUxB S0UoZGV2X3ByaXYpICYmIGludGVsX3N0YXRlLT5tb2Rlc2V0ICYmDQo+ID4gLQnCoMKgwqDCoHNr bF9jYW5fZW5hYmxlX3NhZ3Yoc3RhdGUpKQ0KPiA+IC0JCXNrbF9lbmFibGVfc2FndihkZXZfcHJp dik7DQo+ID4gKwnCoMKgwqDCoGludGVsX2Nhbl9lbmFibGVfc2FndihzdGF0ZSkpDQo+ID4gKwkJ aW50ZWxfZW5hYmxlX3NhZ3YoZGV2X3ByaXYpOw0KPiA+IMKgDQo+ID4gwqAJZHJtX2F0b21pY19o ZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RhdGUpOw0KPiA+IMKgDQo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaA0KPiA+IGluZGV4IGQwODRjMWIuLmJiNTViNjEgMTAwNjQ0DQo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgNCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+IEBAIC0xNzQxLDkgKzE3NDEsOSBAQCB2b2lkIGls a193bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UNCj4gPiAqZGV2KTsNCj4gPiDCoHZv aWQgc2tsX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsNCj4gPiDCoHZv aWQgc2tsX2RkYl9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LA0KPiA+IMKgCQkJwqDCoHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYiAvKiBvdXQNCj4g PiAqLyk7DQo+ID4gLWJvb2wgc2tsX2Nhbl9lbmFibGVfc2FndihzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpOw0KPiA+IC1pbnQgc2tsX2VuYWJsZV9zYWd2KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7DQo+ID4gLWludCBza2xfZGlzYWJsZV9zYWd2KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7DQo+ID4gK2Jvb2wgaW50ZWxfY2FuX2VuYWJsZV9zYWd2 KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7DQo+ID4gK2ludCBpbnRlbF9lbmFibGVf c2FndihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOw0KPiA+ICtpbnQgaW50ZWxf ZGlzYWJsZV9zYWd2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7DQo+ID4gwqBi b29sIHNrbF9kZGJfYWxsb2NhdGlvbl9lcXVhbHMoY29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2Nh dGlvbg0KPiA+ICpvbGQsDQo+ID4gwqAJCQnCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCBza2xf ZGRiX2FsbG9jYXRpb24NCj4gPiAqbmV3LA0KPiA+IMKgCQkJwqDCoMKgwqDCoMKgwqBlbnVtIHBp cGUgcGlwZSk7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMNCj4gPiBpbmRleCA0Zjgz M2EwLi4zMjU4OGUzIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jDQo+ID4gQEAg LTI4OTYsMTIgKzI4OTYsMTIgQEAgc2tsX3dtX3BsYW5lX2lkKGNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZQ0KPiA+ICpwbGFuZSkNCj4gPiDCoCAqwqDCoC0gV2UncmUgbm90IHVzaW5nIGFuIGludGVy bGFjZWQgZGlzcGxheSBjb25maWd1cmF0aW9uDQo+ID4gwqAgKi8NCj4gPiDCoGludA0KPiA+IC1z a2xfZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0KPiA+ICtp bnRlbF9lbmFibGVfc2FndihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ID4g wqB7DQo+ID4gwqAJaW50IHJldDsNCj4gPiDCoA0KPiA+IC0JaWYgKGRldl9wcml2LT5za2xfc2Fn dl9zdGF0dXMgPT0NCj4gPiBJOTE1X1NLTF9TQUdWX05PVF9DT05UUk9MTEVEIHx8DQo+ID4gLQnC oMKgwqDCoGRldl9wcml2LT5za2xfc2Fndl9zdGF0dXMgPT0gSTkxNV9TS0xfU0FHVl9FTkFCTEVE KQ0KPiA+ICsJaWYgKGRldl9wcml2LT5zYWd2X3N0YXR1cyA9PSBJOTE1X1NBR1ZfTk9UX0NPTlRS T0xMRUQgfHwNCj4gPiArCcKgwqDCoMKgZGV2X3ByaXYtPnNhZ3Zfc3RhdHVzID09IEk5MTVfU0FH Vl9FTkFCTEVEKQ0KPiA+IMKgCQlyZXR1cm4gMDsNCj4gPiDCoA0KPiA+IMKgCURSTV9ERUJVR19L TVMoIkVuYWJsaW5nIHRoZSBTQUdWXG4iKTsNCj4gPiBAQCAtMjkxOSwxOSArMjkxOSwxOSBAQCBz a2xfZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUNCj4gPiAqZGV2X3ByaXYpDQo+ ID4gwqAJwqAqLw0KPiA+IMKgCWlmIChyZXQgPT0gLUVOWElPKSB7DQo+ID4gwqAJCURSTV9ERUJV R19EUklWRVIoIk5vIFNBR1YgZm91bmQgb24gc3lzdGVtLA0KPiA+IGlnbm9yaW5nXG4iKTsNCj4g PiAtCQlkZXZfcHJpdi0+c2tsX3NhZ3Zfc3RhdHVzID0NCj4gPiBJOTE1X1NLTF9TQUdWX05PVF9D T05UUk9MTEVEOw0KPiA+ICsJCWRldl9wcml2LT5zYWd2X3N0YXR1cyA9IEk5MTVfU0FHVl9OT1Rf Q09OVFJPTExFRDsNCj4gPiDCoAkJcmV0dXJuIDA7DQo+ID4gwqAJfSBlbHNlIGlmIChyZXQgPCAw KSB7DQo+ID4gwqAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSB0aGUgU0FHVlxuIik7DQo+ ID4gwqAJCXJldHVybiByZXQ7DQo+ID4gwqAJfQ0KPiA+IMKgDQo+ID4gLQlkZXZfcHJpdi0+c2ts X3NhZ3Zfc3RhdHVzID0gSTkxNV9TS0xfU0FHVl9FTkFCTEVEOw0KPiA+ICsJZGV2X3ByaXYtPnNh Z3Zfc3RhdHVzID0gSTkxNV9TQUdWX0VOQUJMRUQ7DQo+ID4gwqAJcmV0dXJuIDA7DQo+ID4gwqB9 DQo+ID4gwqANCj4gPiDCoHN0YXRpYyBpbnQNCj4gPiAtc2tsX2RvX3NhZ3ZfZGlzYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ID4gK2ludGVsX2RvX3NhZ3ZfZGlzYWJs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ID4gwqB7DQo+ID4gwqAJaW50 IHJldDsNCj4gPiDCoAl1aW50MzJfdCB0ZW1wID0gR0VOOV9TQUdWX0RJU0FCTEU7DQo+ID4gQEAg LTI5NDUsMTkgKzI5NDUsMTkgQEAgc2tsX2RvX3NhZ3ZfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZQ0KPiA+ICpkZXZfcHJpdikNCj4gPiDCoH0NCj4gPiDCoA0KPiA+IMKgaW50DQo+ID4g LXNrbF9kaXNhYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0KPiA+ ICtpbnRlbF9kaXNhYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0K PiA+IMKgew0KPiA+IMKgCWludCByZXQsIHJlc3VsdDsNCj4gPiDCoA0KPiA+IC0JaWYgKGRldl9w cml2LT5za2xfc2Fndl9zdGF0dXMgPT0NCj4gPiBJOTE1X1NLTF9TQUdWX05PVF9DT05UUk9MTEVE IHx8DQo+ID4gLQnCoMKgwqDCoGRldl9wcml2LT5za2xfc2Fndl9zdGF0dXMgPT0gSTkxNV9TS0xf U0FHVl9ESVNBQkxFRCkNCj4gPiArCWlmIChkZXZfcHJpdi0+c2Fndl9zdGF0dXMgPT0gSTkxNV9T QUdWX05PVF9DT05UUk9MTEVEIHx8DQo+ID4gKwnCoMKgwqDCoGRldl9wcml2LT5zYWd2X3N0YXR1 cyA9PSBJOTE1X1NBR1ZfRElTQUJMRUQpDQo+ID4gwqAJCXJldHVybiAwOw0KPiA+IMKgDQo+ID4g wqAJRFJNX0RFQlVHX0tNUygiRGlzYWJsaW5nIHRoZSBTQUdWXG4iKTsNCj4gPiDCoAltdXRleF9s b2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOw0KPiA+IMKgDQo+ID4gwqAJLyogYnNwZWMgc2F5 cyB0byBrZWVwIHJldHJ5aW5nIGZvciBhdCBsZWFzdCAxIG1zICovDQo+ID4gLQlyZXQgPSB3YWl0 X2ZvcihyZXN1bHQgPSBza2xfZG9fc2Fndl9kaXNhYmxlKGRldl9wcml2KSwgMSk7DQo+ID4gKwly ZXQgPSB3YWl0X2ZvcihyZXN1bHQgPSBpbnRlbF9kb19zYWd2X2Rpc2FibGUoZGV2X3ByaXYpLA0K PiA+IDEpOw0KPiA+IMKgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsNCj4g PiDCoA0KPiA+IMKgCWlmIChyZXQgPT0gLUVUSU1FRE9VVCkgew0KPiA+IEBAIC0yOTcxLDE4ICsy OTcxLDE4IEBAIHNrbF9kaXNhYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUNCj4gPiAq ZGV2X3ByaXYpDQo+ID4gwqAJwqAqLw0KPiA+IMKgCWlmIChyZXN1bHQgPT0gLUVOWElPKSB7DQo+ ID4gwqAJCURSTV9ERUJVR19EUklWRVIoIk5vIFNBR1YgZm91bmQgb24gc3lzdGVtLA0KPiA+IGln bm9yaW5nXG4iKTsNCj4gPiAtCQlkZXZfcHJpdi0+c2tsX3NhZ3Zfc3RhdHVzID0NCj4gPiBJOTE1 X1NLTF9TQUdWX05PVF9DT05UUk9MTEVEOw0KPiA+ICsJCWRldl9wcml2LT5zYWd2X3N0YXR1cyA9 IEk5MTVfU0FHVl9OT1RfQ09OVFJPTExFRDsNCj4gPiDCoAkJcmV0dXJuIDA7DQo+ID4gwqAJfSBl bHNlIGlmIChyZXN1bHQgPCAwKSB7DQo+ID4gwqAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGRpc2Fi bGUgdGhlIFNBR1ZcbiIpOw0KPiA+IMKgCQlyZXR1cm4gcmVzdWx0Ow0KPiA+IMKgCX0NCj4gPiDC oA0KPiA+IC0JZGV2X3ByaXYtPnNrbF9zYWd2X3N0YXR1cyA9IEk5MTVfU0tMX1NBR1ZfRElTQUJM RUQ7DQo+ID4gKwlkZXZfcHJpdi0+c2Fndl9zdGF0dXMgPSBJOTE1X1NBR1ZfRElTQUJMRUQ7DQo+ ID4gwqAJcmV0dXJuIDA7DQo+ID4gwqB9DQo+ID4gwqANCj4gPiAtYm9vbCBza2xfY2FuX2VuYWJs ZV9zYWd2KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkNCj4gPiArYm9vbCBpbnRlbF9j YW5fZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQ0KPiA+IMKgew0K PiA+IMKgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2Ow0KPiA+IMKgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==