From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 3/8] drm/i915/gen10: Prefer gen number than platform codename. Date: Fri, 19 Oct 2018 10:48:57 +0300 Message-ID: <87tvligyvq.fsf@intel.com> References: <20181018233447.5187-1-rodrigo.vivi@intel.com> <20181018233447.5187-4-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C3558955D for ; Fri, 19 Oct 2018 07:49:18 +0000 (UTC) In-Reply-To: <20181018233447.5187-4-rodrigo.vivi@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 Cc: lucas.demarchi@intel.com, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAxOCBPY3QgMjAxOCwgUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t PiB3cm90ZToKPiBXaGVuZXZlciBwb3NzaWJsZSBsZXQncyBtb3ZlIHRvd2FyZHMgcHJlZmVycmlu ZyBnZW4gbnVtYmVyCj4gYW5kIG9yIGZlYXR1cmVzIGluc3RlYWQgb2YgaGFyZCBjb2RpbmcgcGxh dGZvcm0gY29kZW5hbWUKPiBldmVyeXdoZXJlLgoKUmF0aW9uYWxlIG1pc3NpbmcuCgpCdXQgZm9y IGdlbSwgYWdyZWVkLCBpdCBsYXJnZWx5IG1ha2VzIHNlbnNlLiBGb3IgZGlzcGxheSwgSSdtIG5v dCBzdXJlCmlmIHRoaXMgaXMgYSBnb29kIGlkZWEuIENvbnNpZGVyIHRoZSBsaWtlcyBvZiBHZW1p bmlsYWtlLiBJdCdzIGdlbiA5LApidXQgbGFyZ2VseSBnZW4gMTAgZGlzcGxheS4gVGhlcmUnbGwg YmUgbW9yZSBzdHVmZiBsaWtlIHRoYXQuCgpOb3cgSSBkb24ndCBrbm93IHdoYXQgdGhlIGFuc3dl ciBzaG91bGQgYmUuIEJ1dCB5b3UgbmVlZCB0byBjb25zaWRlciB0aGUKY29uZGl0aW9ucyBsaWtl CgoJaWYgKElTX0NBTk5PTkxBS0UoKSB8fCBJU19HRU1JTklMQUtFKCkpCgphbmQKCiAgICAgICAg aWYgKElOVEVMX0dFTigpID09IDkgJiYgIUlTX0dFTUlOSUxBS0UoKSkKCmFuZCBmaWd1cmUgb3V0 IGhvdyB0byBkbyB0aGF0IGluIGEgc2Vuc2libGUgd2F5IGZvciBkaXNwbGF5LiBKdXN0CmNoYW5n aW5nIHN0dWZmIGZyb20gcGxhdGZvcm1zIHRvIGdlbiBudW1iZXJzIGlzbid0IGhlbHBmdWwgZm9y IHRoZQpodW1hbnMgcmVhZGluZyB0aGUgY29kZS4KCkJSLApKYW5pLgoKCj4KPiBTaWduZWQtb2Zm LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICAgICB8ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgfCAgNCArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX21vY3MuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3J1bnRpbWVfcG0uYyB8ICA4ICsrKystLS0tCj4gIDggZmlsZXMgY2hhbmdlZCwgMjMgaW5z ZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBp bmRleCA5OWU0MmRmNzllZDguLmQxOWIzOGVmMTQ1YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IEBAIC0yNjIwLDcgKzI2MjAsNyBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIC8qIFdhUnNEaXNhYmxlQ29hcnNlUG93ZXJH YXRpbmc6c2tsLGNubCAqLwo+ICAjZGVmaW5lIE5FRURTX1dhUnNEaXNhYmxlQ29hcnNlUG93ZXJH YXRpbmcoZGV2X3ByaXYpIFwKPiAtCShJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBcCj4gKwko SVNfR0VOMTAoZGV2X3ByaXYpIHx8IFwKPiAgCSBJU19TS0xfR1QzKGRldl9wcml2KSB8fCBJU19T S0xfR1Q0KGRldl9wcml2KSkKPiAgCj4gICNkZWZpbmUgSEFTX0dNQlVTX0lSUShkZXZfcHJpdikg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gNCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMK PiBpbmRleCAyOTA3NWM3NjM0MjguLjRhYTY1MDA2MDRjYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY2RjbGsuYwo+IEBAIC0yNTc3LDcgKzI1NzcsNyBAQCB2b2lkIGludGVsX3VwZGF0ZV9t YXhfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCQlkZXZfcHJp di0+bWF4X2NkY2xrX2ZyZXEgPSA2NDgwMDA7Cj4gIAkJZWxzZQo+ICAJCQlkZXZfcHJpdi0+bWF4 X2NkY2xrX2ZyZXEgPSA2NTI4MDA7Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3By aXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkgewo+ICAJCWRldl9wcml2 LT5tYXhfY2RjbGtfZnJlcSA9IDUyODAwMDsKPiAgCX0gZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZf cHJpdikpIHsKPiAgCQl1MzIgbGltaXQgPSBJOTE1X1JFQUQoU0tMX0RGU00pICYgU0tMX0RGU01f Q0RDTEtfTElNSVRfTUFTSzsKPiBAQCAtMjc5Nyw3ICsyNzk3LDcgQEAgdm9pZCBpbnRlbF9pbml0 X2NkY2xrX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQlkZXZf cHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSBza2xfc2V0X2NkY2xrOwo+ICAJCWRldl9wcml2LT5k aXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4gIAkJCXNrbF9tb2Rlc2V0X2NhbGNfY2RjbGs7 Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2UgaWYg KElTX0dFTjEwKGRldl9wcml2KSkgewo+ICAJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9 IGNubF9zZXRfY2RjbGs7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xr ID0KPiAgCQkJY25sX21vZGVzZXRfY2FsY19jZGNsazsKPiBAQCAtMjgwOCw3ICsyODA4LDcgQEAg dm9pZCBpbnRlbF9pbml0X2NkY2xrX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgCj4gIAlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPmRp c3BsYXkuZ2V0X2NkY2xrID0gaWNsX2dldF9jZGNsazsKPiAtCWVsc2UgaWYgKElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpKQo+ICsJZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCWRldl9w cml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGNubF9nZXRfY2RjbGs7Cj4gIAllbHNlIGlmIChJU19H RU45X0JDKGRldl9wcml2KSkKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBza2xf Z2V0X2NkY2xrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggNmI5NzQyYmFhNWYy Li5jZDYyNzg1MWYyYTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBAIC05MjIs NyArOTIyLDcgQEAgc3RhdGljIGludCBpbnRlbF9kZGlfaGRtaV9sZXZlbChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3IKPiAgCQllbHNlCj4gIAkJCW5fZW50 cmllcyA9IEFSUkFZX1NJWkUoaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zKTsKPiAgCQlkZWZh dWx0X2VudHJ5ID0gbl9lbnRyaWVzIC0gMTsKPiAtCX0gZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKSB7Cj4gIAkJY25s X2dldF9idWZfdHJhbnNfaGRtaShkZXZfcHJpdiwgJm5fZW50cmllcyk7Cj4gIAkJZGVmYXVsdF9l bnRyeSA9IG5fZW50cmllcyAtIDE7Cj4gIAl9IGVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYp KSB7Cj4gQEAgLTE3NDMsNyArMTc0Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9jbG9ja19n ZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJc2tsX2RkaV9jbG9ja19nZXQo ZW5jb2RlciwgcGlwZV9jb25maWcpOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikp Cj4gIAkJYnh0X2RkaV9jbG9ja19nZXQoZW5jb2RlciwgcGlwZV9jb25maWcpOwo+IC0JZWxzZSBp ZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gKwllbHNlIGlmIChJU19HRU4xMChkZXZfcHJp dikpCj4gIAkJY25sX2RkaV9jbG9ja19nZXQoZW5jb2RlciwgcGlwZV9jb25maWcpOwo+ICAJZWxz ZSBpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gIAkJaWNsX2RkaV9jbG9ja19nZXQoZW5jb2Rl ciwgcGlwZV9jb25maWcpOwo+IEBAIC0yMjQ3LDcgKzIyNDcsNyBAQCB1OCBpbnRlbF9kZGlfZHBf dm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAkJCQkJCSZuX2Vu dHJpZXMpOwo+ICAJCWVsc2UKPiAgCQkJbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfbWdfcGh5 X2RkaV90cmFuc2xhdGlvbnMpOwo+IC0JfSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2 KSkgewo+ICsJfSBlbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpIHsKPiAgCQlpZiAoZW5jb2Rl ci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKQo+ICAJCQljbmxfZ2V0X2J1Zl90cmFuc19lZHAo ZGV2X3ByaXYsICZuX2VudHJpZXMpOwo+ICAJCWVsc2UKPiBAQCAtMjcxOSw3ICsyNzE5LDcgQEAg dTMyIGJ4dF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlpZiAo SVNfSUNFTEFLRShkZXZfcHJpdikpCj4gIAkJaWNsX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2Rl ciwgaW50ZWxfZHAtPmxpbmtfcmF0ZSwKPiAgCQkJCQlsZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4g LQllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiArCWVsc2UgaWYgKElTX0dFTjEw KGRldl9wcml2KSkKPiAgCQljbmxfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwg ZW5jb2Rlci0+dHlwZSk7Cj4gIAllbHNlCj4gIAkJYnh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZW5j b2RlciwgbGV2ZWwsIGVuY29kZXItPnR5cGUpOwo+IEBAIC0yODM3LDcgKzI4MzcsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfY2xrX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiAgCQlpZiAoIWludGVsX3BvcnRfaXNfY29tYm9waHkoZGV2X3ByaXYsIHBvcnQpKQo+ICAJ CQlJOTE1X1dSSVRFKERESV9DTEtfU0VMKHBvcnQpLAo+ICAJCQkJICAgaWNsX3BsbF90b19kZGlf cGxsX3NlbChlbmNvZGVyLCBjcnRjX3N0YXRlKSk7Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkgewo+ICAJ CS8qIENvbmZpZ3VyZSBEUENMS0FfQ0ZHQ1IwIHRvIG1hcCB0aGUgRFBMTCB0byB0aGUgRERJLiAq Lwo+ICAJCXZhbCA9IEk5MTVfUkVBRChEUENMS0FfQ0ZHQ1IwKTsKPiAgCQl2YWwgJj0gfkRQQ0xL QV9DRkdDUjBfRERJX0NMS19TRUxfTUFTSyhwb3J0KTsKPiBAQCAtMjg3OCw3ICsyODc4LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGRpX2Nsa19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQo+ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7Cj4gIAkJaWYgKCFpbnRlbF9w b3J0X2lzX2NvbWJvcGh5KGRldl9wcml2LCBwb3J0KSkKPiAgCQkJSTkxNV9XUklURShERElfQ0xL X1NFTChwb3J0KSwgRERJX0NMS19TRUxfTk9ORSk7Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkgewo+ICAJ CUk5MTVfV1JJVEUoRFBDTEtBX0NGR0NSMCwgSTkxNV9SRUFEKERQQ0xLQV9DRkdDUjApIHwKPiAg CQkJICAgRFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwb3J0KSk7Cj4gIAl9IGVsc2UgaWYgKElT X0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gQEAgLTI5MjAsNyArMjkyMCw3IEBAIHN0YXRpYyB2b2lk IGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKQo+ICAJCWljbF9kZGlfdnN3aW5nX3NlcXVlbmNl KGVuY29kZXIsIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCj4gIAkJCQkJbGV2ZWwsIGVuY29kZXIt PnR5cGUpOwo+IC0JZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gKwllbHNlIGlm IChJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJY25sX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2Rl ciwgbGV2ZWwsIGVuY29kZXItPnR5cGUpOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJp dikpCj4gIAkJYnh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgbGV2ZWwsIGVuY29kZXIt PnR5cGUpOwo+IEBAIC0yOTU5LDcgKzI5NTksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJl X2VuYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKElTX0lD RUxBS0UoZGV2X3ByaXYpKQo+ICAJCWljbF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVuY29kZXIsIGNy dGNfc3RhdGUtPnBvcnRfY2xvY2ssCj4gIAkJCQkJbGV2ZWwsIElOVEVMX09VVFBVVF9IRE1JKTsK PiAtCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKQo+ICsJZWxzZSBpZiAoSVNfR0VO MTAoZGV2X3ByaXYpKQo+ICAJCWNubF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVuY29kZXIsIGxldmVs LCBJTlRFTF9PVVRQVVRfSERNSSk7Cj4gIAllbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkK PiAgCQlieHRfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwgSU5URUxfT1VUUFVU X0hETUkpOwo+IEBAIC0zMzczLDcgKzMzNzMsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfaXNf YXVkaW9fZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHZvaWQg aW50ZWxfZGRpX2NvbXB1dGVfbWluX3ZvbHRhZ2VfbGV2ZWwoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiAgewo+IC0JaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPnBv cnRfY2xvY2sgPiA1OTQwMDApCj4gKwlpZiAoSVNfR0VOMTAoZGV2X3ByaXYpICYmIGNydGNfc3Rh dGUtPnBvcnRfY2xvY2sgPiA1OTQwMDApCj4gIAkJY3J0Y19zdGF0ZS0+bWluX3ZvbHRhZ2VfbGV2 ZWwgPSAyOwo+ICAJZWxzZSBpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+ cG9ydF9jbG9jayA+IDU5NDAwMCkKPiAgCQljcnRjX3N0YXRlLT5taW5fdm9sdGFnZV9sZXZlbCA9 IDE7Cj4gQEAgLTM3NDIsNyArMzc0Miw3IEBAIHN0YXRpYyBib29sIGludGVsX2RkaV9hX2ZvcmNl XzRfbGFuZXMoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQpCj4gIAkgKiAgICAgICAg ICAgICBERElfRiB3aGF0IG1ha2VzIERESV9FIHVzZWxlc3MuIEhvd2V2ZXIgZm9yIHRoaXMKPiAg CSAqICAgICAgICAgICAgIGNhc2UgbGV0J3MgdHJ1c3QgVkJUIGluZm8uCj4gIAkgKi8KPiAtCWlm IChJU19DQU5OT05MQUtFKGRldl9wcml2KSAmJgo+ICsJaWYgKElTX0dFTjEwKGRldl9wcml2KSAm Jgo+ICAJICAgICFpbnRlbF9iaW9zX2lzX3BvcnRfcHJlc2VudChkZXZfcHJpdiwgUE9SVF9FKSkK PiAgCQlyZXR1cm4gdHJ1ZTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ IGluZGV4IGZjN2UzYjBiZDk1Yy4uN2IwNGI4NDM2YjZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC01MjY5LDcgKzUyNjksNyBAQCBzdGF0aWMgYm9vbCBuZWVk c19udjEyX3dhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlyZXR1cm4g ZmFsc2U7Cj4gIAo+ICAJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDkgJiYgIUlTX0dFTUlO SUxBS0UoZGV2X3ByaXYpKSB8fAo+IC0JICAgIElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKQo+ICsJ ICAgIElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQlyZXR1cm4gdHJ1ZTsKPiAgCj4gIAlyZXR1cm4g ZmFsc2U7Cj4gQEAgLTk0OTgsNyArOTQ5OCw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfZ2V0X2Rk aV9wb3J0X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAKPiAgCWlmIChJU19JQ0VM QUtFKGRldl9wcml2KSkKPiAgCQlpY2VsYWtlX2dldF9kZGlfcGxsKGRldl9wcml2LCBwb3J0LCBw aXBlX2NvbmZpZyk7Cj4gLQllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiArCWVs c2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQljYW5ub25sYWtlX2dldF9kZGlfcGxsKGRl dl9wcml2LCBwb3J0LCBwaXBlX2NvbmZpZyk7Cj4gIAllbHNlIGlmIChJU19HRU45X0JDKGRldl9w cml2KSkKPiAgCQlza3lsYWtlX2dldF9kZGlfcGxsKGRldl9wcml2LCBwb3J0LCBwaXBlX2NvbmZp Zyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gaW5kZXggN2JkZmY1YmE1 OGI5Li5hZTkyZGM5N2Q1YWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBsbF9tZ3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdy LmMKPiBAQCAtMzIwMiw3ICszMjAyLDcgQEAgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKQo+ ICAJCWRwbGxfbWdyID0gJmljbF9wbGxfbWdyOwo+IC0JZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikpCj4gKwllbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJZHBsbF9tZ3Ig PSAmY25sX3BsbF9tZ3I7Cj4gIAllbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkKPiAgCQlk cGxsX21nciA9ICZza2xfcGxsX21ncjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbW9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4gaW5k ZXggNzdlOTg3MWE4YzlhLi42NjJlYjA4N2JiMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9jcy5jCj4gQEAgLTE3OCw3ICsxNzgsNyBAQCBzdGF0aWMgYm9vbCBnZXRfbW9jc19zZXR0aW5n cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHsKPiAgCWJvb2wgcmVzdWx0 ID0gZmFsc2U7Cj4gIAo+IC0JaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8IElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpIHx8Cj4gKwlpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikgfHwgSVNfR0VOMTAo ZGV2X3ByaXYpIHx8Cj4gIAkgICAgSVNfSUNFTEFLRShkZXZfcHJpdikpIHsKPiAgCQl0YWJsZS0+ c2l6ZSAgPSBBUlJBWV9TSVpFKHNreWxha2VfbW9jc190YWJsZSk7Cj4gIAkJdGFibGUtPnRhYmxl ID0gc2t5bGFrZV9tb2NzX3RhYmxlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDY3 YTRkMDczNTI5MS4uNzIzNGIyMjcyNDgxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4g QEAgLTM2MTMsNyArMzYxMyw3IEBAIHN0YXRpYyBib29sCj4gIGludGVsX2hhc19zYWd2KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+ICAJaWYgKElTX0tBQllMQUtFKGRl dl9wcml2KSB8fCBJU19DT0ZGRUVMQUtFKGRldl9wcml2KSB8fAo+IC0JICAgIElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpIHx8IElTX0lDRUxBS0UoZGV2X3ByaXYpKQo+ICsJICAgIElTX0dFTjEwKGRl dl9wcml2KSB8fCBJU19JQ0VMQUtFKGRldl9wcml2KSkKPiAgCQlyZXR1cm4gdHJ1ZTsKPiAgCj4g IAlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgJiYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cnVudGltZV9wbS5jCj4gaW5kZXggODBlMTRiZTExMjc5Li42M2YwYjFjMGJmNzcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTM4Nyw3ICszODcsNyBA QCBzdGF0aWMgdm9pZCBoc3dfcG93ZXJfd2VsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJaHN3X3dhaXRfZm9yX3Bvd2VyX3dlbGxfZW5hYmxlKGRldl9wcml2 LCBwb3dlcl93ZWxsKTsKPiAgCj4gIAkvKiBEaXNwbGF5IFdBICMxMTc4OiBjbmwgKi8KPiAtCWlm IChJU19DQU5OT05MQUtFKGRldl9wcml2KSAmJgo+ICsJaWYgKElTX0dFTjEwKGRldl9wcml2KSAm Jgo+ICAJICAgIHB3X2lkeCA+PSBHTEtfUFdfQ1RMX0lEWF9BVVhfQiAmJgo+ICAJICAgIHB3X2lk eCA8PSBDTkxfUFdfQ1RMX0lEWF9BVVhfRikgewo+ICAJCXZhbCA9IEk5MTVfUkVBRChDTkxfQVVY X0FOQU9WUkQxKHB3X2lkeCkpOwo+IEBAIC0zMDkwLDcgKzMwOTAsNyBAQCBpbnQgaW50ZWxfcG93 ZXJfZG9tYWluc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQll cnIgPSBzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgYmR3X3Bvd2VyX3dlbGxzKTsKPiAg CX0gZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpIHsKPiAgCQllcnIgPSBzZXRfcG93ZXJf d2VsbHMocG93ZXJfZG9tYWlucywgc2tsX3Bvd2VyX3dlbGxzKTsKPiAtCX0gZWxzZSBpZiAoSVNf Q0FOTk9OTEFLRShkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYp KSB7Cj4gIAkJZXJyID0gc2V0X3Bvd2VyX3dlbGxzKHBvd2VyX2RvbWFpbnMsIGNubF9wb3dlcl93 ZWxscyk7Cj4gIAo+ICAJCS8qCj4gQEAgLTM3NjksNyArMzc2OSw3IEBAIHZvaWQgaW50ZWxfcG93 ZXJfZG9tYWluc19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgYm9v bCByZXN1bWUpCj4gIAo+ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7Cj4gIAkJaWNsX2Rp c3BsYXlfY29yZV9pbml0KGRldl9wcml2LCByZXN1bWUpOwo+IC0JfSBlbHNlIGlmIChJU19DQU5O T05MQUtFKGRldl9wcml2KSkgewo+ICsJfSBlbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpIHsK PiAgCQljbmxfZGlzcGxheV9jb3JlX2luaXQoZGV2X3ByaXYsIHJlc3VtZSk7Cj4gIAl9IGVsc2Ug aWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gIAkJc2tsX2Rpc3BsYXlfY29yZV9pbml0KGRl dl9wcml2LCByZXN1bWUpOwo+IEBAIC0zOTAwLDcgKzM5MDAsNyBAQCB2b2lkIGludGVsX3Bvd2Vy X2RvbWFpbnNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKQo+ICAJCWljbF9kaXNwbGF5X2NvcmVfdW5pbml0 KGRldl9wcml2KTsKPiAtCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKQo+ICsJZWxz ZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCWNubF9kaXNwbGF5X2NvcmVfdW5pbml0KGRl dl9wcml2KTsKPiAgCWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKQo+ICAJCXNrbF9kaXNw bGF5X2NvcmVfdW5pbml0KGRldl9wcml2KTsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBT b3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=