From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 11/15] drm/i915: Use INTEL_GEN everywhere Date: Fri, 09 Feb 2018 12:14:10 +0200 Message-ID: <87mv0i8o7h.fsf@intel.com> References: <20180208130606.15556-1-tvrtko.ursulin@linux.intel.com> <20180208130606.15556-12-tvrtko.ursulin@linux.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 83A006E7D6 for ; Fri, 9 Feb 2018 10:14:17 +0000 (UTC) In-Reply-To: <20180208130606.15556-12-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAwOCBGZWIgMjAxOCwgVHZydGtvIFVyc3VsaW4gPHR1cnN1bGluQHVyc3VsaW4ubmV0 PiB3cm90ZToKPiBGcm9tOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t Pgo+Cj4gQ29jY2luZWxsZSBwYXRjaDoKPgo+ICBAQAo+ICBpZGVudGlmaWVyIHA7Cj4gIEBACj4g IC1JTlRFTF9JTkZPKHApLT5nZW4KPiAgK0lOVEVMX0dFTihwKQo+Cj4gU2lnbmVkLW9mZi1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkkgdGhpbmsgeW91IHNo b3VsZCBnZXQgdGhpcyBtZXJnZWQgb3V0c2lkZSBvZiB0aGlzIHNlcmllcy4gUGxlYXNlIHJlbmFt ZQotPmdlbiB0byAtPl9fZ2VuIG9yIHNvbWV0aGluZyB0byBkaXNjb3VyYWdlIGl0cyBkaXJlY3Qg dXNlIHdoaWxlIGF0IGl0LgoKQlIsCkphbmkuCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3N0b2xlbi5jICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyAgICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8IDEyICsrKysrKy0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgfCAgNCArKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX21vY3MuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgICAgICAgICB8ICA4ICsrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Bzci5jICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMgICAgIHwgIDYgKysrLS0tCj4gIDE2IGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMo KyksIDI5IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggYzFi ODBjZDUyZjllLi4xZDUyMDhmMjRiNjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBA QCAtNTQyMCwxMCArNTQyMCwxMCBAQCBpOTE1X2dlbV9sb2FkX2luaXRfZmVuY2VzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+ICAJaW50IGk7Cj4gIAo+IC0JaWYgKElO VEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gNyAmJiAhSVNfVkFMTEVZVklFVyhkZXZfcHJpdikg JiYKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDcgJiYgIUlTX1ZBTExFWVZJRVcoZGV2 X3ByaXYpICYmCj4gIAkgICAgIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ICAJCWRldl9wcml2 LT5udW1fZmVuY2VfcmVncyA9IDMyOwo+IC0JZWxzZSBpZiAoSU5URUxfSU5GTyhkZXZfcHJpdikt PmdlbiA+PSA0IHx8Cj4gKwllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQgfHwKPiAg CQkgSVNfSTk0NUcoZGV2X3ByaXYpIHx8IElTX0k5NDVHTShkZXZfcHJpdikgfHwKPiAgCQkgSVNf RzMzKGRldl9wcml2KSB8fCBJU19QSU5FVklFVyhkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPm51 bV9mZW5jZV9yZWdzID0gMTY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRl eCA5NTVjZTdiZWU0NDguLjBjMGYxYWZmZGRhZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCj4gQEAgLTIxMDksNyArMjEwOSw3IEBAIHN0YXRpYyBpbnQgX19od19wcGd0dF9p bml0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKPiAgCXBwZ3R0LT5iYXNlLmk5MTUgPSBk ZXZfcHJpdjsKPiAgCXBwZ3R0LT5iYXNlLmRtYSA9ICZkZXZfcHJpdi0+ZHJtLnBkZXYtPmRldjsK PiAgCj4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8IDgpCj4gKwlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA8IDgpCj4gIAkJcmV0dXJuIGdlbjZfcHBndHRfaW5pdChwcGd0dCk7Cj4g IAllbHNlCj4gIAkJcmV0dXJuIGdlbjhfcHBndHRfaW5pdChwcGd0dCk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiBpbmRleCBkM2YyMjJmYTYzNTYuLmYxOGRhOWUyYmU4 ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gQEAgLTM1Niw3 ICszNTYsNyBAQCBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAJcmVzZXJ2ZWRfYmFzZSA9IDA7Cj4gIAlyZXNlcnZlZF9zaXplID0g MDsKPiAgCj4gLQlzd2l0Y2ggKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4pIHsKPiArCXN3aXRj aCAoSU5URUxfR0VOKGRldl9wcml2KSkgewo+ICAJY2FzZSAyOgo+ICAJY2FzZSAzOgo+ICAJCWJy ZWFrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+IGluZGV4IDUyMmQ1NGZlY2I1My4u ZmY0NTVjNzI0Nzc1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1 ZGlvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gQEAgLTcw NCw3ICs3MDQsNyBAQCB2b2lkIGludGVsX2luaXRfYXVkaW9faG9va3Moc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2 KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmF1 ZGlvX2NvZGVjX2VuYWJsZSA9IGlsa19hdWRpb19jb2RlY19lbmFibGU7Cj4gIAkJZGV2X3ByaXYt PmRpc3BsYXkuYXVkaW9fY29kZWNfZGlzYWJsZSA9IGlsa19hdWRpb19jb2RlY19kaXNhYmxlOwo+ IC0JfSBlbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9JTkZPKGRldl9wcml2 KS0+Z2VuID49IDgpIHsKPiArCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSU5U RUxfR0VOKGRldl9wcml2KSA+PSA4KSB7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuYXVkaW9fY29k ZWNfZW5hYmxlID0gaHN3X2F1ZGlvX2NvZGVjX2VuYWJsZTsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS5hdWRpb19jb2RlY19kaXNhYmxlID0gaHN3X2F1ZGlvX2NvZGVjX2Rpc2FibGU7Cj4gIAl9IGVs c2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jp b3MuYwo+IGluZGV4IDRlNzRhYTJmMTZiYy4uYWE0ZGY2NTQ4NzcxIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Jpb3MuYwo+IEBAIC0zOTEsNyArMzkxLDcgQEAgcGFyc2Vfc2R2b19wYW5lbF9k YXRhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgc3RhdGljIGludCBpbnRl bF9iaW9zX3NzY19mcmVxdWVuY3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJCQkJICAgIGJvb2wgYWx0ZXJuYXRlKQo+ICB7Cj4gLQlzd2l0Y2ggKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5nZW4pIHsKPiArCXN3aXRjaCAoSU5URUxfR0VOKGRldl9wcml2KSkgewo+ICAJY2Fz ZSAyOgo+ICAJCXJldHVybiBhbHRlcm5hdGUgPyA2NjY2NyA6IDQ4MDAwOwo+ICAJY2FzZSAzOgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IGluZGV4IGVlNzg4ZDViZTVlMy4uYWFiNmQx NTM4ZmZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gQEAgLTIyMzMsNyAr MjIzMyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY29tcHV0ZV9tYXhfZG90Y2xrKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQlyZXR1cm4gbWF4X2NkY2xrX2ZyZXE7Cj4gIAll bHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAgCQlyZXR1cm4gbWF4X2NkY2xrX2Zy ZXEqOTUvMTAwOwo+IC0JZWxzZSBpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8IDQpCj4g KwllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkKPiAgCQlyZXR1cm4gMiptYXhfY2Rj bGtfZnJlcSo5MC8xMDA7Cj4gIAllbHNlCj4gIAkJcmV0dXJuIG1heF9jZGNsa19mcmVxKjkwLzEw MDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IGNmY2Q5Y2IzN2Q1ZC4uOGNhMzc2 YWNhOGJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMjE1Miw3ICsyMTUy LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAo+ICAJCUk5MTVfV1JJVEUoRFBMTF9DVFJMMiwgdmFsKTsKPiAgCj4g LQl9IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPCA5KSB7Cj4gKwl9IGVsc2Ug aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA5KSB7Cj4gIAkJSTkxNV9XUklURShQT1JUX0NMS19T RUwocG9ydCksIGhzd19wbGxfdG9fZGRpX3BsbF9zZWwocGxsKSk7Cj4gIAl9Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA2MGJhNWJiM2YzNGMuLjBkNTIwN2Ri ZmRhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMjAyOSwx MiArMjAyOSwxMiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX2N1cnNvcl9hbGlnbm1lbnQo Y29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcgo+ICAKPiAgc3RhdGljIHVuc2ln bmVkIGludCBpbnRlbF9saW5lYXJfYWxpZ25tZW50KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgewo+IC0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0g OSkKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gIAkJcmV0dXJuIDI1NiAqIDEw MjQ7Cj4gIAllbHNlIGlmIChJU19JOTY1RyhkZXZfcHJpdikgfHwgSVNfSTk2NUdNKGRldl9wcml2 KSB8fAo+ICAJCSBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9w cml2KSkKPiAgCQlyZXR1cm4gMTI4ICogMTAyNDsKPiAtCWVsc2UgaWYgKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5nZW4gPj0gNCkKPiArCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNCkK PiAgCQlyZXR1cm4gNCAqIDEwMjQ7Cj4gIAllbHNlCj4gIAkJcmV0dXJuIDA7Cj4gQEAgLTYzMDcs NyArNjMwNyw3IEBAIHN0YXRpYyBib29sIGludGVsX2NydGNfc3VwcG9ydHNfZG91YmxlX3dpZGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAljb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiAgCj4gIAkvKiBH REcgZG91YmxlIHdpZGUgb24gZWl0aGVyIHBpcGUsIG90aGVyd2lzZSBwaXBlIEEgb25seSAqLwo+ IC0JcmV0dXJuIElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPCA0ICYmCj4gKwlyZXR1cm4gSU5U RUxfR0VOKGRldl9wcml2KSA8IDQgJiYKPiAgCQkoY3J0Yy0+cGlwZSA9PSBQSVBFX0EgfHwgSVNf STkxNUcoZGV2X3ByaXYpKTsKPiAgfQo+ICAKPiBAQCAtODE5NCw3ICs4MTk0LDcgQEAgc3RhdGlj IHZvaWQgaGFzd2VsbF9zZXRfcGlwZW1pc2Moc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZyA9IGludGVsX2NydGMtPmNvbmZpZzsKPiAgCj4g LQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2Vu ID49IDkpIHsKPiArCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZf cHJpdikgPj0gOSkgewo+ICAJCXUzMiB2YWwgPSAwOwo+ICAKPiAgCQlzd2l0Y2ggKGludGVsX2Ny dGMtPmNvbmZpZy0+cGlwZV9icHApIHsKPiBAQCAtMTM5NDcsNyArMTM5NDcsNyBAQCBzdGF0aWMg aW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGludGVsX2ZyYW1lYnVmZmVyICppbnRl bF9mYiwKPiAgCSAqIGdlbjIvMyBkaXNwbGF5IGVuZ2luZSB1c2VzIHRoZSBmZW5jZSBpZiBwcmVz ZW50LAo+ICAJICogc28gdGhlIHRpbGluZyBtb2RlIG11c3QgbWF0Y2ggdGhlIGZiIG1vZGlmaWVy IGV4YWN0bHkuCj4gIAkgKi8KPiAtCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNCAm Jgo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA0ICYmCj4gIAkgICAgdGlsaW5nICE9IGlu dGVsX2ZiX21vZGlmaWVyX3RvX3RpbGluZyhtb2RlX2NtZC0+bW9kaWZpZXJbMF0pKSB7Cj4gIAkJ RFJNX0RFQlVHX0tNUygidGlsaW5nX21vZGUgbXVzdCBtYXRjaCBmYiBtb2RpZmllciBleGFjdGx5 IG9uIGdlbjIvM1xuIik7Cj4gIAkJZ290byBlcnI7Cj4gQEAgLTE0MTYyLDcgKzE0MTYyLDcgQEAg dm9pZCBpbnRlbF9pbml0X2Rpc3BsYXlfaG9va3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICB7Cj4gIAlpbnRlbF9pbml0X2NkY2xrX2hvb2tzKGRldl9wcml2KTsKPiAgCj4g LQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KSB7Cj4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSA5KSB7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmln ID0gaGFzd2VsbF9nZXRfcGlwZV9jb25maWc7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2lu aXRpYWxfcGxhbmVfY29uZmlnID0KPiAgCQkJc2t5bGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25m aWc7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZjEwYTE0MzMwZTdjLi5hYmJlMWU0 ZTBhZjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtMTQ2Nyw3ICsxNDY3LDcg QEAgc3RhdGljIGk5MTVfcmVnX3Qgc2tsX2F1eF9kYXRhX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gIHN0YXRpYyBpOTE1X3JlZ190IGludGVsX2F1eF9jdGxfcmVnKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgICBlbnVtIHBvcnQgcG9y dCkKPiAgewo+IC0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOSkKPiArCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gIAkJcmV0dXJuIHNrbF9hdXhfY3RsX3JlZyhkZXZf cHJpdiwgcG9ydCk7Cj4gIAllbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKPiAgCQly ZXR1cm4gaWxrX2F1eF9jdGxfcmVnKGRldl9wcml2LCBwb3J0KTsKPiBAQCAtMTQ3OCw3ICsxNDc4 LDcgQEAgc3RhdGljIGk5MTVfcmVnX3QgaW50ZWxfYXV4X2N0bF9yZWcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICBzdGF0aWMgaTkxNV9yZWdfdCBpbnRlbF9hdXhfZGF0YV9y ZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgICBlbnVtIHBv cnQgcG9ydCwgaW50IGluZGV4KQo+ICB7Cj4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdl biA+PSA5KQo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlyZXR1cm4gc2ts X2F1eF9kYXRhX3JlZyhkZXZfcHJpdiwgcG9ydCwgaW5kZXgpOwo+ICAJZWxzZSBpZiAoSEFTX1BD SF9TUExJVChkZXZfcHJpdikpCj4gIAkJcmV0dXJuIGlsa19hdXhfZGF0YV9yZWcoZGV2X3ByaXYs IHBvcnQsIGluZGV4KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gaW5kZXggZWY4MDQ5 OTExM2VlLi40Njc3YWMwYjEwZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4g QEAgLTE4OSw3ICsxODksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9sdmRzX3Bwc19nZXRfaHdfc3Rh dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJLyogQ29udmVydCBmcm9t IDEwMG1zIHRvIDEwMHVzIHVuaXRzICovCj4gIAlwcHMtPnQ0ID0gdmFsICogMTAwMDsKPiAgCj4g LQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8PSA0ICYmCj4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA8PSA0ICYmCj4gIAkgICAgcHBzLT50MV90MiA9PSAwICYmIHBwcy0+dDUgPT0g MCAmJiBwcHMtPnQzID09IDAgJiYgcHBzLT50eCA9PSAwKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygi UGFuZWwgcG93ZXIgdGltaW5ncyB1bmluaXRpYWxpemVkLCAiCj4gIAkJCSAgICAgICJzZXR0aW5n IGRlZmF1bHRzXG4iKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4gaW5kZXggZjRjNDZi MGI4ZjBhLi5hYmI3YThjMWUzNDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbW9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jCj4g QEAgLTE4Nyw3ICsxODcsNyBAQCBzdGF0aWMgYm9vbCBnZXRfbW9jc19zZXR0aW5ncyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJdGFibGUtPnRhYmxlID0gYnJveHRvbl9t b2NzX3RhYmxlOwo+ICAJCXJlc3VsdCA9IHRydWU7Cj4gIAl9IGVsc2Ugewo+IC0JCVdBUk5fT05D RShJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDksCj4gKwkJV0FSTl9PTkNFKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOSwKPiAgCQkJICAiUGxhdGZvcm0gdGhhdCBzaG91bGQgaGF2ZSBhIE1P Q1MgdGFibGUgZG9lcyBub3QuXG4iKTsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w YW5lbC5jCj4gaW5kZXggZTcwMmE2NDg3YWE5Li43OGE1M2M4YjE3ODkgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMKPiBAQCAtNDk3LDcgKzQ5Nyw3IEBAIHN0YXRpYyB1MzIgaTl4 eF9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCXUz MiB2YWw7Cj4gIAo+ICAJdmFsID0gSTkxNV9SRUFEKEJMQ19QV01fQ1RMKSAmIEJBQ0tMSUdIVF9E VVRZX0NZQ0xFX01BU0s7Cj4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8IDQpCj4g KwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDQpCj4gIAkJdmFsID4+PSAxOwo+ICAKPiAgCWlm IChwYW5lbC0+YmFja2xpZ2h0LmNvbWJpbmF0aW9uX21vZGUpIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiBpbmRleCAwNjNjODg1MTc1ZTcuLjdhMTEyZDA3NWMyNCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwo+IEBAIC02OTQwLDcgKzY5NDAsNyBAQCBzdGF0aWMgdm9pZCBnZW42X3Vw ZGF0ZV9yaW5nX2ZyZXEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCQkg KiBObyBmbG9vciByZXF1aXJlZCBmb3IgcmluZyBmcmVxdWVuY3kgb24gU0tMLgo+ICAJCQkgKi8K PiAgCQkJcmluZ19mcmVxID0gZ3B1X2ZyZXE7Cj4gLQkJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRl dl9wcml2KS0+Z2VuID49IDgpIHsKPiArCQl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gOCkgewo+ICAJCQkvKiBtYXgoMiAqIEdULCBERFIpLiBOQjogR1QgaXMgNTBNSHogdW5pdHMg Ki8KPiAgCQkJcmluZ19mcmVxID0gbWF4KG1pbl9yaW5nX2ZyZXEsIGdwdV9mcmVxKTsKPiAgCQl9 IGVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7Cj4gQEAgLTc1NTEsNyArNzU1MSw3IEBA IHVuc2lnbmVkIGxvbmcgaTkxNV9jaGlwc2V0X3ZhbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIHsKPiAgCXVuc2lnbmVkIGxvbmcgdmFsOwo+ICAKPiAtCWlmIChJTlRFTF9J TkZPKGRldl9wcml2KS0+Z2VuICE9IDUpCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSAhPSA1 KQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCXNwaW5fbG9ja19pcnEoJm1jaGRldl9sb2NrKTsKPiBA QCAtNzYzNSw3ICs3NjM1LDcgQEAgc3RhdGljIHZvaWQgX19pOTE1X3VwZGF0ZV9nZnhfdmFsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIHZvaWQgaTkxNV91cGRhdGVf Z2Z4X3ZhbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCWlmIChJ TlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuICE9IDUpCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSAhPSA1KQo+ICAJCXJldHVybjsKPiAgCj4gIAlzcGluX2xvY2tfaXJxKCZtY2hkZXZfbG9jayk7 Cj4gQEAgLTc2ODYsNyArNzY4Niw3IEBAIHVuc2lnbmVkIGxvbmcgaTkxNV9nZnhfdmFsKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+ICAJdW5zaWduZWQgbG9uZyB2YWw7 Cj4gIAo+IC0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gIT0gNSkKPiArCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpICE9IDUpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJc3Bpbl9sb2NrX2ly cSgmbWNoZGV2X2xvY2spOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggZTlmZWZm ZGVhODk5Li4yZWYzNzRmOTM2YjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+IEBA IC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIHZvaWQgdmx2X3Bzcl9lbmFibGVfc2luayhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ICBzdGF0aWMgaTkxNV9yZWdfdCBwc3JfYXV4X2N0bF9yZWco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgICAgIGVudW0gcG9y dCBwb3J0KQo+ICB7Cj4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KQo+ICsJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlyZXR1cm4gRFBfQVVYX0NIX0NUTChw b3J0KTsKPiAgCWVsc2UKPiAgCQlyZXR1cm4gRURQX1BTUl9BVVhfQ1RMOwo+IEBAIC0xMzUsNyAr MTM1LDcgQEAgc3RhdGljIGk5MTVfcmVnX3QgcHNyX2F1eF9jdGxfcmVnKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgc3RhdGljIGk5MTVfcmVnX3QgcHNyX2F1eF9kYXRhX3Jl ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJZW51bSBwb3J0IHBv cnQsIGludCBpbmRleCkKPiAgewo+IC0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0g OSkKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gIAkJcmV0dXJuIERQX0FVWF9D SF9EQVRBKHBvcnQsIGluZGV4KTsKPiAgCWVsc2UKPiAgCQlyZXR1cm4gRURQX1BTUl9BVVhfREFU QShpbmRleCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4 IGY5M2U0NTMyMzcxYS4uYzkxZDcxMDZmYmNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwo+IEBAIC02NTUsNyArNjU1LDcgQEAgc3RhdGljIGludCBpbml0X3Jl bmRlcl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWlmIChJU19HRU4o ZGV2X3ByaXYsIDYsIDcpKQo+ICAJCUk5MTVfV1JJVEUoSU5TVFBNLCBfTUFTS0VEX0JJVF9FTkFC TEUoSU5TVFBNX0ZPUkNFX09SREVSSU5HKSk7Cj4gIAo+IC0JaWYgKElOVEVMX0lORk8oZGV2X3By aXYpLT5nZW4gPj0gNikKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDYpCj4gIAkJSTkx NV9XUklURV9JTVIoZW5naW5lLCB+ZW5naW5lLT5pcnFfa2VlcF9tYXNrKTsKPiAgCj4gIAlyZXR1 cm4gaW5pdF93b3JrYXJvdW5kc19yaW5nKGVuZ2luZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dW5jb3JlLmMKPiBpbmRleCAxNjRkYmI4Y2ZhMzYuLjczOTU5YWU1NjI0MSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gQEAgLTE4NzQsOSArMTg3NCw5IEBAIHN0YXRpYyBy ZXNldF9mdW5jIGludGVsX2dldF9ncHVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICAJaWYgKCFpOTE1X21vZHBhcmFtcy5yZXNldCkKPiAgCQlyZXR1cm4gTlVMTDsK PiAgCj4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA4KQo+ICsJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPj0gOCkKPiAgCQlyZXR1cm4gZ2VuOF9yZXNldF9lbmdpbmVzOwo+IC0J ZWxzZSBpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA2KQo+ICsJZWxzZSBpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSA2KQo+ICAJCXJldHVybiBnZW42X3Jlc2V0X2VuZ2luZXM7Cj4g IAllbHNlIGlmIChJU19HRU41KGRldl9wcml2KSkKPiAgCQlyZXR1cm4gaXJvbmxha2VfZG9fcmVz ZXQ7Cj4gQEAgLTE4ODQsNyArMTg4NCw3IEBAIHN0YXRpYyByZXNldF9mdW5jIGludGVsX2dldF9n cHVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCXJldHVybiBn NHhfZG9fcmVzZXQ7Cj4gIAllbHNlIGlmIChJU19HMzMoZGV2X3ByaXYpIHx8IElTX1BJTkVWSUVX KGRldl9wcml2KSkKPiAgCQlyZXR1cm4gZzMzX2RvX3Jlc2V0Owo+IC0JZWxzZSBpZiAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmdlbiA+PSAzKQo+ICsJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSAzKQo+ICAJCXJldHVybiBpOTE1X2RvX3Jlc2V0Owo+ICAJZWxzZQo+ICAJCXJldHVybiBO VUxMOwoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRl cgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK