From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff McGee Subject: Re: [PATCH] drm/i915/bdw: Check for slice, subslice and EU count for BDW Date: Thu, 13 Aug 2015 17:11:55 -0700 Message-ID: <20150814001155.GA28413@jeffdesk> References: <1439469528-1016-1-git-send-email-lukasz.daniluk@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 167846E3B6 for ; Thu, 13 Aug 2015 17:08:39 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1439469528-1016-1-git-send-email-lukasz.daniluk@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?utf-8?Q?=C5=81ukasz?= Daniluk Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMTMsIDIwMTUgYXQgMDI6Mzg6NDhQTSArMDIwMCwgxYF1a2FzeiBEYW5pbHVr IHdyb3RlOgo+IEFkZGVkIGNoZWNrcyBmb3IgYXZhaWxhYmxlIHNsaWNlcywgc3Vic2xpY2VzIGFu ZCBFVXMgZm9yIEJyb2Fkd2VsbC4gVGhpcwo+IGluZm9ybWF0aW9uIGlzIGZpbGxlZCBpbiBpbnRl bF9kZXZpY2VfaW5mbyBhbmQgaXMgYXZhaWxhYmxlIHRvIHVzZXIgd2l0aAo+IEdFVF9QQVJBTS4K PiBBZGRlZCBjaGVja3MgZm9yIGVuYWJsZWQgc2xpY2VzLCBzdWJzbGljZXMgYW5kIEVVIGZvciBC cm9hZHdlbGwuIFRoaXMKPiBpbmZvcm1hdGlvbiBpcyBiYXNlZCBvbiBhdmFpbGFibGUgY291bnRz IGJ1dCB0YWtlcyBwb3dlciBnYXRlZCBzbGljZXMKPiBpbnRvIGFjY291bnQuIEl0IGNhbiBiZSBy ZWFkIGluIGRlYnVnZnMuCj4gSW50cm9kdWNlIG5ldyByZWdpc3RlciBkZWZpbmVzIHRoYXQgY29u dGFpbiBpbmZvcm1hdGlvbiBvbiBzbGljZXMgb24KPiBCcm9hZHdlbGwuCj4gCj4gQ2M6IEplZmYg TWNnZWUgPGplZmYubWNnZWVAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IMWBdWthc3ogRGFu aWx1ayA8bHVrYXN6LmRhbmlsdWtAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyB8IDM1ICsrKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RtYS5jICAgICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAxOSArKysr KysrLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggMjNhNjkzMDcuLmEx N2Y5MTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC00ODM4LDcg KzQ4MzgsNiBAQCBzdHJ1Y3Qgc3NldV9kZXZfc3RhdHVzIHsKPiAgc3RhdGljIHZvaWQgY2hlcnJ5 dmlld19zc2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCQkg IHN0cnVjdCBzc2V1X2Rldl9zdGF0dXMgKnN0YXQpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CkRpZCB5b3UgY29tcGlsZSB0aGlz PyBJOTE1X1JFQUQgbWFjcm8gcmVxdWlyZXMgZGV2X3ByaXYuCgo+ICAJY29uc3QgaW50IHNzX21h eCA9IDI7Cj4gIAlpbnQgc3M7Cj4gIAl1MzIgc2lnMVtzc19tYXhdLCBzaWcyW3NzX21heF07Cj4g QEAgLTQ4NzAsNyArNDg2OSw2IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc3NldV9kZXZpY2Vf c3RhdHVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9k ZXZpY2Vfc3RhdHVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkgICAgc3RydWN0IHNz ZXVfZGV2X3N0YXR1cyAqc3RhdCkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKRGlkIHlvdSBjb21waWxlIHRoaXM/IEk5MTVfUkVB RCBtYWNybyByZXF1aXJlcyBkZXZfcHJpdi4KPiAgCWludCBzX21heCA9IDMsIHNzX21heCA9IDQ7 Cj4gIAlpbnQgcywgc3M7Cj4gIAl1MzIgc19yZWdbc19tYXhdLCBldV9yZWdbMipzX21heF0sIGV1 X21hc2tbMl07Cj4gQEAgLTQ5MzIsMTMgKzQ5MzAsNDIgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1 X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCX0KPiAgfQo+ICAKPiAr c3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICsJCQkJCSBzdHJ1Y3Qgc3NldV9kZXZfc3RhdHVzICpzdGF0KQo+ICt7Cj4gKwlp bnQgczsKPiArCXUzMiBzbGljZV9pbmZvID0gSTkxNV9SRUFEKEdFTjhfUl9QV1JfQ0xLX1NUQVRF KTsKUlBDUyByZWdpc3RlciBvbmx5IHNob3dzIHdoYXQgc2xpY2Ugc3RhdGUgd2FzIHJlcXVlc3Rl ZCwgbm90IHRoZSBhY3R1YWwKc2xpY2Ugc3RhdGUuIFlvdSBuZWVkIHRvIHVzZSB0aGUgR0VOOF9H VF9TTElDRV9JTkZPIHJlZ2lzdGVyIHRoYXQgSQpzaGFyZWQgd2l0aCB5b3UgaW4gbXkgb3JpZ2lu YWwgcGF0Y2ggZm9yIHRoaXMuCj4gKwo+ICsJLyoKPiArCSAqIElmIGZpcnN0IGJpdCBvZiBzbGlj ZV9pbmZvIGlzIDAsIHRoZXJlIGlzIG5vIHNwZWNpZmljIHBvd2VyCj4gKwkgKiBzdGF0ZSBzZXQu IE90aGVyd2lzZSB3ZSByZWFkIHRoZSBjb3VudCBvZiBlbmFibGVkIHNsaWNlcwo+ICsJICogZnJv bSBpdC4KPiArCSAqLwo+ICsJaWYgKHNsaWNlX2luZm8gJiAoMTw8MzEpKQo+ICsJCXN0YXQtPnNs aWNlX3RvdGFsID0gKHNsaWNlX2luZm8gJiBHRU44X1JQQ1NfU19DTlRfTUFTSykKPiArCQkJPj4g R0VOOF9SUENTX1NfQ05UX1NISUZUOwo+ICsJZWxzZQo+ICsJCXN0YXQtPnNsaWNlX3RvdGFsID0g SU5URUxfSU5GTyhkZXYpLT5zbGljZV90b3RhbDsKPiArCj4gKwlzdGF0LT5zdWJzbGljZV9wZXJf c2xpY2UgPSBJTlRFTF9JTkZPKGRldiktPnN1YnNsaWNlX3Blcl9zbGljZTsKPiArCXN0YXQtPmV1 X3Blcl9zdWJzbGljZSA9IElOVEVMX0lORk8oZGV2KS0+ZXVfcGVyX3N1YnNsaWNlOwo+ICsJc3Rh dC0+c3Vic2xpY2VfdG90YWwgPSBzdGF0LT5zbGljZV90b3RhbCAqIHN0YXQtPnN1YnNsaWNlX3Bl cl9zbGljZTsKPiArCXN0YXQtPmV1X3RvdGFsID0gc3RhdC0+ZXVfcGVyX3N1YnNsaWNlICogc3Rh dC0+c3Vic2xpY2VfdG90YWw7Cj4gKwo+ICsJLyogc3VidHJhY3QgZnVzZWQgb2ZmIEVVKHMpIGZy b20gZW5hYmxlZCBzbGljZShzKSAqLwo+ICsJZm9yIChzID0gMDsgcyA8IHN0YXQuc2xpY2VfdG90 YWw7IHMrKykgewo+ICsJCXU4IHN1YnNsaWNlXzdldSA9IElOVEVMX0lORk8oZGV2KS0+c3Vic2xp Y2VfN2V1W3NdOwo+ICsJCXN0YXQtPmV1X3RvdGFsIC09IGh3ZWlnaHQ4KHN1YnNsaWNlXzdldSk7 Cj4gKwl9Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgaTkxNV9zc2V1X3N0YXR1cyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgewo+ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5v ZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKikgbS0+cHJpdmF0ZTsKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ICAJc3RydWN0IHNzZXVfZGV2X3N0YXR1 cyBzdGF0Owo+ICAKPiAtCWlmICgoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA4KSB8fCBJU19CUk9B RFdFTEwoZGV2KSkKPiArCWlmICgoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA4KSkKPiAgCQlyZXR1 cm4gLUVOT0RFVjsKPiAgCj4gIAlzZXFfcHV0cyhtLCAiU1NFVSBEZXZpY2UgSW5mb1xuIik7Cj4g QEAgLTQ5NjMsNiArNDk5MCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9zc2V1X3N0YXR1cyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCW1lbXNldCgmc3RhdCwgMCwgc2l6ZW9mKHN0 YXQpKTsKPiAgCWlmIChJU19DSEVSUllWSUVXKGRldikpIHsKPiAgCQljaGVycnl2aWV3X3NzZXVf ZGV2aWNlX3N0YXR1cyhkZXYsICZzdGF0KTsKPiArCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRl dikpIHsKPiArCQlicm9hZHdlbGxfc3NldV9kZXZpY2Vfc3RhdHVzKGRldiwgJnN0YXQpOwo+ICAJ fSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7Cj4gIAkJZ2VuOV9zc2V1X2Rl dmljZV9zdGF0dXMoZGV2LCAmc3RhdCk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4g aW5kZXggYWIzN2QxMS4uMmQ1MmIxZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RtYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+IEBA IC03MDUsNiArNzA1LDkzIEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCWluZm8tPmhhc19ldV9wZyA9IChpbmZvLT5ldV9wZXJfc3Vi c2xpY2UgPiAyKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfaW5mb19p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gKmluZm87Cj4gKwljb25zdCBpbnQgc19tYXggPSAzLCBzc19tYXggPSAzLCBldV9tYXgg PSA4Owo+ICsJaW50IHMsIHNzOwo+ICsJdTMyIGZ1c2UyLCBldV9kaXNhYmxlW3NfbWF4XSwgc19l bmFibGUsIHNzX2Rpc2FibGU7Cj4gKwo+ICsJZnVzZTIgPSBJOTE1X1JFQUQoR0VOOF9GVVNFMik7 Cj4gKwlzX2VuYWJsZSA9IChmdXNlMiAmIEdFTjhfRjJfU19FTkFfTUFTSykgPj4KPiArCQlHRU44 X0YyX1NfRU5BX1NISUZUOwo+ICsJc3NfZGlzYWJsZSA9IChmdXNlMiAmIEdFTjhfRjJfU1NfRElT X01BU0spID4+Cj4gKwkJR0VOOF9GMl9TU19ESVNfU0hJRlQ7Cj4gKwo+ICsJZXVfZGlzYWJsZVsw XSA9IEk5MTVfUkVBRChHRU44X0VVX0RJU0FCTEUwKSAmCj4gKwkJR0VOOF9FVV9ESVMwX1MwX01B U0s7Cj4gKwlldV9kaXNhYmxlWzFdID0gKEk5MTVfUkVBRChHRU44X0VVX0RJU0FCTEUwKSA+Pgo+ ICsJCQlHRU44X0VVX0RJUzBfUzFfU0hJRlQpIHwKPiArCQkoKEk5MTVfUkVBRChHRU44X0VVX0RJ U0FCTEUxKSAmCj4gKwkJICBHRU44X0VVX0RJUzFfUzFfTUFTSykgPDwKPiArCQkgKDMyIC0gR0VO OF9FVV9ESVMwX1MxX1NISUZUKSk7Cj4gKwlldV9kaXNhYmxlWzJdID0gKEk5MTVfUkVBRChHRU44 X0VVX0RJU0FCTEUxKSA+Pgo+ICsJCQlHRU44X0VVX0RJUzFfUzJfU0hJRlQpIHwKPiArCQkoKEk5 MTVfUkVBRChHRU44X0VVX0RJU0FCTEUyKSAmCj4gKwkJICBHRU44X0VVX0RJUzJfUzJfTUFTSykg PDwKPiArCQkgKDMyIC0gR0VOOF9FVV9ESVMxX1MyX1NISUZUKSk7Cj4gKwo+ICsKPiArCWluZm8g PSAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICopJmRldl9wcml2LT5pbmZvOwo+ICsJaW5mby0+ c2xpY2VfdG90YWwgPSBod2VpZ2h0MzIoc19lbmFibGUpOwo+ICsKPiArCS8qCj4gKwkgKiBUaGUg c3Vic2xpY2UgZGlzYWJsZSBmaWVsZCBpcyBnbG9iYWwsIGkuZS4gaXQgYXBwbGllcwo+ICsJICog dG8gZWFjaCBvZiB0aGUgZW5hYmxlZCBzbGljZXMuCj4gKwkgKi8KPiArCWluZm8tPnN1YnNsaWNl X3Blcl9zbGljZSA9IHNzX21heCAtIGh3ZWlnaHQzMihzc19kaXNhYmxlKTsKPiArCWluZm8tPnN1 YnNsaWNlX3RvdGFsID0gaW5mby0+c2xpY2VfdG90YWwgKgo+ICsJCWluZm8tPnN1YnNsaWNlX3Bl cl9zbGljZTsKPiArCj4gKwkvKgo+ICsJICogSXRlcmF0ZSB0aHJvdWdoIGVuYWJsZWQgc2xpY2Vz IGFuZCBzdWJzbGljZXMgdG8KPiArCSAqIGNvdW50IHRoZSB0b3RhbCBlbmFibGVkIEVVLgo+ICsJ ICovCj4gKwlmb3IgKHMgPSAwOyBzIDwgc19tYXg7IHMrKykgewo+ICsJCWlmICghKHNfZW5hYmxl ICYgKDB4MSA8PCBzKSkpCj4gKwkJCS8qIHNraXAgZGlzYWJsZWQgc2xpY2UgKi8KPiArCQkJY29u dGludWU7Cj4gKwo+ICsJCWZvciAoc3MgPSAwOyBzcyA8IHNzX21heDsgc3MrKykgewo+ICsJCQl1 MzIgbl9kaXNhYmxlZDsKPiArCj4gKwkJCWlmIChzc19kaXNhYmxlICYgKDB4MSA8PCBzcykpCj4g KwkJCQkvKiBza2lwIGRpc2FibGVkIHN1YnNsaWNlICovCj4gKwkJCQljb250aW51ZTsKPiArCj4g KwkJCW5fZGlzYWJsZWQgPSBod2VpZ2h0OChldV9kaXNhYmxlW3NdID4+Cj4gKwkJCQkJKHNzICog ZXVfbWF4KSk7Cj4gKwo+ICsJCQkvKgo+ICsJCQkgKiBSZWNvcmQgd2hpY2ggc3Vic2xpY2Uocykg aGFzKGhhdmUpIDcgRVVzLiB3ZQo+ICsJCQkgKiBjYW4gdHVuZSB0aGUgaGFzaCB1c2VkIHRvIHNw cmVhZCB3b3JrIGFtb25nCj4gKwkJCSAqIHN1YnNsaWNlcyBpZiB0aGV5IGFyZSB1bmJhbGFuY2Vk Lgo+ICsJCQkgKi8KPiArCQkJaWYgKGV1X21heCAtIG5fZGlzYWJsZWQgPT0gNykKPiArCQkJCWlu Zm8tPnN1YnNsaWNlXzdldVtzXSB8PSAxIDw8IHNzOwo+ICsKPiArCQkJaW5mby0+ZXVfdG90YWwg Kz0gZXVfbWF4IC0gbl9kaXNhYmxlZDsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJLyoKPiArCSAqIEJE VyBpcyBleHBlY3RlZCB0byBhbHdheXMgaGF2ZSBhIHVuaWZvcm0gZGlzdHJpYnV0aW9uIG9mIEVV IGFjcm9zcwo+ICsJICogc3Vic2xpY2VzIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IGFueSBvbmUg RVUgaW4gYW55IG9uZSBzdWJzbGljZSBtYXkKPiArCSAqIGJlIGZ1c2VkIG9mZiBmb3IgZGllIHJl Y292ZXJ5Lgo+ICsJICovCj4gKwlpbmZvLT5ldV9wZXJfc3Vic2xpY2UgPSBpbmZvLT5zdWJzbGlj ZV90b3RhbCA/Cj4gKwkJRElWX1JPVU5EX1VQKGluZm8tPmV1X3RvdGFsLCBpbmZvLT5zdWJzbGlj ZV90b3RhbCkgOiAwOwo+ICsKPiArCS8qCj4gKwkgKiBCRFcgc3VwcG9ydHMgc2xpY2UgcG93ZXIg Z2F0aW5nIG9uIGRldmljZXMgd2l0aCBtb3JlIHRoYW4KPiArCSAqIG9uZSBzbGljZS4KPiArCSAq Lwo+ICsJaW5mby0+aGFzX3NsaWNlX3BnID0gKGluZm8tPnNsaWNlX3RvdGFsID4gMSk7Cj4gKwlp bmZvLT5oYXNfc3Vic2xpY2VfcGcgPSAwOwo+ICsJaW5mby0+aGFzX2V1X3BnID0gMDsKPiArfQo+ ICsKPiAgLyoKPiAgICogRGV0ZXJtaW5lIHZhcmlvdXMgaW50ZWxfZGV2aWNlX2luZm8gZmllbGRz IGF0IHJ1bnRpbWUuCj4gICAqCj4gQEAgLTc3NSw2ICs4NjIsOCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCS8q IEluaXRpYWxpemUgc2xpY2Uvc3Vic2xpY2UvRVUgaW5mbyAqLwo+ICAJaWYgKElTX0NIRVJSWVZJ RVcoZGV2KSkKPiAgCQljaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KGRldik7Cj4gKwllbHNlIGlm IChJU19CUk9BRFdFTEwoZGV2KSkKPiArCQlicm9hZHdlbGxfc3NldV9pbmZvX2luaXQoZGV2KTsK PiAgCWVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpCj4gIAkJZ2VuOV9zc2V1X2lu Zm9faW5pdChkZXYpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCBiZTg3ZTNi Li43N2UwNDNlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTE4NDEsMTEgKzE4 NDEsMjYgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBDSFZfRkdU X0VVX0RJU19TUzFfUjFfTUFTSwkoMHhmIDw8IENIVl9GR1RfRVVfRElTX1NTMV9SMV9TSElGVCkK PiAgCj4gICNkZWZpbmUgR0VOOF9GVVNFMgkJCTB4OTEyMAo+ICsjZGVmaW5lICAgR0VOOF9GMl9T U19ESVNfU0hJRlQJCTIxCj4gKyNkZWZpbmUgICBHRU44X0YyX1NTX0RJU19NQVNLCQkoMHg3IDw8 IEdFTjhfRjJfU1NfRElTX1NISUZUKQo+ICAjZGVmaW5lICAgR0VOOF9GMl9TX0VOQV9TSElGVAkJ MjUKPiAgI2RlZmluZSAgIEdFTjhfRjJfU19FTkFfTUFTSwkJKDB4NyA8PCBHRU44X0YyX1NfRU5B X1NISUZUKQo+ICAKPiAtI2RlZmluZSAgIEdFTjlfRjJfU1NfRElTX1NISUZUCQkyMAo+IC0jZGVm aW5lICAgR0VOOV9GMl9TU19ESVNfTUFTSwkJKDB4ZiA8PCBHRU45X0YyX1NTX0RJU19TSElGVCkK PiArI2RlZmluZSBHRU44X0VVX0RJU0FCTEUwCQkweDkxMzQKPiArI2RlZmluZSAgIEdFTjhfRVVf RElTMF9TMF9NQVNLCQkweGZmZmZmZgo+ICsjZGVmaW5lICAgR0VOOF9FVV9ESVMwX1MxX1NISUZU CQkyNAo+ICsjZGVmaW5lICAgR0VOOF9FVV9ESVMwX1MxX01BU0sJCSgweGZmIDw8IEdFTjhfRVVf RElTMF9TMV9TSElGVCkKPiArCj4gKyNkZWZpbmUgR0VOOF9FVV9ESVNBQkxFMQkJMHg5MTM4Cj4g KyNkZWZpbmUgICBHRU44X0VVX0RJUzFfUzFfTUFTSwkJMHhmZmZmCj4gKyNkZWZpbmUgICBHRU44 X0VVX0RJUzFfUzJfU0hJRlQJCTE2Cj4gKyNkZWZpbmUgICBHRU44X0VVX0RJUzFfUzJfTUFTSwkJ KDB4ZmZmZiA8PCBHRU44X0VVX0RJUzFfUzJfU0hJRlQpCj4gKwo+ICsjZGVmaW5lIEdFTjhfRVVf RElTQUJMRTIJCTB4OTEzYwo+ICsjZGVmaW5lICAgR0VOOF9FVV9ESVMyX1MyX01BU0sJCTB4ZmYK PiArCj4gKyNkZWZpbmUgR0VOOV9GMl9TU19ESVNfU0hJRlQJCTIwCj4gKyNkZWZpbmUgR0VOOV9G Ml9TU19ESVNfTUFTSwkJKDB4ZiA8PCBHRU45X0YyX1NTX0RJU19TSElGVCkKPiAgCj4gICNkZWZp bmUgR0VOOV9FVV9ESVNBQkxFKHNsaWNlKQkJKDB4OTEzNCArIChzbGljZSkqMHg0KQo+ICAKPiAt LSAKPiBMdWthc3ogRGFuaWx1awo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=