From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC 3/8] drm/i915/gen10: Prefer gen number than platform codename. Date: Fri, 19 Oct 2018 13:37:45 +0300 Message-ID: <20181019103745.GT9144@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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 585186E343 for ; Fri, 19 Oct 2018 10:37:49 +0000 (UTC) Content-Disposition: inline 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: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org, lucas.demarchi@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMDQ6MzQ6NDJQTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IFdoZW5ldmVyIHBvc3NpYmxlIGxldCdzIG1vdmUgdG93YXJkcyBwcmVmZXJyaW5nIGdl biBudW1iZXIKPiBhbmQgb3IgZmVhdHVyZXMgaW5zdGVhZCBvZiBoYXJkIGNvZGluZyBwbGF0Zm9y bSBjb2RlbmFtZQo+IGV2ZXJ5d2hlcmUuCgpOb3QgYSBiaWcgZmFuIG9mIHRoaXMgaWRlYS4gVGhl IGdlbiBudW1iZXJzIGFyZSBzaW1wbHkKY29uZnVzaW5nIHdoZW4gdGFsa2luZyBhYm91dCB0aGUg ZGlzcGxheS4KCj4gCj4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jICAgICAgfCAg NiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgMjAg KysrKysrKysrKy0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5j ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMgICAgICAgfCAg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAgOCArKysrLS0tLQo+ ICA4IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDk5ZTQyZGY3OWVkOC4uZDE5YjM4ZWYxNDVi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI2MjAsNyArMjYyMCw3IEBAIGlu dGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAg LyogV2FSc0Rpc2FibGVDb2Fyc2VQb3dlckdhdGluZzpza2wsY25sICovCj4gICNkZWZpbmUgTkVF RFNfV2FSc0Rpc2FibGVDb2Fyc2VQb3dlckdhdGluZyhkZXZfcHJpdikgXAo+IC0JKElTX0NBTk5P TkxBS0UoZGV2X3ByaXYpIHx8IFwKPiArCShJU19HRU4xMChkZXZfcHJpdikgfHwgXAo+ICAJIElT X1NLTF9HVDMoZGV2X3ByaXYpIHx8IElTX1NLTF9HVDQoZGV2X3ByaXYpKQo+ICAKPiAgI2RlZmlu ZSBIQVNfR01CVVNfSVJRKGRldl9wcml2KSAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA0KQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IGluZGV4IDI5MDc1Yzc2MzQyOC4uNGFhNjUwMDYw NGNjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gQEAgLTI1NzcsNyArMjU3 Nyw3IEBAIHZvaWQgaW50ZWxfdXBkYXRlX21heF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIAkJCWRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSA9IDY0ODAwMDsKPiAg CQllbHNlCj4gIAkJCWRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSA9IDY1MjgwMDsKPiAtCX0gZWxz ZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSVNfR0VOMTAo ZGV2X3ByaXYpKSB7Cj4gIAkJZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxID0gNTI4MDAwOwo+ICAJ fSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkgewo+ICAJCXUzMiBsaW1pdCA9IEk5MTVf UkVBRChTS0xfREZTTSkgJiBTS0xfREZTTV9DRENMS19MSU1JVF9NQVNLOwo+IEBAIC0yNzk3LDcg KzI3OTcsNyBAQCB2b2lkIGludGVsX2luaXRfY2RjbGtfaG9va3Moc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IHNrbF9z ZXRfY2RjbGs7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAg CQkJc2tsX21vZGVzZXRfY2FsY19jZGNsazsKPiAtCX0gZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKSB7Cj4gIAkJZGV2 X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrID0gY25sX3NldF9jZGNsazsKPiAgCQlkZXZfcHJpdi0+ ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQo+ICAJCQljbmxfbW9kZXNldF9jYWxjX2NkY2xr Owo+IEBAIC0yODA4LDcgKzI4MDgsNyBAQCB2b2lkIGludGVsX2luaXRfY2RjbGtfaG9va3Moc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgCWlmIChJU19JQ0VMQUtFKGRl dl9wcml2KSkKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBpY2xfZ2V0X2NkY2xr Owo+IC0JZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gKwllbHNlIGlmIChJU19H RU4xMChkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gY25sX2dl dF9jZGNsazsKPiAgCWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKQo+ICAJCWRldl9wcml2 LT5kaXNwbGF5LmdldF9jZGNsayA9IHNrbF9nZXRfY2RjbGs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKPiBpbmRleCA2Yjk3NDJiYWE1ZjIuLmNkNjI3ODUxZjJhNSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCj4gQEAgLTkyMiw3ICs5MjIsNyBAQCBzdGF0aWMgaW50IGludGVsX2Rk aV9oZG1pX2xldmVsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0 IHBvcgo+ICAJCWVsc2UKPiAgCQkJbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfbWdfcGh5X2Rk aV90cmFuc2xhdGlvbnMpOwo+ICAJCWRlZmF1bHRfZW50cnkgPSBuX2VudHJpZXMgLSAxOwo+IC0J fSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewo+ICsJfSBlbHNlIGlmIChJU19H RU4xMChkZXZfcHJpdikpIHsKPiAgCQljbmxfZ2V0X2J1Zl90cmFuc19oZG1pKGRldl9wcml2LCAm bl9lbnRyaWVzKTsKPiAgCQlkZWZhdWx0X2VudHJ5ID0gbl9lbnRyaWVzIC0gMTsKPiAgCX0gZWxz ZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpIHsKPiBAQCAtMTc0Myw3ICsxNzQzLDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfZGRpX2Nsb2NrX2dldChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiAgCQlza2xfZGRpX2Nsb2NrX2dldChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gIAllbHNl IGlmIChJU19HRU45X0xQKGRldl9wcml2KSkKPiAgCQlieHRfZGRpX2Nsb2NrX2dldChlbmNvZGVy LCBwaXBlX2NvbmZpZyk7Cj4gLQllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiAr CWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQljbmxfZGRpX2Nsb2NrX2dldChlbmNv ZGVyLCBwaXBlX2NvbmZpZyk7Cj4gIAllbHNlIGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiAg CQlpY2xfZGRpX2Nsb2NrX2dldChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gQEAgLTIyNDcsNyAr MjI0Nyw3IEBAIHU4IGludGVsX2RkaV9kcF92b2x0YWdlX21heChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPiAgCQkJCQkJJm5fZW50cmllcyk7Cj4gIAkJZWxzZQo+ICAJCQluX2VudHJp ZXMgPSBBUlJBWV9TSVpFKGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9ucyk7Cj4gLQl9IGVsc2Ug aWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElTX0dFTjEwKGRl dl9wcml2KSkgewo+ICAJCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCj4g IAkJCWNubF9nZXRfYnVmX3RyYW5zX2VkcChkZXZfcHJpdiwgJm5fZW50cmllcyk7Cj4gIAkJZWxz ZQo+IEBAIC0yNzE5LDcgKzI3MTksNyBAQCB1MzIgYnh0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPiAgCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiAgCQlpY2xf ZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBpbnRlbF9kcC0+bGlua19yYXRlLAo+ICAJCQkJ CWxldmVsLCBlbmNvZGVyLT50eXBlKTsKPiAtCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3By aXYpKQo+ICsJZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCWNubF9kZGlfdnN3aW5n X3NlcXVlbmNlKGVuY29kZXIsIGxldmVsLCBlbmNvZGVyLT50eXBlKTsKPiAgCWVsc2UKPiAgCQli eHRfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4g QEAgLTI4MzcsNyArMjgzNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWlmICghaW50ZWxfcG9ydF9pc19jb21i b3BoeShkZXZfcHJpdiwgcG9ydCkpCj4gIAkJCUk5MTVfV1JJVEUoRERJX0NMS19TRUwocG9ydCks Cj4gIAkJCQkgICBpY2xfcGxsX3RvX2RkaV9wbGxfc2VsKGVuY29kZXIsIGNydGNfc3RhdGUpKTsK PiAtCX0gZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAo SVNfR0VOMTAoZGV2X3ByaXYpKSB7Cj4gIAkJLyogQ29uZmlndXJlIERQQ0xLQV9DRkdDUjAgdG8g bWFwIHRoZSBEUExMIHRvIHRoZSBEREkuICovCj4gIAkJdmFsID0gSTkxNV9SRUFEKERQQ0xLQV9D RkdDUjApOwo+ICAJCXZhbCAmPSB+RFBDTEtBX0NGR0NSMF9ERElfQ0xLX1NFTF9NQVNLKHBvcnQp Owo+IEBAIC0yODc4LDcgKzI4NzgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xrX2Rpc2Fi bGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlpZiAoSVNfSUNFTEFLRShkZXZf cHJpdikpIHsKPiAgCQlpZiAoIWludGVsX3BvcnRfaXNfY29tYm9waHkoZGV2X3ByaXYsIHBvcnQp KQo+ICAJCQlJOTE1X1dSSVRFKERESV9DTEtfU0VMKHBvcnQpLCBERElfQ0xLX1NFTF9OT05FKTsK PiAtCX0gZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAo SVNfR0VOMTAoZGV2X3ByaXYpKSB7Cj4gIAkJSTkxNV9XUklURShEUENMS0FfQ0ZHQ1IwLCBJOTE1 X1JFQUQoRFBDTEtBX0NGR0NSMCkgfAo+ICAJCQkgICBEUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZG KHBvcnQpKTsKPiAgCX0gZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpIHsKPiBAQCAtMjky MCw3ICsyOTIwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4g IAkJaWNsX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgY3J0Y19zdGF0ZS0+cG9ydF9jbG9j aywKPiAgCQkJCQlsZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4gLQllbHNlIGlmIChJU19DQU5OT05M QUtFKGRldl9wcml2KSkKPiArCWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQljbmxf ZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4gIAll bHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkKPiAgCQlieHRfZGRpX3Zzd2luZ19zZXF1ZW5j ZShlbmNvZGVyLCBsZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4gQEAgLTI5NTksNyArMjk1OSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gIAkJaWNsX2RkaV92 c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jaywKPiAgCQkJCQls ZXZlbCwgSU5URUxfT1VUUFVUX0hETUkpOwo+IC0JZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZf cHJpdikpCj4gKwllbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJY25sX2RkaV92c3dp bmdfc2VxdWVuY2UoZW5jb2RlciwgbGV2ZWwsIElOVEVMX09VVFBVVF9IRE1JKTsKPiAgCWVsc2Ug aWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ICAJCWJ4dF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVu Y29kZXIsIGxldmVsLCBJTlRFTF9PVVRQVVRfSERNSSk7Cj4gQEAgLTMzNzMsNyArMzM3Myw3IEBA IHN0YXRpYyBib29sIGludGVsX2RkaV9pc19hdWRpb19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgdm9pZCBpbnRlbF9kZGlfY29tcHV0ZV9taW5fdm9sdGFnZV9s ZXZlbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlpZiAoSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU5NDAwMCkKPiArCWlmIChJU19H RU4xMChkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU5NDAwMCkKPiAgCQlj cnRjX3N0YXRlLT5taW5fdm9sdGFnZV9sZXZlbCA9IDI7Cj4gIAllbHNlIGlmIChJU19JQ0VMQUtF KGRldl9wcml2KSAmJiBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gNTk0MDAwKQo+ICAJCWNydGNf c3RhdGUtPm1pbl92b2x0YWdlX2xldmVsID0gMTsKPiBAQCAtMzc0Miw3ICszNzQyLDcgQEAgc3Rh dGljIGJvb2wgaW50ZWxfZGRpX2FfZm9yY2VfNF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkcG9ydCkKPiAgCSAqICAgICAgICAgICAgIERESV9GIHdoYXQgbWFrZXMgRERJX0UgdXNl bGVzcy4gSG93ZXZlciBmb3IgdGhpcwo+ICAJICogICAgICAgICAgICAgY2FzZSBsZXQncyB0cnVz dCBWQlQgaW5mby4KPiAgCSAqLwo+IC0JaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpICYmCj4g KwlpZiAoSVNfR0VOMTAoZGV2X3ByaXYpICYmCj4gIAkgICAgIWludGVsX2Jpb3NfaXNfcG9ydF9w cmVzZW50KGRldl9wcml2LCBQT1JUX0UpKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZmM3ZTNiMGJkOTVjLi43YjA0Yjg0MzZi NmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTUyNjksNyAr NTI2OSw3IEBAIHN0YXRpYyBib29sIG5lZWRzX252MTJfd2Eoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gIAlpZiAoKElOVEVMX0dFTihk ZXZfcHJpdikgPT0gOSAmJiAhSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHx8Cj4gLQkgICAgSVNf Q0FOTk9OTEFLRShkZXZfcHJpdikpCj4gKwkgICAgSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCXJl dHVybiB0cnVlOwo+ICAKPiAgCXJldHVybiBmYWxzZTsKPiBAQCAtOTQ5OCw3ICs5NDk4LDcgQEAg c3RhdGljIHZvaWQgaGFzd2VsbF9nZXRfZGRpX3BvcnRfc3RhdGUoc3RydWN0IGludGVsX2NydGMg KmNydGMsCj4gIAo+ICAJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKQo+ICAJCWljZWxha2VfZ2V0 X2RkaV9wbGwoZGV2X3ByaXYsIHBvcnQsIHBpcGVfY29uZmlnKTsKPiAtCWVsc2UgaWYgKElTX0NB Tk5PTkxBS0UoZGV2X3ByaXYpKQo+ICsJZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJ CWNhbm5vbmxha2VfZ2V0X2RkaV9wbGwoZGV2X3ByaXYsIHBvcnQsIHBpcGVfY29uZmlnKTsKPiAg CWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKQo+ICAJCXNreWxha2VfZ2V0X2RkaV9wbGwo ZGV2X3ByaXYsIHBvcnQsIHBpcGVfY29uZmlnKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw bGxfbWdyLmMKPiBpbmRleCA3YmRmZjViYTU4YjkuLmFlOTJkYzk3ZDVhYSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+IEBAIC0zMjAyLDcgKzMyMDIsNyBAQCB2b2lk IGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIAlp ZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gIAkJZHBsbF9tZ3IgPSAmaWNsX3BsbF9tZ3I7Cj4g LQllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiArCWVsc2UgaWYgKElTX0dFTjEw KGRldl9wcml2KSkKPiAgCQlkcGxsX21nciA9ICZjbmxfcGxsX21ncjsKPiAgCWVsc2UgaWYgKElT X0dFTjlfQkMoZGV2X3ByaXYpKQo+ICAJCWRwbGxfbWdyID0gJnNrbF9wbGxfbWdyOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9tb2NzLmMKPiBpbmRleCA3N2U5ODcxYThjOWEuLjY2MmViMDg3YmIyZSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMKPiBAQCAtMTc4LDcgKzE3OCw3IEBAIHN0 YXRpYyBib29sIGdldF9tb2NzX3NldHRpbmdzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiAgewo+ICAJYm9vbCByZXN1bHQgPSBmYWxzZTsKPiAgCj4gLQlpZiAoSVNfR0VOOV9C QyhkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwKPiArCWlmIChJU19HRU45 X0JDKGRldl9wcml2KSB8fCBJU19HRU4xMChkZXZfcHJpdikgfHwKPiAgCSAgICBJU19JQ0VMQUtF KGRldl9wcml2KSkgewo+ICAJCXRhYmxlLT5zaXplICA9IEFSUkFZX1NJWkUoc2t5bGFrZV9tb2Nz X3RhYmxlKTsKPiAgCQl0YWJsZS0+dGFibGUgPSBza3lsYWtlX21vY3NfdGFibGU7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggNjdhNGQwNzM1MjkxLi43MjM0YjIyNzI0ODEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtMzYxMyw3ICszNjEzLDcgQEAgc3RhdGljIGJv b2wKPiAgaW50ZWxfaGFzX3NhZ3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICB7Cj4gIAlpZiAoSVNfS0FCWUxBS0UoZGV2X3ByaXYpIHx8IElTX0NPRkZFRUxBS0UoZGV2X3By aXYpIHx8Cj4gLQkgICAgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNfSUNFTEFLRShkZXZf cHJpdikpCj4gKwkgICAgSVNfR0VOMTAoZGV2X3ByaXYpIHx8IElTX0lDRUxBS0UoZGV2X3ByaXYp KQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAgCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSAmJgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCA4MGUxNGJlMTEy NzkuLjYzZjBiMWMwYmY3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMKPiBAQCAtMzg3LDcgKzM4Nyw3IEBAIHN0YXRpYyB2b2lkIGhzd19wb3dlcl93ZWxsX2Vu YWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAloc3dfd2FpdF9mb3Jf cG93ZXJfd2VsbF9lbmFibGUoZGV2X3ByaXYsIHBvd2VyX3dlbGwpOwo+ICAKPiAgCS8qIERpc3Bs YXkgV0EgIzExNzg6IGNubCAqLwo+IC0JaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpICYmCj4g KwlpZiAoSVNfR0VOMTAoZGV2X3ByaXYpICYmCj4gIAkgICAgcHdfaWR4ID49IEdMS19QV19DVExf SURYX0FVWF9CICYmCj4gIAkgICAgcHdfaWR4IDw9IENOTF9QV19DVExfSURYX0FVWF9GKSB7Cj4g IAkJdmFsID0gSTkxNV9SRUFEKENOTF9BVVhfQU5BT1ZSRDEocHdfaWR4KSk7Cj4gQEAgLTMwOTAs NyArMzA5MCw3IEBAIGludCBpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCWVyciA9IHNldF9wb3dlcl93ZWxscyhwb3dlcl9kb21h aW5zLCBiZHdfcG93ZXJfd2VsbHMpOwo+ICAJfSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2 KSkgewo+ICAJCWVyciA9IHNldF9wb3dlcl93ZWxscyhwb3dlcl9kb21haW5zLCBza2xfcG93ZXJf d2VsbHMpOwo+IC0JfSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewo+ICsJfSBl bHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpIHsKPiAgCQllcnIgPSBzZXRfcG93ZXJfd2VsbHMo cG93ZXJfZG9tYWlucywgY25sX3Bvd2VyX3dlbGxzKTsKPiAgCj4gIAkJLyoKPiBAQCAtMzc2OSw3 ICszNzY5LDcgQEAgdm9pZCBpbnRlbF9wb3dlcl9kb21haW5zX2luaXRfaHcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHJlc3VtZSkKPiAgCj4gIAlpZiAoSVNfSUNFTEFL RShkZXZfcHJpdikpIHsKPiAgCQlpY2xfZGlzcGxheV9jb3JlX2luaXQoZGV2X3ByaXYsIHJlc3Vt ZSk7Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2Ug aWYgKElTX0dFTjEwKGRldl9wcml2KSkgewo+ICAJCWNubF9kaXNwbGF5X2NvcmVfaW5pdChkZXZf cHJpdiwgcmVzdW1lKTsKPiAgCX0gZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpIHsKPiAg CQlza2xfZGlzcGxheV9jb3JlX2luaXQoZGV2X3ByaXYsIHJlc3VtZSk7Cj4gQEAgLTM5MDAsNyAr MzkwMCw3IEBAIHZvaWQgaW50ZWxfcG93ZXJfZG9tYWluc19zdXNwZW5kKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gIAlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4g IAkJaWNsX2Rpc3BsYXlfY29yZV91bmluaXQoZGV2X3ByaXYpOwo+IC0JZWxzZSBpZiAoSVNfQ0FO Tk9OTEFLRShkZXZfcHJpdikpCj4gKwllbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJ Y25sX2Rpc3BsYXlfY29yZV91bmluaXQoZGV2X3ByaXYpOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9C QyhkZXZfcHJpdikpCj4gIAkJc2tsX2Rpc3BsYXlfY29yZV91bmluaXQoZGV2X3ByaXYpOwo+IC0t IAo+IDIuMTkuMQoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK