From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 2/3] drm/i915/bxt: add revision id for A1 stepping and use it Date: Wed, 21 Oct 2015 08:42:28 +0200 Message-ID: <20151021064228.GD13786@phenom.ffwll.local> References: <1445343722-3312-1-git-send-email-jani.nikula@intel.com> <1445343722-3312-2-git-send-email-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0AB936E883 for ; Tue, 20 Oct 2015 23:42:33 -0700 (PDT) Received: by wijp11 with SMTP id p11so79211223wij.0 for ; Tue, 20 Oct 2015 23:42:31 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1445343722-3312-2-git-send-email-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjAsIDIwMTUgYXQgMDM6MjI6MDFQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gUHJlZmVyIGluY2x1c2l2ZSByYW5nZXMgZm9yIHJldmlzaW9uIGNoZWNrcyByYXRoZXIg dGhhbiAiYmVsb3cgQjAiLiBQZXIKPiBzcGVjcyBBMiBpcyBub3QgdXNlZCwgc28gcmV2aWQgPD0g QTEgbWF0Y2hlcyByZXZpZCA8IEIwLgo+IAo+IEFja2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxh IDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgICB8IDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAg ICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAg ICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICAgICAgICB8 IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgOCAr KysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgfCA2 ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgfCA2 ICsrKy0tLQo+ICA5IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGYyMjIxMTQ5ODFjMC4uMjhl NzFjMzJjMGQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI1MDEsNiArMjUw MSw3IEBAIHN0cnVjdCBkcm1faTkxNV9jbWRfdGFibGUgewo+ICAjZGVmaW5lIFNLTF9SRVZJRF9G MAkJMHg1Cj4gIAo+ICAjZGVmaW5lIEJYVF9SRVZJRF9BMAkJMHgwCj4gKyNkZWZpbmUgQlhUX1JF VklEX0ExCQkweDEKCkV4Y2VwdCB0aGF0IEkgY2FuJ3QgY2hlY2sgdGhpcyB2YWx1ZSBoZXJlIG9u IHRoZSBzZXJpZXM6CgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4KCj4gICNkZWZpbmUgQlhUX1JFVklEX0IwCQkweDMKPiAgI2RlZmluZSBCWFRfUkVW SURfQzAJCTB4OQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBlNTcwNjFhYzAy MTkuLjQwOGVkNmY4ZTMzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0zODI2 LDcgKzM4MjYsNyBAQCBpbnQgaTkxNV9nZW1fc2V0X2NhY2hpbmdfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQkgKiBjYWNoZWxpbmUsIHdoZXJlYXMgbm9ybWFs bHkgc3VjaCBjYWNoZWxpbmVzIHdvdWxkIGdldAo+ICAJCSAqIGludmFsaWRhdGVkLgo+ICAJCSAq Lwo+IC0JCWlmIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJ RF9CMCkKPiArCQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRldikgPD0gQlhU X1JFVklEX0ExKQo+ICAJCQlyZXR1cm4gLUVOT0RFVjsKPiAgCj4gIAkJbGV2ZWwgPSBJOTE1X0NB Q0hFX0xMQzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g aW5kZXggMDM2YjQyYmFlODI3Li44NjNhYTVjODI0NjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMg aW50IGhvc3QyZ3VjX3NhbXBsZV9mb3JjZXdha2Uoc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+ICAJ ZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9TQU1QTEVfRk9SQ0VXQUtFOwo+ICAJLyogV2FSc0Rp c2FibGVDb2Fyc2VQb3dlckdhdGluZzpza2wsYnh0ICovCj4gIAlpZiAoIWludGVsX2VuYWJsZV9y YzYoZGV2X3ByaXYtPmRldikgfHwKPiAtCSAgICAoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9S RVZJRChkZXYpIDwgQlhUX1JFVklEX0IwKSkgfHwKPiArCSAgICAoSVNfQlJPWFRPTihkZXYpICYm IChJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpIHx8Cj4gIAkgICAgKElTX1NLTF9H VDMoZGV2KSAmJiAoSU5URUxfUkVWSUQoZGV2KSA8PSBTS0xfUkVWSURfRTApKSB8fAo+ICAJICAg IChJU19TS0xfR1Q0KGRldikgJiYgKElOVEVMX1JFVklEKGRldikgPD0gU0tMX1JFVklEX0UwKSkp Cj4gIAkJZGF0YVsxXSA9IDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCBiMjVl OTlhNDMyZmIuLmI4MGUwZjVlYzVkYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4g QEAgLTMyNDcsNyArMzI0Nyw3IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgZW51bSBwb3J0IHBvcnQpCj4gIAkJICogT24gQlhUIEEwL0ExLCBzdyBuZWVkcyB0 byBhY3RpdmF0ZSBERElBIEhQRCBsb2dpYyBhbmQKPiAgCQkgKiBpbnRlcnJ1cHRzIHRvIGNoZWNr IHRoZSBleHRlcm5hbCBwYW5lbCBjb25uZWN0aW9uLgo+ICAJCSAqLwo+IC0JCWlmIChJU19CUk9Y VE9OKGRldl9wcml2KSAmJiAoSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkKPiArCQlp ZiAoSVNfQlJPWFRPTihkZXZfcHJpdikgJiYgKElOVEVMX1JFVklEKGRldikgPD0gQlhUX1JFVklE X0ExKQo+ICAJCQkJCSAmJiBwb3J0ID09IFBPUlRfQikKPiAgCQkJZGV2X3ByaXYtPmhvdHBsdWcu aXJxX3BvcnRbUE9SVF9BXSA9IGludGVsX2RpZ19wb3J0Owo+ICAJCWVsc2UKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKPiBpbmRleCAwOWJkZDk0Y2EzYmEuLjkyNDEzZTVkMjE1YyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC02MDg3LDcgKzYwODcsNyBAQCBpbnRlbF9kcF9pbml0 X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAg CQlicmVhazsKPiAgCWNhc2UgUE9SVF9COgo+ICAJCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBI UERfUE9SVF9COwo+IC0JCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSAmJiAoSU5URUxfUkVWSUQo ZGV2KSA8IEJYVF9SRVZJRF9CMCkpCj4gKwkJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpICYmIChJ TlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpCj4gIAkJCWludGVsX2VuY29kZXItPmhw ZF9waW4gPSBIUERfUE9SVF9BOwo+ICAJCWJyZWFrOwo+ICAJY2FzZSBQT1JUX0M6Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IDllYWZhMTkxY2VlMi4uMzVjNmUyMTFiYWY1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IEBAIC0yMDM5LDcgKzIwMzksNyBAQCB2 b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQsCj4gIAkJICogT24gQlhUIEEwL0ExLCBzdyBuZWVkcyB0byBhY3RpdmF0 ZSBERElBIEhQRCBsb2dpYyBhbmQKPiAgCQkgKiBpbnRlcnJ1cHRzIHRvIGNoZWNrIHRoZSBleHRl cm5hbCBwYW5lbCBjb25uZWN0aW9uLgo+ICAJCSAqLwo+IC0JCWlmIChJU19CUk9YVE9OKGRldl9w cml2KSAmJiAoSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkpCj4gKwkJaWYgKElTX0JS T1hUT04oZGV2X3ByaXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpCj4g IAkJCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBIUERfUE9SVF9BOwo+ICAJCWVsc2UKPiAgCQkJ aW50ZWxfZW5jb2Rlci0+aHBkX3BpbiA9IEhQRF9QT1JUX0I7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKPiBpbmRleCA4OGUxMmJkZjc5ZTIuLjBmNWExZDYzYjUxZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCj4gQEAgLTE5NzIsNyArMTk3Miw3IEBAIHN0YXRpYyBpbnQgbG9naWNh bF9yZW5kZXJfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJcmluZy0+aW5p dF9odyA9IGdlbjhfaW5pdF9yZW5kZXJfcmluZzsKPiAgCXJpbmctPmluaXRfY29udGV4dCA9IGdl bjhfaW5pdF9yY3NfY29udGV4dDsKPiAgCXJpbmctPmNsZWFudXAgPSBpbnRlbF9maW5pX3BpcGVf Y29udHJvbDsKPiAtCWlmIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8IEJY VF9SRVZJRF9CMCkgewo+ICsJaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYp IDw9IEJYVF9SRVZJRF9BMSkgewo+ICAJCXJpbmctPmdldF9zZXFubyA9IGJ4dF9hX2dldF9zZXFu bzsKPiAgCQlyaW5nLT5zZXRfc2Vxbm8gPSBieHRfYV9zZXRfc2Vxbm87Cj4gIAl9IGVsc2Ugewo+ IEBAIC0yMDI0LDcgKzIwMjQsNyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfYnNkX3JpbmdfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8 PCBHRU44X1ZDUzFfSVJRX1NISUZUOwo+ICAKPiAgCXJpbmctPmluaXRfaHcgPSBnZW44X2luaXRf Y29tbW9uX3Jpbmc7Cj4gLQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRldikg PCBCWFRfUkVWSURfQjApIHsKPiArCWlmIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQo ZGV2KSA8PSBCWFRfUkVWSURfQTEpIHsKPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBieHRfYV9nZXRf c2Vxbm87Cj4gIAkJcmluZy0+c2V0X3NlcW5vID0gYnh0X2Ffc2V0X3NlcW5vOwo+ICAJfSBlbHNl IHsKPiBAQCAtMjA3OSw3ICsyMDc5LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX2JsdF9yaW5nX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJV UFQgPDwgR0VOOF9CQ1NfSVJRX1NISUZUOwo+ICAKPiAgCXJpbmctPmluaXRfaHcgPSBnZW44X2lu aXRfY29tbW9uX3Jpbmc7Cj4gLQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRl dikgPCBCWFRfUkVWSURfQjApIHsKPiArCWlmIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVW SUQoZGV2KSA8PSBCWFRfUkVWSURfQTEpIHsKPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBieHRfYV9n ZXRfc2Vxbm87Cj4gIAkJcmluZy0+c2V0X3NlcW5vID0gYnh0X2Ffc2V0X3NlcW5vOwo+ICAJfSBl bHNlIHsKPiBAQCAtMjEwOSw3ICsyMTA5LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3ZlYm94X3Jp bmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCUdUX0NPTlRFWFRfU1dJVENIX0lO VEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NISUZUOwo+ICAKPiAgCXJpbmctPmluaXRfaHcgPSBn ZW44X2luaXRfY29tbW9uX3Jpbmc7Cj4gLQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JF VklEKGRldikgPCBCWFRfUkVWSURfQjApIHsKPiArCWlmIChJU19CUk9YVE9OKGRldikgJiYgSU5U RUxfUkVWSUQoZGV2KSA8PSBCWFRfUkVWSURfQTEpIHsKPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBi eHRfYV9nZXRfc2Vxbm87Cj4gIAkJcmluZy0+c2V0X3NlcW5vID0gYnh0X2Ffc2V0X3NlcW5vOwo+ ICAJfSBlbHNlIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCBkZjIyYjljNzViMmIu Ljc3MWVlZmI3YzdlZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBAIC00Mzg2LDcg KzQzODYsNyBAQCBzdGF0aWMgdm9pZCBnZW42X3NldF9ycHMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdTggdmFsKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgCj4gIAkvKiBXYUdzdkRpc2FibGVUdXJibzogV29ya2Fyb3VuZCB0byBk aXNhYmxlIHR1cmJvIG9uIEJYVCBBKiAqLwo+IC0JaWYgKElTX0JST1hUT04oZGV2KSAmJiAoSU5U RUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkpCj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpICYm IChJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpCj4gIAkJcmV0dXJuOwo+ICAKPiAg CVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZGV2X3ByaXYtPnJwcy5od19sb2NrKSk7Cj4gQEAg LTQ3MTAsNyArNDcxMCw3IEBAIHN0YXRpYyB2b2lkIGdlbjlfZW5hYmxlX3JwcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAJZ2VuNl9pbml0X3Jwc19mcmVxdWVuY2llcyhkZXYpOwo+ICAKPiAg CS8qIFdhR3N2RGlzYWJsZVR1cmJvOiBXb3JrYXJvdW5kIHRvIGRpc2FibGUgdHVyYm8gb24gQlhU IEEqICovCj4gLQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDwgQlhU X1JFVklEX0IwKSkgewo+ICsJaWYgKElTX0JST1hUT04oZGV2KSAmJiAoSU5URUxfUkVWSUQoZGV2 KSA8PSBCWFRfUkVWSURfQTEpKSB7Cj4gIAkJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZGV2 X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwo+ICAJCXJldHVybjsKPiAgCX0KPiBAQCAtNDc5Niw3ICs0 Nzk2LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9lbmFibGVfcmM2KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAkgKiAzYjogRW5hYmxlIENvYXJzZSBQb3dlciBHYXRpbmcgb25seSB3aGVuIFJDNiBp cyBlbmFibGVkLgo+ICAJICogV2FSc0Rpc2FibGVDb2Fyc2VQb3dlckdhdGluZzpza2wsYnh0IC0g UmVuZGVyL01lZGlhIFBHIG5lZWQgdG8gYmUgZGlzYWJsZWQgd2l0aCBSQzYuCj4gIAkgKi8KPiAt CWlmICgoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JFVklEX0Iw KSkgfHwKPiArCWlmICgoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDw9IEJY VF9SRVZJRF9BMSkpIHx8Cj4gIAkgICAgKChJU19TS0xfR1QzKGRldikgfHwgSVNfU0tMX0dUNChk ZXYpKSAmJiAoSU5URUxfUkVWSUQoZGV2KSA8PSBTS0xfUkVWSURfRTApKSkKPiAgCQlJOTE1X1dS SVRFKEdFTjlfUEdfRU5BQkxFLCAwKTsKPiAgCWVsc2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggYTQ5MjcwNTI1YTM4Li5kNjc2NTEyYWEzYzggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTkyNiwxNCArOTI2 LDE0IEBAIHN0YXRpYyBpbnQgZ2VuOV9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCj4gIAo+ICAJaWYgKChJU19TS1lMQUtFKGRldikgJiYgKElOVEVMX1JFVklE KGRldikgPT0gU0tMX1JFVklEX0EwIHx8Cj4gIAkgICAgSU5URUxfUkVWSUQoZGV2KSA9PSBTS0xf UkVWSURfQjApKSB8fAo+IC0JICAgIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2 KSA8IEJYVF9SRVZJRF9CMCkpIHsKPiArCSAgICAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JF VklEKGRldikgPD0gQlhUX1JFVklEX0ExKSkgewo+ICAJCS8qIFdhRGlzYWJsZURnTWlycm9yRml4 SW5IYWxmU2xpY2VDaGlja2VuNTpza2wsYnh0ICovCj4gIAkJV0FfQ0xSX0JJVF9NQVNLRUQoR0VO OV9IQUxGX1NMSUNFX0NISUNLRU41LAo+ICAJCQkJICBHRU45X0RHX01JUlJPUl9GSVhfRU5BQkxF KTsKPiAgCX0KPiAgCj4gIAlpZiAoKElTX1NLWUxBS0UoZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYp IDw9IFNLTF9SRVZJRF9CMCkgfHwKPiAtCSAgICAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JF VklEKGRldikgPCBCWFRfUkVWSURfQjApKSB7Cj4gKwkgICAgKElTX0JST1hUT04oZGV2KSAmJiBJ TlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpIHsKPiAgCQkvKiBXYVNldERpc2FibGVQ aXhNYXNrQ2FtbWluZ0FuZFJod29JbkNvbW1vblNsaWNlQ2hpY2tlbjpza2wsYnh0ICovCj4gIAkJ V0FfU0VUX0JJVF9NQVNLRUQoR0VON19DT01NT05fU0xJQ0VfQ0hJQ0tFTjEsCj4gIAkJCQkgIEdF TjlfUkhXT19PUFRJTUlaQVRJT05fRElTQUJMRSk7Cj4gQEAgLTk2Miw3ICs5NjIsNyBAQCBzdGF0 aWMgaW50IGdlbjlfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n KQo+ICAKPiAgCS8qIFdhRGlzYWJsZU1hc2tCYXNlZENhbW1pbmdJblJDQzpza2wsYnh0ICovCj4g IAlpZiAoKElTX1NLWUxBS0UoZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpID09IFNLTF9SRVZJRF9D MCkgfHwKPiAtCSAgICAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRldikgPCBCWFRf UkVWSURfQjApKQo+ICsJICAgIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8 PSBCWFRfUkVWSURfQTEpKQo+ICAJCVdBX1NFVF9CSVRfTUFTS0VEKFNMSUNFX0VDT19DSElDS0VO MCwKPiAgCQkJCSAgUElYRUxfTUFTS19DQU1NSU5HX0RJU0FCTEUpOwo+ICAKPiAtLSAKPiAyLjEu NAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK