From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3 3/3] drm/i915: merge gen checks to use range Date: Tue, 11 Dec 2018 16:35:57 +0200 Message-ID: <87lg4w5dwy.fsf@intel.com> References: <20181206061144.16235-1-lucas.demarchi@intel.com> <20181206061144.16235-4-lucas.demarchi@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 08BD96E230 for ; Tue, 11 Dec 2018 14:35:45 +0000 (UTC) In-Reply-To: <20181206061144.16235-4-lucas.demarchi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi , intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwNSBEZWMgMjAxOCwgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+IHdyb3RlOgo+IEluc3RlYWQgb2YgdXNpbmcgSVNfR0VOKCkgZm9yIGNvbnNlY3V0aXZl IGdlbiBjaGVja3MsIGxldCdzIHBhc3MgdGhlCj4gcmFuZ2UgdG8gSVNfR0VOX1JBTkdFKCkuIEJ5 IGNvZGUgaW5zcGVjdGlvbiB0aGVzZSB3ZXJlIHRoZSByYW5nZXMgZGVlbWVkCj4gbmVjZXNzYXJ5 IGZvciBzcGF0Y2g6Cj4KPiBAQAo+IGV4cHJlc3Npb24gZTsKPiBAQAo+ICgKPiAtIElTX0dFTihl LCAzKSB8fCBJU19HRU4oZSwgMikKPiArIElTX0dFTl9SQU5HRShlLCAyLCAzKQo+IHwKPiAtIElT X0dFTihlLCAzKSB8fCBJU19HRU4oZSwgNCkKPiArIElTX0dFTl9SQU5HRShlLCAzLCA0KQo+IHwK PiAtIElTX0dFTihlLCA1KSB8fCBJU19HRU4oZSwgNikKPiArIElTX0dFTl9SQU5HRShlLCA1LCA2 KQo+IHwKPiAtIElTX0dFTihlLCA2KSB8fCBJU19HRU4oZSwgNykKPiArIElTX0dFTl9SQU5HRShl LCA2LCA3KQo+IHwKPiAtIElTX0dFTihlLCA3KSB8fCBJU19HRU4oZSwgOCkKPiArIElTX0dFTl9S QU5HRShlLCA3LCA4KQo+IHwKPiAtIElTX0dFTihlLCA4KSB8fCBJU19HRU4oZSwgOSkKPiArIElT X0dFTl9SQU5HRShlLCA4LCA5KQo+IHwKPiAtIElTX0dFTihlLCAxMCkgfHwgSVNfR0VOKGUsIDkp Cj4gKyBJU19HRU5fUkFOR0UoZSwgOSwgMTApCj4gfAo+IC0gSVNfR0VOKGUsIDkpIHx8IElTX0dF TihlLCAxMCkKPiArIElTX0dFTl9SQU5HRShlLCA5LCAxMCkKPiApCj4KPiBBZnRlciBjb252ZXJz aW9uLCBjaGVja2luZyB3ZSBkb24ndCBoYXZlIGFueSBtaXNzaW5nIElTX0dFTl9SQU5HRSgpIHx8 Cj4gSVNfR0VOKCkgd2FzIGFsc28gZG9uZS4KPgo+IFNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1h cmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgoKU2hvdWxkJ3ZlIGp1c3QgbG9va2VkIGF0 IHRoZSB3aG9sZSBzZXJpZXMgYmVmb3JlIGNvbW1lbnRpbmcgb24gdGhlCm90aGVycy4gSXQncyBh bGwKClJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoKCj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8IDYgKysr LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgICB8IDIgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgICAgICAgICAgIHwgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyAgICAgICAgICAgfCAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgICB8IDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYyB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcGlwZV9jcmMuYyAgICAgIHwgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jICAgICAgICB8IDYgKysrLS0tCj4gIDEwIGZpbGVzIGNoYW5nZWQsIDE1IGlu c2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiBpbmRleCA1M2UzZjU3YTEzZjMuLjMzZmY3NWM2YTRhMyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTIwMzQsNyArMjAzNCw3IEBAIHN0YXRpYyBpbnQg aTkxNV9zd2l6emxlX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAJc2Vx X3ByaW50ZihtLCAiYml0NiBzd2l6emxlIGZvciBZLXRpbGluZyA9ICVzXG4iLAo+ICAJCSAgIHN3 aXp6bGVfc3RyaW5nKGRldl9wcml2LT5tbS5iaXRfNl9zd2l6emxlX3kpKTsKPiAgCj4gLQlpZiAo SVNfR0VOKGRldl9wcml2LCAzKSB8fCBJU19HRU4oZGV2X3ByaXYsIDQpKSB7Cj4gKwlpZiAoSVNf R0VOX1JBTkdFKGRldl9wcml2LCAzLCA0KSkgewo+ICAJCXNlcV9wcmludGYobSwgIkREQyA9IDB4 JTA4eFxuIiwKPiAgCQkJICAgSTkxNV9SRUFEKERDQykpOwo+ICAJCXNlcV9wcmludGYobSwgIkRE QzIgPSAweCUwOHhcbiIsCj4gQEAgLTQyNjgsNyArNDI2OCw3IEBAIGk5MTVfY2FjaGVfc2hhcmlu Z19nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkYXRhOwo+ICAJdTMyIHNucGNyOwo+ICAKPiAtCWlmICghKElTX0dFTihkZXZf cHJpdiwgNikgfHwgSVNfR0VOKGRldl9wcml2LCA3KSkpCj4gKwlpZiAoIShJU19HRU5fUkFOR0Uo ZGV2X3ByaXYsIDYsIDcpKSkKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAgCj4gIAlpbnRlbF9ydW50 aW1lX3BtX2dldChkZXZfcHJpdik7Cj4gQEAgLTQyODgsNyArNDI4OCw3IEBAIGk5MTVfY2FjaGVf c2hhcmluZ19zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRhdGE7Cj4gIAl1MzIgc25wY3I7Cj4gIAo+IC0JaWYgKCEoSVNfR0VO KGRldl9wcml2LCA2KSB8fCBJU19HRU4oZGV2X3ByaXYsIDcpKSkKPiArCWlmICghKElTX0dFTl9S QU5HRShkZXZfcHJpdiwgNiwgNykpKQo+ICAJCXJldHVybiAtRU5PREVWOwo+ICAKPiAgCWlmICh2 YWwgPiAzKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJv ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+IGluZGV4IGNjZmQ5 MWM3MjQ3Ny4uNTgxYTQwYWMzNTkxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jCj4gQEAgLTE3NTMsNyArMTc1Myw3IEBAIHN0YXRpYyB2b2lkIGNhcHR1cmVfcmVnX3N0 YXRlKHN0cnVjdCBpOTE1X2dwdV9zdGF0ZSAqZXJyb3IpCj4gIAkJZXJyb3ItPmNjaWQgPSBJOTE1 X1JFQUQoQ0NJRCk7Cj4gIAo+ICAJLyogMzogRmVhdHVyZSBzcGVjaWZpYyByZWdpc3RlcnMgKi8K PiAtCWlmIChJU19HRU4oZGV2X3ByaXYsIDYpIHx8IElTX0dFTihkZXZfcHJpdiwgNykpIHsKPiAr CWlmIChJU19HRU5fUkFOR0UoZGV2X3ByaXYsIDYsIDcpKSB7Cj4gIAkJZXJyb3ItPmdhbV9lY29j aGsgPSBJOTE1X1JFQUQoR0FNX0VDT0NISyk7Cj4gIAkJZXJyb3ItPmdhY19lY28gPSBJOTE1X1JF QUQoR0FDX0VDT19CSVRTKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwo+IGluZGV4 IDZjNzk5MjMyMDQ0My4uNDI4OGMwZTAyZjBjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGVyZi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJm LmMKPiBAQCAtMzQxNSw3ICszNDE1LDcgQEAgdm9pZCBpOTE1X3BlcmZfaW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLnJlYWQg PSBnZW44X29hX3JlYWQ7Cj4gIAkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLm9hX2h3X3RhaWxfcmVh ZCA9IGdlbjhfb2FfaHdfdGFpbF9yZWFkOwo+ICAKPiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCA4 KSB8fCBJU19HRU4oZGV2X3ByaXYsIDkpKSB7Cj4gKwkJaWYgKElTX0dFTl9SQU5HRShkZXZfcHJp diwgOCwgOSkpIHsKPiAgCQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmlzX3ZhbGlkX2JfY291bnRl cl9yZWcgPQo+ICAJCQkJZ2VuN19pc192YWxpZF9iX2NvdW50ZXJfYWRkcjsKPiAgCQkJZGV2X3By aXYtPnBlcmYub2Eub3BzLmlzX3ZhbGlkX211eF9yZWcgPQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ny dC5jCj4gaW5kZXggYmY0ZmQ3MzliNjhjLi4wYTQxZTU4ZDYxZGUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jcnQuYwo+IEBAIC0zMjIsNyArMzIyLDcgQEAgaW50ZWxfY3J0X21vZGVfdmFsaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkgKiBEQUMgbGltaXQgc3VwcG9z ZWRseSAzNTUgTUh6Lgo+ICAJCSAqLwo+ICAJCW1heF9jbG9jayA9IDI3MDAwMDsKPiAtCWVsc2Ug aWYgKElTX0dFTihkZXZfcHJpdiwgMykgfHwgSVNfR0VOKGRldl9wcml2LCA0KSkKPiArCWVsc2Ug aWYgKElTX0dFTl9SQU5HRShkZXZfcHJpdiwgMywgNCkpCj4gIAkJbWF4X2Nsb2NrID0gNDAwMDAw Owo+ICAJZWxzZQo+ICAJCW1heF9jbG9jayA9IDM1MDAwMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmMKPiBpbmRleCAzMzI3OTAyNzllMWQuLmRjNGZhODNlMjZlZiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+IEBAIC03ODcs NyArNzg3LDcgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGlu dGVsX2RldmljZV9pbmZvICppbmZvKQo+ICAJCURSTV9JTkZPKCJEaXNwbGF5IGRpc2FibGVkICht b2R1bGUgcGFyYW1ldGVyKVxuIik7Cj4gIAkJaW5mby0+bnVtX3BpcGVzID0gMDsKPiAgCX0gZWxz ZSBpZiAoSEFTX0RJU1BMQVkoZGV2X3ByaXYpICYmCj4gLQkJICAgKElTX0dFTihkZXZfcHJpdiwg NykgfHwgSVNfR0VOKGRldl9wcml2LCA4KSkgJiYKPiArCQkgICAoSVNfR0VOX1JBTkdFKGRldl9w cml2LCA3LCA4KSkgJiYKPiAgCQkgICBIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewo+ICAJCXUz MiBmdXNlX3N0cmFwID0gSTkxNV9SRUFEKEZVU0VfU1RSQVApOwo+ICAJCXUzMiBzZnVzZV9zdHJh cCA9IEk5MTVfUkVBRChTRlVTRV9TVFJBUCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IDA3ZGRiMDZmZWM2NS4uYTU4MTZiYzRkMDk0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMDgxNyw3ICsxMDgxNyw3IEBAIGludCBpbnRl bF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpvbGRfY3J0Y19zdGF0Cj4gIAkgKiB0aGUgdy9hIG9uIGFsbCB0aHJlZSBwbGF0Zm9ybXMuCj4g IAkgKi8KPiAgCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfU1BSSVRFMCAmJgo+IC0JICAgIChJU19H RU4oZGV2X3ByaXYsIDUpIHx8IElTX0dFTihkZXZfcHJpdiwgNikgfHwKPiArCSAgICAoSVNfR0VO X1JBTkdFKGRldl9wcml2LCA1LCA2KSB8fAo+ICAJICAgICBJU19JVllCUklER0UoZGV2X3ByaXYp KSAmJgo+ICAJICAgICh0dXJuX29uIHx8ICghbmVlZHNfc2NhbGluZyhvbGRfcGxhbmVfc3RhdGUp ICYmCj4gIAkJCSBuZWVkc19zY2FsaW5nKHRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRl KSkpKSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2Nz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IGluZGV4IDhmZjc5 NGRiNzg4MS4uNjZkMGFkOWMzNmM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5n aW5lX2NzLmMKPiBAQCAtNDM4LDcgKzQzOCw3IEBAIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfZ2xv YmFsX3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHNlcW5vKQo+ICAJ ICogdGhlIHNlbWFwaG9yZSB2YWx1ZSwgdGhlbiB3aGVuIHRoZSBzZXFubyBtb3ZlcyBiYWNrd2Fy ZHMgYWxsCj4gIAkgKiBmdXR1cmUgd2FpdHMgd2lsbCBjb21wbGV0ZSBpbnN0YW50bHkgKGNhdXNp bmcgcmVuZGVyaW5nIGNvcnJ1cHRpb24pLgo+ICAJICovCj4gLQlpZiAoSVNfR0VOKGRldl9wcml2 LCA2KSB8fCBJU19HRU4oZGV2X3ByaXYsIDcpKSB7Cj4gKwlpZiAoSVNfR0VOX1JBTkdFKGRldl9w cml2LCA2LCA3KSkgewo+ICAJCUk5MTVfV1JJVEUoUklOR19TWU5DXzAoZW5naW5lLT5tbWlvX2Jh c2UpLCAwKTsKPiAgCQlJOTE1X1dSSVRFKFJJTkdfU1lOQ18xKGVuZ2luZS0+bW1pb19iYXNlKSwg MCk7Cj4gIAkJaWYgKEhBU19WRUJPWChkZXZfcHJpdikpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2ZpZm9fdW5kZXJydW4uYwo+IGluZGV4IGZmMjc0M2NjYmVjZS4uOWIzOTk3NWM4Mzg5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4u Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYwo+IEBA IC0yNjAsNyArMjYwLDcgQEAgc3RhdGljIGJvb2wgX19pbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJy dW5fcmVwb3J0aW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJaWYgKEhBU19HTUNI X0RJU1BMQVkoZGV2X3ByaXYpKQo+ICAJCWk5eHhfc2V0X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5n KGRldiwgcGlwZSwgZW5hYmxlLCBvbGQpOwo+IC0JZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA1 KSB8fCBJU19HRU4oZGV2X3ByaXYsIDYpKQo+ICsJZWxzZSBpZiAoSVNfR0VOX1JBTkdFKGRldl9w cml2LCA1LCA2KSkKPiAgCQlpcm9ubGFrZV9zZXRfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2 LCBwaXBlLCBlbmFibGUpOwo+ICAJZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA3KSkKPiAgCQlp dnlicmlkZ2Vfc2V0X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldiwgcGlwZSwgZW5hYmxlLCBv bGQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwo+IGluZGV4IDllODcwY2Fm ODEwNC4uYmRhYmNmYWI4MDkwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BpcGVfY3JjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2Ny Yy5jCj4gQEAgLTQzMyw3ICs0MzMsNyBAQCBzdGF0aWMgaW50IGdldF9uZXdfY3JjX2N0bF9yZWco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCXJldHVybiBpOXh4X3BpcGVf Y3JjX2N0bF9yZWcoZGV2X3ByaXYsIHBpcGUsIHNvdXJjZSwgdmFsKTsKPiAgCWVsc2UgaWYgKElT X1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ICAJCXJl dHVybiB2bHZfcGlwZV9jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwpOwo+ IC0JZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA1KSB8fCBJU19HRU4oZGV2X3ByaXYsIDYpKQo+ ICsJZWxzZSBpZiAoSVNfR0VOX1JBTkdFKGRldl9wcml2LCA1LCA2KSkKPiAgCQlyZXR1cm4gaWxr X3BpcGVfY3JjX2N0bF9yZWcoc291cmNlLCB2YWwpOwo+ICAJZWxzZQo+ICAJCXJldHVybiBpdmJf cGlwZV9jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwsIHNldF93YSk7Cj4g QEAgLTU1MCw3ICs1NTAsNyBAQCBpbnRlbF9pc192YWxpZF9jcmNfc291cmNlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlyZXR1cm4gaTl4eF9jcmNfc291cmNlX3ZhbGlk KGRldl9wcml2LCBzb3VyY2UpOwo+ICAJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikg fHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gIAkJcmV0dXJuIHZsdl9jcmNfc291cmNlX3Zh bGlkKGRldl9wcml2LCBzb3VyY2UpOwo+IC0JZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA1KSB8 fCBJU19HRU4oZGV2X3ByaXYsIDYpKQo+ICsJZWxzZSBpZiAoSVNfR0VOX1JBTkdFKGRldl9wcml2 LCA1LCA2KSkKPiAgCQlyZXR1cm4gaWxrX2NyY19zb3VyY2VfdmFsaWQoZGV2X3ByaXYsIHNvdXJj ZSk7Cj4gIAllbHNlCj4gIAkJcmV0dXJuIGl2Yl9jcmNfc291cmNlX3ZhbGlkKGRldl9wcml2LCBz b3VyY2UpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggYzZlYjA1M2E4 ZmFkLi5lYzZkZGUyZTU5ZWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ IEBAIC01MjgsNyArNTI4LDcgQEAgY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8 fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAgCQlyZXQgfD0gdmx2X2NoZWNrX2Zvcl91bmNs YWltZWRfbW1pbyhkZXZfcHJpdik7Cj4gIAo+IC0JaWYgKElTX0dFTihkZXZfcHJpdiwgNikgfHwg SVNfR0VOKGRldl9wcml2LCA3KSkKPiArCWlmIChJU19HRU5fUkFOR0UoZGV2X3ByaXYsIDYsIDcp KQo+ICAJCXJldCB8PSBnZW42X2NoZWNrX2Zvcl9maWZvX2RlYnVnKGRldl9wcml2KTsKPiAgCj4g IAlyZXR1cm4gcmV0Owo+IEBAIC01NTYsNyArNTU2LDcgQEAgc3RhdGljIHZvaWQgX19pbnRlbF91 bmNvcmVfZWFybHlfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsCj4gIAkJ CQkJCSAgICAgIHJlc3RvcmVfZm9yY2V3YWtlKTsKPiAgCj4gLQkJaWYgKElTX0dFTihkZXZfcHJp diwgNikgfHwgSVNfR0VOKGRldl9wcml2LCA3KSkKPiArCQlpZiAoSVNfR0VOX1JBTkdFKGRldl9w cml2LCA2LCA3KSkKPiAgCQkJZGV2X3ByaXYtPnVuY29yZS5maWZvX2NvdW50ID0KPiAgCQkJCWZp Zm9fZnJlZV9lbnRyaWVzKGRldl9wcml2KTsKPiAgCQlzcGluX3VubG9ja19pcnEoJmRldl9wcml2 LT51bmNvcmUubG9jayk7Cj4gQEAgLTE0MzcsNyArMTQzNyw3IEBAIHN0YXRpYyB2b2lkIGludGVs X3VuY29yZV9md19kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ICAJCQkJICAgICAgIEZPUkNFV0FLRV9NRURJQV9WRUJPWF9HRU4xMShpKSwKPiAgCQkJCSAg ICAgICBGT1JDRVdBS0VfQUNLX01FRElBX1ZFQk9YX0dFTjExKGkpKTsKPiAgCQl9Cj4gLQl9IGVs c2UgaWYgKElTX0dFTihkZXZfcHJpdiwgMTApIHx8IElTX0dFTihkZXZfcHJpdiwgOSkpIHsKPiAr CX0gZWxzZSBpZiAoSVNfR0VOX1JBTkdFKGRldl9wcml2LCA5LCAxMCkpIHsKPiAgCQlkZXZfcHJp di0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfZ2V0ID0KPiAgCQkJZndfZG9tYWluc19nZXRfd2l0 aF9mYWxsYmFjazsKPiAgCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0ID0g ZndfZG9tYWluc19wdXQ7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBo aWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK