From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH 08/19] drm/i915: Make IS_IVYBRIDGE only take dev_priv Date: Wed, 12 Oct 2016 13:40:16 +0300 Message-ID: <20161012104016.533nprodelaxwupw@boom> References: <1476192112-25336-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1476192112-25336-9-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 521C389F97 for ; Wed, 12 Oct 2016 10:40:21 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1476192112-25336-9-git-send-email-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 Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMTEsIDIwMTYgYXQgMDI6MjE6NDFQTSArMDEwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBTYXZlcyA4NDggYnl0ZXMgb2YgLnJvZGF0YSBzdHJpbmdzLgo+IAo+IHYyOiBBZGQgcGFy YW50aGVzZXMgYXJvdW5kIGRldl9wcml2LiAoVmlsbGUgU3lyamFsYSkKPiAKPiBTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmV2aWV3ZWQt Ynk6IERhdmlkIFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KCj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8IDE5ICsrKysr KysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAg IHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgMTIgKysrKysrLS0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICB8IDEzICsrKysrKyst LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgICAgIHwgIDIgKy0K PiAgNyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBiZmRiYmI3NDU5MzkuLmY2YmE4ZjI2MjIz OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC0xMTQsNyArMTE0LDcgQEAgc3Rh dGljIGJvb2wgaTkxNV9lcnJvcl9pbmplY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gIAkJICAgICAgZm10LCAjI19fVkFfQVJHU19fKQo+ICAKPiAgCj4gLXN0YXRpYyBl bnVtIGludGVsX3BjaCBpbnRlbF92aXJ0X2RldGVjdF9wY2goc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiArc3RhdGljIGVudW0gaW50ZWxfcGNoIGludGVsX3ZpcnRfZGV0ZWN0X3BjaChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAgCWVudW0gaW50ZWxfcGNoIHJldCA9 IFBDSF9OT1A7Cj4gIAo+IEBAIC0xMjUsMTYgKzEyNSwxNiBAQCBzdGF0aWMgZW51bSBpbnRlbF9w Y2ggaW50ZWxfdmlydF9kZXRlY3RfcGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkgKiBt YWtlIGFuIGVkdWNhdGVkIGd1ZXNzIGFzIHRvIHdoaWNoIFBDSCBpcyByZWFsbHkgdGhlcmUuCj4g IAkgKi8KPiAgCj4gLQlpZiAoSVNfR0VONShkZXYpKSB7Cj4gKwlpZiAoSVNfR0VONShkZXZfcHJp dikpIHsKPiAgCQlyZXQgPSBQQ0hfSUJYOwo+ICAJCURSTV9ERUJVR19LTVMoIkFzc3VtaW5nIEli ZXggUGVhayBQQ0hcbiIpOwo+IC0JfSBlbHNlIGlmIChJU19HRU42KGRldikgfHwgSVNfSVZZQlJJ REdFKGRldikpIHsKPiArCX0gZWxzZSBpZiAoSVNfR0VONihkZXZfcHJpdikgfHwgSVNfSVZZQlJJ REdFKGRldl9wcml2KSkgewo+ICAJCXJldCA9IFBDSF9DUFQ7Cj4gIAkJRFJNX0RFQlVHX0tNUygi QXNzdW1pbmcgQ291YXJQb2ludCBQQ0hcbiIpOwo+IC0JfSBlbHNlIGlmIChJU19IQVNXRUxMKGRl dikgfHwgSVNfQlJPQURXRUxMKGRldikpIHsKPiArCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZf cHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ICAJCXJldCA9IFBDSF9MUFQ7Cj4g IAkJRFJNX0RFQlVHX0tNUygiQXNzdW1pbmcgTHlueFBvaW50IFBDSFxuIik7Cj4gLQl9IGVsc2Ug aWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19LQUJZTEFLRShkZXYpKSB7Cj4gKwl9IGVsc2UgaWYg KElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgewo+ICAJCXJl dCA9IFBDSF9TUFQ7Cj4gIAkJRFJNX0RFQlVHX0tNUygiQXNzdW1pbmcgU3VucmlzZVBvaW50IFBD SFxuIik7Cj4gIAl9Cj4gQEAgLTE3OCwxMiArMTc4LDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rl dGVjdF9wY2goc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJfSBlbHNlIGlmIChpZCA9PSBJ TlRFTF9QQ0hfQ1BUX0RFVklDRV9JRF9UWVBFKSB7Cj4gIAkJCQlkZXZfcHJpdi0+cGNoX3R5cGUg PSBQQ0hfQ1BUOwo+ICAJCQkJRFJNX0RFQlVHX0tNUygiRm91bmQgQ291Z2FyUG9pbnQgUENIXG4i KTsKPiAtCQkJCVdBUk5fT04oIShJU19HRU42KGRldikgfHwgSVNfSVZZQlJJREdFKGRldikpKTsK PiArCQkJCVdBUk5fT04oIShJU19HRU42KGRldl9wcml2KSB8fAo+ICsJCQkJCUlTX0lWWUJSSURH RShkZXZfcHJpdikpKTsKPiAgCQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfUFBUX0RFVklD RV9JRF9UWVBFKSB7Cj4gIAkJCQkvKiBQYW50aGVyUG9pbnQgaXMgQ1BUIGNvbXBhdGlibGUgKi8K PiAgCQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9DUFQ7Cj4gIAkJCQlEUk1fREVCVUdfS01T KCJGb3VuZCBQYW50aGVyUG9pbnQgUENIXG4iKTsKPiAtCQkJCVdBUk5fT04oIShJU19HRU42KGRl dikgfHwgSVNfSVZZQlJJREdFKGRldikpKTsKPiArCQkJCVdBUk5fT04oIShJU19HRU42KGRldl9w cml2KSB8fAo+ICsJCQkJCUlTX0lWWUJSSURHRShkZXZfcHJpdikpKTsKPiAgCQkJfSBlbHNlIGlm IChpZCA9PSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9JRF9UWVBFKSB7Cj4gIAkJCQlkZXZfcHJpdi0+ cGNoX3R5cGUgPSBQQ0hfTFBUOwo+ICAJCQkJRFJNX0RFQlVHX0tNUygiRm91bmQgTHlueFBvaW50 IFBDSFxuIik7Cj4gQEAgLTIxNyw3ICsyMTksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZXRlY3Rf cGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCQkJICAgIFBDSV9TVUJWRU5ET1JfSURf UkVESEFUX1FVTVJBTkVUICYmCj4gIAkJCQkgICAgcGNoLT5zdWJzeXN0ZW1fZGV2aWNlID09Cj4g IAkJCQkJICAgIFBDSV9TVUJERVZJQ0VfSURfUUVNVSkpIHsKPiAtCQkJCWRldl9wcml2LT5wY2hf dHlwZSA9IGludGVsX3ZpcnRfZGV0ZWN0X3BjaChkZXYpOwo+ICsJCQkJZGV2X3ByaXYtPnBjaF90 eXBlID0KPiArCQkJCQlpbnRlbF92aXJ0X2RldGVjdF9wY2goZGV2X3ByaXYpOwo+ICAJCQl9IGVs c2UKPiAgCQkJCWNvbnRpbnVlOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA3 YTQwZGZhODMwZTcuLjNmMzIxOTMyZDE4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IEBAIC0yNjU1LDcgKzI2NTUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKPiAgI2Rl ZmluZSBJU19QSU5FVklFVyhkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX3BpbmV2aWV3KQo+ICAj ZGVmaW5lIElTX0czMyhkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5pc19nMzMpCj4gICNkZWZpbmUg SVNfSVJPTkxBS0VfTShkZXZfcHJpdikJKElOVEVMX0RFVklEKGRldl9wcml2KSA9PSAweDAwNDYp Cj4gLSNkZWZpbmUgSVNfSVZZQlJJREdFKGRldikJKElOVEVMX0lORk8oZGV2KS0+aXNfaXZ5YnJp ZGdlKQo+ICsjZGVmaW5lIElTX0lWWUJSSURHRShkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8u aXNfaXZ5YnJpZGdlKQo+ICAjZGVmaW5lIElTX0lWQl9HVDEoZGV2X3ByaXYpCShJTlRFTF9ERVZJ RChkZXZfcHJpdikgPT0gMHgwMTU2IHx8IFwKPiAgCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikg PT0gMHgwMTUyIHx8IFwKPiAgCQkJCSBJTlRFTF9ERVZJRChkZXZfcHJpdikgPT0gMHgwMTVhKQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGFmYWE0OTk0NjA0Mi4uNmRhODQxNTAwNTEw IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTQzNjQsNyArNDM2NCw3IEBAIGk5 MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJICAgTE9XRVJfU0xJ Q0VfRU5BQkxFRCA6IExPV0VSX1NMSUNFX0RJU0FCTEVEKTsKPiAgCj4gIAlpZiAoSEFTX1BDSF9O T1AoZGV2X3ByaXYpKSB7Cj4gLQkJaWYgKElTX0lWWUJSSURHRShkZXYpKSB7Cj4gKwkJaWYgKElT X0lWWUJSSURHRShkZXZfcHJpdikpIHsKPiAgCQkJdTMyIHRlbXAgPSBJOTE1X1JFQUQoR0VON19N U0dfQ1RMKTsKPiAgCQkJdGVtcCAmPSB+KFdBSVRfRk9SX1BDSF9GTFJfQUNLIHwgV0FJVF9GT1Jf UENIX1JFU0VUX0FDSyk7Cj4gIAkJCUk5MTVfV1JJVEUoR0VON19NU0dfQ1RMLCB0ZW1wKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggZGYxMGY0ZTk1NzM2 Li5lMTE3Yjk4YzcyNmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCj4gQEAgLTE5Miw3ICsxOTIsNyBAQCBpOTE1X2dlbV9hbGxvY19jb250ZXh0X29iaihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSkKPiAgCSAqIFRoaXMgaXMgb25seSBhcHBs aWNhYmxlIGZvciBJdnkgQnJpZGdlIGRldmljZXMgc2luY2UKPiAgCSAqIGxhdGVyIHBsYXRmb3Jt cyBkb24ndCBoYXZlIEwzIGNvbnRyb2wgYml0cyBpbiB0aGUgUFRFLgo+ICAJICovCj4gLQlpZiAo SVNfSVZZQlJJREdFKGRldikpIHsKPiArCWlmIChJU19JVllCUklER0UodG9faTkxNShkZXYpKSkg ewo+ICAJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfbGV2ZWwob2JqLCBJOTE1X0NB Q0hFX0wzX0xMQyk7Cj4gIAkJLyogRmFpbHVyZSBzaG91bGRuJ3QgZXZlciBoYXBwZW4gdGhpcyBl YXJseSAqLwo+ICAJCWlmIChXQVJOX09OKHJldCkpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gaW5kZXggZWUzYjU5M2QzZWMyLi43ODk0Njc1YmZjYjggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTM3MjksNyArMzcyOSw3IEBAIHN0YXRp YyB2b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJ LyogZW5hYmxlIG5vcm1hbCB0cmFpbiAqLwo+ICAJcmVnID0gRkRJX1RYX0NUTChwaXBlKTsKPiAg CXRlbXAgPSBJOTE1X1JFQUQocmVnKTsKPiAtCWlmIChJU19JVllCUklER0UoZGV2KSkgewo+ICsJ aWYgKElTX0lWWUJSSURHRShkZXZfcHJpdikpIHsKPiAgCQl0ZW1wICY9IH5GRElfTElOS19UUkFJ Tl9OT05FX0lWQjsKPiAgCQl0ZW1wIHw9IEZESV9MSU5LX1RSQUlOX05PTkVfSVZCIHwgRkRJX1RY X0VOSEFOQ0VfRlJBTUVfRU5BQkxFOwo+ICAJfSBlbHNlIHsKPiBAQCAtMzc1NCw3ICszNzU0LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfZmRpX25vcm1hbF90cmFpbihzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAl1ZGVsYXkoMTAwMCk7Cj4gIAo+ICAJLyogSVZCIHdhbnRzIGVycm9yIGNvcnJlY3Rp b24gZW5hYmxlZCAqLwo+IC0JaWYgKElTX0lWWUJSSURHRShkZXYpKQo+ICsJaWYgKElTX0lWWUJS SURHRShkZXZfcHJpdikpCj4gIAkJSTkxNV9XUklURShyZWcsIEk5MTVfUkVBRChyZWcpIHwgRkRJ X0ZTX0VSUkNfRU5BQkxFIHwKPiAgCQkJICAgRkRJX0ZFX0VSUkNfRU5BQkxFKTsKPiAgfQo+IEBA IC00NTQwLDcgKzQ1NDAsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfZW5hYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlhc3NlcnRfcGNoX3RyYW5zY29kZXJfZGlzYWJsZWQo ZGV2X3ByaXYsIHBpcGUpOwo+ICAKPiAtCWlmIChJU19JVllCUklER0UoZGV2KSkKPiArCWlmIChJ U19JVllCUklER0UoZGV2X3ByaXYpKQo+ICAJCWl2eWJyaWRnZV91cGRhdGVfZmRpX2JjX2JpZnVy Y2F0aW9uKGludGVsX2NydGMpOwo+ICAKPiAgCS8qIFdyaXRlIHRoZSBUVSBzaXplIGJpdHMgYmVm b3JlIGZkaSBsaW5rIHRyYWluaW5nLCBzbyB0aGF0IGVycm9yCj4gQEAgLTQ4NTQsNyArNDg1NCw3 IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKQo+ICAJCSAqIGFzIHNvbWUgcHJlLXByb2dyYW1tZWQgdmFsdWVzIGFyZSBicm9rZW4sCj4g IAkJICogZS5nLiB4MjAxLgo+ICAJCSAqLwo+IC0JCWlmIChJU19JVllCUklER0UoZGV2KSB8fCBJ U19IQVNXRUxMKGRldikpCj4gKwkJaWYgKElTX0lWWUJSSURHRShkZXZfcHJpdikgfHwgSVNfSEFT V0VMTChkZXZfcHJpdikpCj4gIAkJCUk5MTVfV1JJVEUoUEZfQ1RMKHBpcGUpLCBQRl9FTkFCTEUg fCBQRl9GSUxURVJfTUVEXzN4MyB8Cj4gIAkJCQkJCSBQRl9QSVBFX1NFTF9JVkIocGlwZSkpOwo+ ICAJCWVsc2UKPiBAQCAtMTIyNTEsNyArMTIyNTEsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNf cGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQlpZiAoZmItPm1vZGlmaWVyWzBd ICE9IG9sZF9mYi0+bW9kaWZpZXJbMF0pCj4gIAkJCS8qIHZsdjogRElTUExBWV9GTElQIGZhaWxz IHRvIGNoYW5nZSB0aWxpbmcgKi8KPiAgCQkJZW5naW5lID0gTlVMTDsKPiAtCX0gZWxzZSBpZiAo SVNfSVZZQlJJREdFKGRldikgfHwgSVNfSEFTV0VMTChkZXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElT X0lWWUJSSURHRShkZXZfcHJpdikgfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKPiAgCQllbmdp bmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtCQ1NdOwo+ICAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRl diktPmdlbiA+PSA3KSB7Cj4gIAkJZW5naW5lID0gaTkxNV9nZW1fYWN0aXZlX2dldF9lbmdpbmUo Jm9iai0+bGFzdF93cml0ZSwKPiBAQCAtMTI1MjcsNyArMTI1MjcsNyBAQCBpbnQgaW50ZWxfcGxh bmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gIAkgKiBjc3RhdGUtPnVwZGF0ZV93bSB3YXMgYWxyZWFkeSBzZXQgYWJvdmUsIHNvIHRoaXMg ZmxhZyB3aWxsCj4gIAkgKiB0YWtlIGVmZmVjdCB3aGVuIHdlIGNvbW1pdCBhbmQgcHJvZ3JhbSB3 YXRlcm1hcmtzLgo+ICAJICovCj4gLQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVf T1ZFUkxBWSAmJiBJU19JVllCUklER0UoZGV2KSAmJgo+ICsJaWYgKHBsYW5lLT50eXBlID09IERS TV9QTEFORV9UWVBFX09WRVJMQVkgJiYgSVNfSVZZQlJJREdFKGRldl9wcml2KSAmJgo+ICAJICAg IG5lZWRzX3NjYWxpbmcodG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSAmJgo+ICAJ ICAgICFuZWVkc19zY2FsaW5nKG9sZF9wbGFuZV9zdGF0ZSkpCj4gIAkJcGlwZV9jb25maWctPmRp c2FibGVfbHBfd20gPSB0cnVlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDA0YTM4 YTM3YWYyZS4uOTE1NTczNWQwMWRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAg LTIxOTEsMTQgKzIxOTEsMTUgQEAgc3RhdGljIHZvaWQgaW50ZWxfZml4dXBfc3ByX3dtX2xhdGVu Y3koc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWludDE2X3Qgd21bNV0pCj4gIAkJd21bMF0gPSAx MzsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50ZWxfZml4dXBfY3VyX3dtX2xhdGVuY3koc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdWludDE2X3Qgd21bNV0pCj4gK3N0YXRpYyB2b2lkIGludGVs X2ZpeHVwX2N1cl93bV9sYXRlbmN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiArCQkJCSAgICAgICB1aW50MTZfdCB3bVs1XSkKPiAgewo+ICAJLyogSUxLIGN1cnNvciBMUDAg bGF0ZW5jeSBpcyAxMzAwIG5zICovCj4gLQlpZiAoSVNfR0VONShkZXYpKQo+ICsJaWYgKElTX0dF TjUoZGV2X3ByaXYpKQo+ICAJCXdtWzBdID0gMTM7Cj4gIAo+ICAJLyogV2FEb3VibGVDdXJzb3JM UDNMYXRlbmN5Oml2YiAqLwo+IC0JaWYgKElTX0lWWUJSSURHRShkZXYpKQo+ICsJaWYgKElTX0lW WUJSSURHRShkZXZfcHJpdikpCj4gIAkJd21bM10gKj0gMjsKPiAgfQo+ICAKPiBAQCAtMjI5NCw3 ICsyMjk1LDcgQEAgc3RhdGljIHZvaWQgaWxrX3NldHVwX3dtX2xhdGVuY3koc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCSAgICAgICBzaXplb2YoZGV2X3ByaXYtPndtLnByaV9sYXRlbmN5KSk7 Cj4gIAo+ICAJaW50ZWxfZml4dXBfc3ByX3dtX2xhdGVuY3koZGV2LCBkZXZfcHJpdi0+d20uc3By X2xhdGVuY3kpOwo+IC0JaW50ZWxfZml4dXBfY3VyX3dtX2xhdGVuY3koZGV2LCBkZXZfcHJpdi0+ d20uY3VyX2xhdGVuY3kpOwo+ICsJaW50ZWxfZml4dXBfY3VyX3dtX2xhdGVuY3koZGV2X3ByaXYs IGRldl9wcml2LT53bS5jdXJfbGF0ZW5jeSk7Cj4gIAo+ICAJaW50ZWxfcHJpbnRfd21fbGF0ZW5j eShkZXYsICJQcmltYXJ5IiwgZGV2X3ByaXYtPndtLnByaV9sYXRlbmN5KTsKPiAgCWludGVsX3By aW50X3dtX2xhdGVuY3koZGV2LCAiU3ByaXRlIiwgZGV2X3ByaXYtPndtLnNwcl9sYXRlbmN5KTsK PiBAQCAtMjUyMiw3ICsyNTIzLDcgQEAgc3RhdGljIHZvaWQgaWxrX3dtX21lcmdlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAlpbnQgbGFzdF9lbmFibGVkX2xldmVsID0gbWF4X2xldmVsOwo+ ICAKPiAgCS8qIElMSy9TTkIvSVZCOiBMUDErIHdhdGVybWFya3Mgb25seSB3LyBzaW5nbGUgcGlw ZSAqLwo+IC0JaWYgKChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA2IHx8IElTX0lWWUJSSURHRShk ZXYpKSAmJgo+ICsJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDYgfHwgSVNfSVZZQlJJREdF KGRldl9wcml2KSkgJiYKPiAgCSAgICBjb25maWctPm51bV9waXBlc19hY3RpdmUgPiAxKQo+ICAJ CWxhc3RfZW5hYmxlZF9sZXZlbCA9IDA7Cj4gIAo+IEBAIC00NjE3LDcgKzQ2MTgsNyBAQCB2b2lk IGlsa193bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWlmIChJU19I QVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikpCj4gIAkJaHctPnBhcnRpdGlvbmluZyA9 IChJOTE1X1JFQUQoV01fTUlTQykgJiBXTV9NSVNDX0RBVEFfUEFSVElUSU9OXzVfNikgPwo+ICAJ CQlJTlRFTF9EREJfUEFSVF81XzYgOiBJTlRFTF9EREJfUEFSVF8xXzI7Cj4gLQllbHNlIGlmIChJ U19JVllCUklER0UoZGV2KSkKPiArCWVsc2UgaWYgKElTX0lWWUJSSURHRShkZXZfcHJpdikpCj4g IAkJaHctPnBhcnRpdGlvbmluZyA9IChJOTE1X1JFQUQoRElTUF9BUkJfQ1RMMikgJiBESVNQX0RB VEFfUEFSVElUSU9OXzVfNikgPwo+ICAJCQlJTlRFTF9EREJfUEFSVF81XzYgOiBJTlRFTF9EREJf UEFSVF8xXzI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gaW5kZXggNzNh NTIxZmRmMWJkLi5kMGY3OThjZTZiYjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJp dGUuYwo+IEBAIC0xMDg0LDcgKzEwODQsNyBAQCBpbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCj4gIAo+ICAJY2FzZSA3Ogo+ ICAJY2FzZSA4Ogo+IC0JCWlmIChJU19JVllCUklER0UoZGV2KSkgewo+ICsJCWlmIChJU19JVllC UklER0UodG9faTkxNShkZXYpKSkgewo+ICAJCQlpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID0gdHJ1 ZTsKPiAgCQkJaW50ZWxfcGxhbmUtPm1heF9kb3duc2NhbGUgPSAyOwo+ICAJCX0gZWxzZSB7Cj4g LS0gCj4gMi43LjQKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==