From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 5/8] drm/i915/gen11+: Prefer gen over platform codename. Date: Fri, 19 Oct 2018 11:05:16 +0300 Message-ID: <87o9bqgy4j.fsf@intel.com> References: <20181018233447.5187-1-rodrigo.vivi@intel.com> <20181018233447.5187-6-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2A10B899E7 for ; Fri, 19 Oct 2018 08:05:38 +0000 (UTC) In-Reply-To: <20181018233447.5187-6-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 PiB3cm90ZToKPiBBbHNvIGxldCdzIGFsd2F5cyBjb25zaWRlciBuZXh0IHBsYXRmb3JtIGZvbGxv d3MKPiB0aGUgbW9zdCByZWNlbnQgb25lLiBMaWtlIHdlIGhhdmUgZG9uZSBmb3IgdHJhbnNpdGlv bmluZwo+IGdlbjkgdG8gZ2VuMTAgYW5kIGdlbnQxMCB0byBnZW4xMS4KPgo+IExldCdzIHVzZSBz YW1lIGFwcHJvYWNoIGZvciBnZW4xMSsgYW5kIG9ubHkgaW50cm9kdWNlCj4gY2hhbmdlcyBsYXRl ciBhcyBuZWVkZWQuCgpTYW1lIHdvcnJ5IGFzIHdpdGggR2VtaW5pbGFrZS4gVGhlIGdlbiBpcyBl c3NlbnRpYWxseSB0aGUgZ2VtIGdlbiwgbm90CmRpc3BsYXkgZ2VuLgoKQlIsCkphbmkuCgo+Cj4g U2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jICAgICAgfCAgNiArKystLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgMTggKysrKysrKysr LS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICA4 ICsrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgICB8ICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYyAgICAgICB8ICAzICstLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8ICA2ICsrKy0tLQo+ICA4IGZpbGVzIGNo YW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jZGNsay5jCj4gaW5kZXggYjMxNWI3MGZkNDljLi45MTVlMmM5MzQxMmIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiBAQCAtMjU3Miw3ICsyNTcyLDcgQEAgc3Rh dGljIGludCBpbnRlbF9jb21wdXRlX21heF9kb3RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICAgKi8KPiAgdm9pZCBpbnRlbF91cGRhdGVfbWF4X2NkY2xrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+IC0JaWYgKElTX0lDRUxBS0UoZGV2X3By aXYpKSB7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewo+ICAJCWlmIChkZXZf cHJpdi0+Y2RjbGsuaHcucmVmID09IDI0MDAwKQo+ICAJCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2Zy ZXEgPSA2NDgwMDA7Cj4gIAkJZWxzZQo+IEBAIC0yODAxLDEyICsyODAxLDEyIEBAIHZvaWQgaW50 ZWxfaW5pdF9jZGNsa19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4g IAkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrID0gY25sX3NldF9jZGNsazsKPiAgCQlkZXZf cHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQo+ICAJCQljbmxfbW9kZXNldF9jYWxj X2NkY2xrOwo+IC0JfSBlbHNlIGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkgewo+ICsJfSBlbHNl IGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXku c2V0X2NkY2xrID0gaWNsX3NldF9jZGNsazsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0 X2NhbGNfY2RjbGsgPSBpY2xfbW9kZXNldF9jYWxjX2NkY2xrOwo+ICAJfQo+ICAKPiAtCWlmIChJ U19JQ0VMQUtFKGRldl9wcml2KSkKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ ICAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGljbF9nZXRfY2RjbGs7Cj4gIAllbHNl IGlmIChJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xr ID0gY25sX2dldF9jZGNsazsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IGNkNjI3 ODUxZjJhNS4uMTBiNTMxNGYyNjZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBA QCAtOTE1LDcgKzkxNSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZGRpX2hkbWlfbGV2ZWwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9yCj4gIAo+ICAJbGV2ZWwg PSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9zaGlmdDsKPiAg Cj4gLQlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpIHsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDExKSB7Cj4gIAkJaWYgKGludGVsX3BvcnRfaXNfY29tYm9waHkoZGV2X3ByaXYsIHBv cnQpKQo+ICAJCQlpY2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhkZXZfcHJpdiwgcG9ydCwKPiAgCQkJ CQkJSU5URUxfT1VUUFVUX0hETUksICZuX2VudHJpZXMpOwo+IEBAIC0xNzQ1LDcgKzE3NDUsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJCWJ4dF9kZGlfY2xvY2tfZ2V0KGVuY29kZXIsIHBpcGVfY29uZmlnKTsKPiAg CWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQljbmxfZGRpX2Nsb2NrX2dldChlbmNv ZGVyLCBwaXBlX2NvbmZpZyk7Cj4gLQllbHNlIGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiAr CWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gIAkJaWNsX2RkaV9jbG9ja19n ZXQoZW5jb2RlciwgcGlwZV9jb25maWcpOwo+ICB9Cj4gIAo+IEBAIC0yMjQxLDcgKzIyNDEsNyBA QCB1OCBpbnRlbF9kZGlfZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCj4gIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Cj4gIAlpbnQgbl9lbnRyaWVz Owo+ICAKPiAtCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkgewo+ICsJaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gMTEpIHsKPiAgCQlpZiAoaW50ZWxfcG9ydF9pc19jb21ib3BoeShkZXZfcHJp diwgcG9ydCkpCj4gIAkJCWljbF9nZXRfY29tYm9fYnVmX3RyYW5zKGRldl9wcml2LCBwb3J0LCBl bmNvZGVyLT50eXBlLAo+ICAJCQkJCQkmbl9lbnRyaWVzKTsKPiBAQCAtMjcxNiw3ICsyNzE2LDcg QEAgdTMyIGJ4dF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZkcG9ydC0+YmFzZTsKPiAgCWludCBsZXZl bCA9IGludGVsX2RkaV9kcF9sZXZlbChpbnRlbF9kcCk7Cj4gIAo+IC0JaWYgKElTX0lDRUxBS0Uo ZGV2X3ByaXYpKQo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gIAkJaWNsX2Rk aV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgaW50ZWxfZHAtPmxpbmtfcmF0ZSwKPiAgCQkJCQls ZXZlbCwgZW5jb2Rlci0+dHlwZSk7Cj4gIAllbHNlIGlmIChJU19HRU4xMChkZXZfcHJpdikpCj4g QEAgLTI4MzMsNyArMjgzMyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCW11dGV4X2xvY2soJmRldl9wcml2 LT5kcGxsX2xvY2spOwo+ICAKPiAtCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkgewo+ICsJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpIHsKPiAgCQlpZiAoIWludGVsX3BvcnRfaXNfY29t Ym9waHkoZGV2X3ByaXYsIHBvcnQpKQo+ICAJCQlJOTE1X1dSSVRFKERESV9DTEtfU0VMKHBvcnQp LAo+ICAJCQkJICAgaWNsX3BsbF90b19kZGlfcGxsX3NlbChlbmNvZGVyLCBjcnRjX3N0YXRlKSk7 Cj4gQEAgLTI4NzUsNyArMjg3NSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9jbGtfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJZW51bSBwb3J0 IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+ICAKPiAtCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkg ewo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpIHsKPiAgCQlpZiAoIWludGVsX3Bv cnRfaXNfY29tYm9waHkoZGV2X3ByaXYsIHBvcnQpKQo+ICAJCQlJOTE1X1dSSVRFKERESV9DTEtf U0VMKHBvcnQpLCBERElfQ0xLX1NFTF9OT05FKTsKPiAgCX0gZWxzZSBpZiAoSVNfR0VOMTAoZGV2 X3ByaXYpKSB7Cj4gQEAgLTI5MTcsNyArMjkxNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9w cmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWNsX3Byb2dy YW1fbWdfZHBfbW9kZShpbnRlbF9kcCk7Cj4gIAlpY2xfZGlzYWJsZV9waHlfY2xvY2tfZ2F0aW5n KGRpZ19wb3J0KTsKPiAgCj4gLQlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gKwlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMSkKPiAgCQlpY2xfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNv ZGVyLCBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrLAo+ICAJCQkJCWxldmVsLCBlbmNvZGVyLT50eXBl KTsKPiAgCWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiBAQCAtMjk1Niw3ICsyOTU2LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPiAgCj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwg ZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOwo+ICAKPiAtCWlmIChJU19JQ0VMQUtFKGRl dl9wcml2KSkKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ICAJCWljbF9kZGlf dnN3aW5nX3NlcXVlbmNlKGVuY29kZXIsIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCj4gIAkJCQkJ bGV2ZWwsIElOVEVMX09VVFBVVF9IRE1JKTsKPiAgCWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2 KSkKPiBAQCAtMzM3NSw3ICszMzc1LDcgQEAgdm9pZCBpbnRlbF9kZGlfY29tcHV0ZV9taW5fdm9s dGFnZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHsKPiAgCWlm IChJU19HRU4xMChkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU5NDAwMCkK PiAgCQljcnRjX3N0YXRlLT5taW5fdm9sdGFnZV9sZXZlbCA9IDI7Cj4gLQllbHNlIGlmIChJU19J Q0VMQUtFKGRldl9wcml2KSAmJiBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gNTk0MDAwKQo+ICsJ ZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSAmJiBjcnRjX3N0YXRlLT5wb3J0X2Ns b2NrID4gNTk0MDAwKQo+ICAJCWNydGNfc3RhdGUtPm1pbl92b2x0YWdlX2xldmVsID0gMTsKPiAg fQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggMWFiZjc5YTRl ZTkxLi4wOGQwY2Q4MDJlNDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gQEAgLTU5MzIsNyArNTkzMiw3IEBAIGJvb2wgaW50ZWxfcG9ydF9pc19jb21ib3BoeShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KQo+ICAJaWYgKHBv cnQgPT0gUE9SVF9OT05FKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gLQlpZiAoSVNfSUNFTEFL RShkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKPiAgCQlyZXR1 cm4gcG9ydCA8PSBQT1JUX0I7Cj4gIAo+ICAJcmV0dXJuIGZhbHNlOwo+IEBAIC01OTQwLDcgKzU5 NDAsNyBAQCBib29sIGludGVsX3BvcnRfaXNfY29tYm9waHkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiAgCj4gIGJvb2wgaW50ZWxfcG9ydF9pc190 YyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KQo+ICB7 Cj4gLQlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSAxMSkKPiAgCQlyZXR1cm4gcG9ydCA+PSBQT1JUX0MgJiYgcG9ydCA8PSBQT1JUX0Y7Cj4g IAo+ICAJcmV0dXJuIGZhbHNlOwo+IEBAIC05NDk2LDcgKzk0OTYsNyBAQCBzdGF0aWMgdm9pZCBo YXN3ZWxsX2dldF9kZGlfcG9ydF9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCj4g IAlwb3J0ID0gKHRtcCAmIFRSQU5TX0RESV9QT1JUX01BU0spID4+IFRSQU5TX0RESV9QT1JUX1NI SUZUOwo+ICAKPiAtCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiArCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExKQo+ICAJCWljZWxha2VfZ2V0X2RkaV9wbGwoZGV2X3ByaXYsIHBvcnQs IHBpcGVfY29uZmlnKTsKPiAgCWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQljYW5u b25sYWtlX2dldF9kZGlfcGxsKGRldl9wcml2LCBwb3J0LCBwaXBlX2NvbmZpZyk7Cj4gQEAgLTE0 MDQ5LDcgKzE0MDQ5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlpZiAoaW50ZWxfY3J0X3ByZXNlbnQoZGV2 X3ByaXYpKQo+ICAJCWludGVsX2NydF9pbml0KGRldl9wcml2KTsKPiAgCj4gLQlpZiAoSVNfSUNF TEFLRShkZXZfcHJpdikpIHsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7Cj4g IAkJaW50ZWxfZGRpX2luaXQoZGV2X3ByaXYsIFBPUlRfQSk7Cj4gIAkJaW50ZWxfZGRpX2luaXQo ZGV2X3ByaXYsIFBPUlRfQik7Cj4gIAkJaW50ZWxfZGRpX2luaXQoZGV2X3ByaXYsIFBPUlRfQyk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gaW5kZXggYWU5MmRjOTdkNWFh Li5iMGJhNzc1NzA2YjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBsbF9tZ3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMK PiBAQCAtMzIwMCw3ICszMjAwLDcgQEAgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAljb25zdCBzdHJ1Y3QgZHBsbF9pbmZvICpkcGxsX2luZm87 Cj4gIAlpbnQgaTsKPiAgCj4gLQlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gKwlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMSkKPiAgCQlkcGxsX21nciA9ICZpY2xfcGxsX21ncjsKPiAg CWVsc2UgaWYgKElTX0dFTjEwKGRldl9wcml2KSkKPiAgCQlkcGxsX21nciA9ICZjbmxfcGxsX21n cjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggODlkNWUzOTg0NDUyLi5hYjgz NTM3MGRmMTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTE5MTksNyAr MTkxOSw3IEBAIGludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsIGJvb2wgZm9yY2UpCj4gIAo+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs IFBPV0VSX0RPTUFJTl9HTUJVUyk7Cj4gIAo+IC0JaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpICYm Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSAmJgo+ICAJICAgICFpbnRlbF9kaWdp dGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpKQo+ICAJCWdvdG8gb3V0Owo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbW9jcy5jCj4gaW5kZXggNjYyZWIwODdiYjJlLi5kNzViOWEwYzJiY2MgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4gQEAgLTE3OCw4ICsxNzgsNyBAQCBzdGF0 aWMgYm9vbCBnZXRfbW9jc19zZXR0aW5ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gIHsKPiAgCWJvb2wgcmVzdWx0ID0gZmFsc2U7Cj4gIAo+IC0JaWYgKElTX0dFTjlfQkMo ZGV2X3ByaXYpIHx8IElTX0dFTjEwKGRldl9wcml2KSB8fAo+IC0JICAgIElTX0lDRUxBS0UoZGV2 X3ByaXYpKSB7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU45X0JD KGRldl9wcml2KSkgewo+ICAJCXRhYmxlLT5zaXplICA9IEFSUkFZX1NJWkUoc2t5bGFrZV9tb2Nz X3RhYmxlKTsKPiAgCQl0YWJsZS0+dGFibGUgPSBza3lsYWtlX21vY3NfdGFibGU7Cj4gIAkJcmVz dWx0ID0gdHJ1ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCA3MjM0YjIyNzI0ODEu LmY0YjdmZDEzMjE3MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBAIC0zNjEyLDgg KzM2MTIsOCBAQCBzdGF0aWMgYm9vbCBza2xfbmVlZHNfbWVtb3J5X2J3X3dhKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICBzdGF0aWMgYm9vbAo+ICBpbnRlbF9oYXNfc2Fndihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCWlmIChJU19LQUJZTEFL RShkZXZfcHJpdikgfHwgSVNfQ09GRkVFTEFLRShkZXZfcHJpdikgfHwKPiAtCSAgICBJU19HRU4x MChkZXZfcHJpdikgfHwgSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCB8fAo+ICsJICAgIElTX0tBQllMQUtFKGRldl9wcml2KSB8fCBJU19DT0ZG RUVMQUtFKGRldl9wcml2KSkKPiAgCQlyZXR1cm4gdHJ1ZTsKPiAgCj4gIAlpZiAoSVNfU0tZTEFL RShkZXZfcHJpdikgJiYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4g aW5kZXggNjNmMGIxYzBiZjc3Li4xZDdkZDUwNjcwOGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTMwODIsNyArMzA4Miw3IEBAIGludCBpbnRlbF9w b3dlcl9kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJ ICogVGhlIGVuYWJsaW5nIG9yZGVyIHdpbGwgYmUgZnJvbSBsb3dlciB0byBoaWdoZXIgaW5kZXhl ZCB3ZWxscywKPiAgCSAqIHRoZSBkaXNhYmxpbmcgb3JkZXIgaXMgcmV2ZXJzZWQuCj4gIAkgKi8K PiAtCWlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkgewo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTEpIHsKPiAgCQllcnIgPSBzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgaWNs X3Bvd2VyX3dlbGxzKTsKPiAgCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKPiAg CQllcnIgPSBzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgaHN3X3Bvd2VyX3dlbGxzKTsK PiBAQCAtMzc2Nyw3ICszNzY3LDcgQEAgdm9pZCBpbnRlbF9wb3dlcl9kb21haW5zX2luaXRfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHJlc3VtZSkKPiAgCj4gIAlw b3dlcl9kb21haW5zLT5pbml0aWFsaXppbmcgPSB0cnVlOwo+ICAKPiAtCWlmIChJU19JQ0VMQUtF KGRldl9wcml2KSkgewo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpIHsKPiAgCQlp Y2xfZGlzcGxheV9jb3JlX2luaXQoZGV2X3ByaXYsIHJlc3VtZSk7Cj4gIAl9IGVsc2UgaWYgKElT X0dFTjEwKGRldl9wcml2KSkgewo+ICAJCWNubF9kaXNwbGF5X2NvcmVfaW5pdChkZXZfcHJpdiwg cmVzdW1lKTsKPiBAQCAtMzg5OCw3ICszODk4LDcgQEAgdm9pZCBpbnRlbF9wb3dlcl9kb21haW5z X3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCWludGVsX3Bv d2VyX2RvbWFpbnNfdmVyaWZ5X3N0YXRlKGRldl9wcml2KTsKPiAgCX0KPiAgCj4gLQlpZiAoSVNf SUNFTEFLRShkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKPiAg CQlpY2xfZGlzcGxheV9jb3JlX3VuaW5pdChkZXZfcHJpdik7Cj4gIAllbHNlIGlmIChJU19HRU4x MChkZXZfcHJpdikpCj4gIAkJY25sX2Rpc3BsYXlfY29yZV91bmluaXQoZGV2X3ByaXYpOwoKLS0g CkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==