From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC 2/3] drm/i915: Prefer IS_GEN check with bitmask. Date: Wed, 24 Oct 2018 13:22:57 +0300 Message-ID: <20181024102257.GZ9144@intel.com> References: <20181023233620.10159-1-rodrigo.vivi@intel.com> <20181023233620.10159-2-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 6BA4C6E274 for ; Wed, 24 Oct 2018 10:23:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181023233620.10159-2-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: Julia Lawall , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjMsIDIwMTggYXQgMDQ6MzY6MTlQTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IFdoZW5ldmVyIHBvc3NpYmxlIHdlIHNob3VsZCBzdGljayB3aXRoIElTX0dFTjxuPiBj aGVja3MuCj4gCj4gQml0bWFrcyBoYXMgYmVlbiBpbnRyb2R1Y2VkIG9uIGNvbW1pdCBhZTc2MTdm MGVmMTggKCJkcm0vaTkxNToKPiBBbGxvdyBvcHRpbWl6ZWQgcGxhdGZvcm0gY2hlY2tzIikgZm9y IGVmZmljaWVuY3kuCj4gCj4gTGV0J3Mgc3RpY2sgd2l0aCBpdCB3aGVuZXZlciBwb3NzaWJsZS4K PiAKPiBUaGlzIHBhdGNoIHdhcyBnZW5lcmF0ZWQgd2l0aCBjb2NjaW5lbGxlOgo+IAo+IHNwYXRj aCAtc3BfZmlsZSBpc19nZW4uY29jY2kgKntjLGh9IC0taW4tcGxhY2UKPiAKPiBpc19nZW4uY29j Y2k6Cj4gQGdlbjJAIGV4cHJlc3Npb24gZTsgQEAKPiAtSU5URUxfR0VOKGUpID09IDIKPiArSVNf R0VOMihlKQo+IEBnZW4zQCBleHByZXNzaW9uIGU7IEBACj4gLUlOVEVMX0dFTihlKSA9PSAzCj4g K0lTX0dFTjMoZSkKPiBAZ2VuNEAgZXhwcmVzc2lvbiBlOyBAQAo+IC1JTlRFTF9HRU4oZSkgPT0g NAo+ICtJU19HRU40KGUpCj4gQGdlbjVAIGV4cHJlc3Npb24gZTsgQEAKPiAtSU5URUxfR0VOKGUp ID09IDUKPiArSVNfR0VONShlKQo+IEBnZW42QCBleHByZXNzaW9uIGU7IEBACj4gLUlOVEVMX0dF TihlKSA9PSA2Cj4gK0lTX0dFTjYoZSkKPiBAZ2VuN0AgZXhwcmVzc2lvbiBlOyBAQAo+IC1JTlRF TF9HRU4oZSkgPT0gNwo+ICtJU19HRU43KGUpCj4gQGdlbjhAIGV4cHJlc3Npb24gZTsgQEAKPiAt SU5URUxfR0VOKGUpID09IDgKPiArSVNfR0VOOChlKQo+IEBnZW45QCBleHByZXNzaW9uIGU7IEBA Cj4gLUlOVEVMX0dFTihlKSA9PSA5Cj4gK0lTX0dFTjkoZSkKPiBAZ2VuMTBAIGV4cHJlc3Npb24g ZTsgQEAKPiAtSU5URUxfR0VOKGUpID09IDEwCj4gK0lTX0dFTjEwKGUpCj4gQGdlbjExQCBleHBy ZXNzaW9uIGU7IEBACj4gLUlOVEVMX0dFTihlKSA9PSAxMQo+ICtJU19HRU4xMShlKQoKU2xpZ2h0 bHkgbGVzcyByZXBldGl0aXZlIHZlcnNpb24uIFNhZGx5IG5vdCBzdXBlciBuZWF0IG9uCmFjY291 bnQgb2YgaGF2aW5nIHRvIHVzZSB0aGUgcHl0aG9uIHN0dWZmLgoKQGZpbmRACmlkZW50aWZpZXIg b2xkID1+ICJeSU5URUxfR0VOJCI7CmV4cHJlc3Npb24gZXhwOwpjb25zdGFudCBnZW47CkBACm9s ZChleHApID09IGdlbgoKQHNjcmlwdDpweXRob24gcmVuYW1lQApvbGQgPDwgZmluZC5vbGQ7Cmdl biA8PCBmaW5kLmdlbjsKbmV3OwpAQApkZWYgZG9fcmVuYW1lKG9sZCwgZ2VuKToKICAgIHJldHVy biAiSVNfR0VOIiArIGdlbgpjb2NjaW5lbGxlLm5ldyA9IGNvY2NpLm1ha2VfaWRlbnQoZG9fcmVu YW1lKG9sZCwgZ2VuKSkKcHJpbnQgY29jY2luZWxsZS5uZXcKCkBACmlkZW50aWZpZXIgZmluZC5v bGQ7CmV4cHJlc3Npb24gZmluZC5leHA7CmNvbnN0YW50IGZpbmQuZ2VuOwppZGVudGlmaWVyIHJl bmFtZS5uZXc7CkBACi0gb2xkKGV4cCkgPT0gZ2VuCisgbmV3KGV4cCkKCgpJIHdpc2ggaXQgd291 bGQgbG9vayBzb21ldGhpbmcgbW9yZSBsaWtlIHRoaXM6CgpAQAppZGVudGlmaWVyIG9sZAk9fiAi XklOVEVMX0dFTiQiOwpleHByZXNzaW9uIGV4cDsKY29uc3RhbnQgZ2VuOwpmcmVzaCBpZGVudGlm aWVyIG5ldyA9ICJJU19HRU4iICMjIGdlbjsKQEAKLSBvbGQoZXhwKSA9PSBnZW4KKyBuZXcoZXhw KQoKQnV0IGNvY2NpbmVsbGUgZG9lc24ndCBzZWVtIHRvIGFjY2VwdCB0aGUgY29uc3RhbnQgaW4g dGhlIGZyZXNoCmlkZW50aWZpZXIgdGhpbmcuCgoKUGF0Y2ggbG9va3MgZmluZSBhbnl3YXlzClJl dmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgoKPiAKPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiBT aWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgfCAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICAgICAgfCAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgfCA2ICsrKy0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYyAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYyAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgICAgIHwgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAg ICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCAgfCA0 ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgICAgICB8IDIgKy0K PiAgMTEgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggYmFhYzM1ZjY5OGY5Li5kNzU1ZTg0ZmVk MDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMTMyOSw3ICsxMzI5LDcgQEAg aW50ZWxfZ2V0X2RyYW1faW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4g IAkvKiBOZWVkIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGggb25seSBmb3IgR2VuOSAqLwo+ICAJaWYg KElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICAJCXJldCA9IGJ4dF9nZXRfZHJhbV9pbmZvKGRldl9w cml2KTsKPiAtCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gOSkKPiArCWVsc2UgaWYg KElTX0dFTjkoZGV2X3ByaXYpKQo+ICAJCXJldCA9IHNrbF9nZXRfZHJhbV9pbmZvKGRldl9wcml2 KTsKPiAgCWVsc2UKPiAgCQlyZXQgPSBza2xfZHJhbV9nZXRfY2hhbm5lbHNfaW5mbyhkZXZfcHJp dik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiBpbmRleCA3NjA3NThhZDIxYzEu LjM1MjZmNmQ5YzFhZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gQEAg LTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVyKHN0 cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YQo+ICAJaWYgKHBsYW5lX3N0 YXRlICYmIHBsYW5lX3N0YXRlLT5iYXNlLmZiICYmCj4gIAkgICAgcGxhbmVfc3RhdGUtPmJhc2Uu ZmItPmZvcm1hdC0+aXNfeXV2ICYmCj4gIAkgICAgcGxhbmVfc3RhdGUtPmJhc2UuZmItPmZvcm1h dC0+bnVtX3BsYW5lcyA+IDEpIHsKPiAtCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA9PSA5ICYm Cj4gKwkJaWYgKElTX0dFTjkoZGV2X3ByaXYpICYmCj4gIAkJICAgICFJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKPiAgCQkJbW9kZSA9IFNLTF9QU19TQ0FMRVJfTU9ERV9OVjEyOwo+ICAJCWVsc2UK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPiBpbmRleCAwM2RmNGUz Mzc2M2QuLjU2MWFkMGQ0YTUzZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZpY2VfaW5mby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2 aWNlX2luZm8uYwo+IEBAIC03NDQsNyArNzQ0LDcgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19y dW50aW1lX2luaXQoc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZvKQo+ICAJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPj0gMTApIHsKPiAgCQlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBl KQo+ICAJCQlpbmZvLT5udW1fc2NhbGVyc1twaXBlXSA9IDI7Cj4gLQl9IGVsc2UgaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPT0gOSkgewo+ICsJfSBlbHNlIGlmIChJU19HRU45KGRldl9wcml2KSkg ewo+ICAJCWluZm8tPm51bV9zY2FsZXJzW1BJUEVfQV0gPSAyOwo+ICAJCWluZm8tPm51bV9zY2Fs ZXJzW1BJUEVfQl0gPSAyOwo+ICAJCWluZm8tPm51bV9zY2FsZXJzW1BJUEVfQ10gPSAxOwo+IEBA IC04NDMsOSArODQzLDkgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3Ry dWN0IGludGVsX2RldmljZV9pbmZvICppbmZvKQo+ICAJCWNoZXJyeXZpZXdfc3NldV9pbmZvX2lu aXQoZGV2X3ByaXYpOwo+ICAJZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkKPiAgCQli cm9hZHdlbGxfc3NldV9pbmZvX2luaXQoZGV2X3ByaXYpOwo+IC0JZWxzZSBpZiAoSU5URUxfR0VO KGRldl9wcml2KSA9PSA5KQo+ICsJZWxzZSBpZiAoSVNfR0VOOShkZXZfcHJpdikpCj4gIAkJZ2Vu OV9zc2V1X2luZm9faW5pdChkZXZfcHJpdik7Cj4gLQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3By aXYpID09IDEwKQo+ICsJZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCWdlbjEwX3Nz ZXVfaW5mb19pbml0KGRldl9wcml2KTsKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTEpCj4gIAkJZ2VuMTFfc3NldV9pbmZvX2luaXQoZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBmYzdlM2IwYmQ5NWMuLmE2ODY5YzU0N2YzYyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNTI2OCw3ICs1MjY4 LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNfbnYxMl93YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfQlJPWFRPTihkZXZf cHJpdikpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAtCWlmICgoSU5URUxfR0VOKGRldl9wcml2 KSA9PSA5ICYmICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkgfHwKPiArCWlmICgoSVNfR0VOOShk ZXZfcHJpdikgJiYgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB8fAo+ICAJICAgIElTX0NBTk5P TkxBS0UoZGV2X3ByaXYpKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiBpbmRleCA4YzM4ZWZlZjc3YTEuLjc2MTQ0N2M0NTZjNyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+IEBAIC00NTUsNyArNDU1LDcgQEAgaW50ZWxfZHBfc2V0X3NvdXJjZV9y YXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTApIHsKPiAgCQlzb3VyY2VfcmF0ZXMgPSBjbmxfcmF0ZXM7Cj4gIAkJc2l6ZSA9IEFS UkFZX1NJWkUoY25sX3JhdGVzKTsKPiAtCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA9PSAxMCkK PiArCQlpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCQltYXhfcmF0ZSA9IGNubF9tYXhfc291 cmNlX3JhdGUoaW50ZWxfZHApOwo+ICAJCWVsc2UKPiAgCQkJbWF4X3JhdGUgPSBpY2xfbWF4X3Nv dXJjZV9yYXRlKGludGVsX2RwKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu Ywo+IGluZGV4IDY1ZjZjOWJjMTBjZi4uYTRiMWQ4MmM4OWRhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiBAQCAtODEyLDcgKzgxMiw3IEBAIHUzMiBpbnRlbF9j YWxjdWxhdGVfbWNyX3Nfc3Nfc2VsZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCXUzMiBzbGljZSA9IGZscyhzc2V1LT5zbGljZV9tYXNrKTsKPiAgCXUzMiBzdWJzbGlj ZSA9IGZscyhzc2V1LT5zdWJzbGljZV9tYXNrW3NsaWNlXSk7Cj4gIAo+IC0JaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPT0gMTApCj4gKwlpZiAoSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAJCW1jcl9z X3NzX3NlbGVjdCA9IEdFTjhfTUNSX1NMSUNFKHNsaWNlKSB8Cj4gIAkJCQkgIEdFTjhfTUNSX1NV QlNMSUNFKHN1YnNsaWNlKTsKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiBpbmRleCBjOTA5NTRjZGZiMTUuLjk2ZjcwZDg5 NmMxMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gQEAgLTg0LDcgKzg0LDcgQEAg c3RhdGljIGludCBpbnRlbF9mYmNfY2FsY3VsYXRlX2NmYl9zaXplKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCWludCBsaW5lczsKPiAgCj4gIAlpbnRlbF9mYmNfZ2V0X3Bs YW5lX3NvdXJjZV9zaXplKGNhY2hlLCBOVUxMLCAmbGluZXMpOwo+IC0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPT0gNykKPiArCWlmIChJU19HRU43KGRldl9wcml2KSkKPiAgCQlsaW5lcyA9IG1p bihsaW5lcywgMjA0OCk7Cj4gIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpCj4g IAkJbGluZXMgPSBtaW4obGluZXMsIDI1NjApOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGlu ZGV4IDY3YTRkMDczNTI5MS4uMzc5Mzg2NmE5ZWU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCj4gQEAgLTQ2NzYsMTMgKzQ2NzYsMTMgQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFu ZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCXNlbGVj dGVkX3Jlc3VsdCA9IG1ldGhvZDI7Cj4gIAkJfSBlbHNlIGlmIChkZGJfYWxsb2NhdGlvbiA+PQo+ ICAJCQkgZml4ZWQxNl90b191MzJfcm91bmRfdXAod3AtPnBsYW5lX2Jsb2Nrc19wZXJfbGluZSkp IHsKPiAtCQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gOSAmJgo+ICsJCQlpZiAoSVNfR0VO OShkZXZfcHJpdikgJiYKPiAgCQkJICAgICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiAgCQkJ CXNlbGVjdGVkX3Jlc3VsdCA9IG1pbl9maXhlZDE2KG1ldGhvZDEsIG1ldGhvZDIpOwo+ICAJCQll bHNlCj4gIAkJCQlzZWxlY3RlZF9yZXN1bHQgPSBtZXRob2QyOwo+ICAJCX0gZWxzZSBpZiAobGF0 ZW5jeSA+PSB3cC0+bGluZXRpbWVfdXMpIHsKPiAtCQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg PT0gOSAmJgo+ICsJCQlpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYKPiAgCQkJICAgICFJU19HRU1J TklMQUtFKGRldl9wcml2KSkKPiAgCQkJCXNlbGVjdGVkX3Jlc3VsdCA9IG1pbl9maXhlZDE2KG1l dGhvZDEsIG1ldGhvZDIpOwo+ICAJCQllbHNlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiBp bmRleCA0MjNjZGY4NDA1OWMuLmJjMmQ4ODMxM2VkMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCj4gQEAgLTU3NCw3ICs1NzQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxl X3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJaWYgKGRldl9wcml2LT5wc3Iu cHNyMl9lbmFibGVkKSB7Cj4gIAkJdTMyIGNoaWNrZW4gPSBJOTE1X1JFQUQoQ0hJQ0tFTl9UUkFO UyhjcHVfdHJhbnNjb2RlcikpOwo+ICAKPiAtCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA9PSA5 ICYmICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiArCQlpZiAoSVNfR0VOOShkZXZfcHJpdikg JiYgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICAJCQljaGlja2VuIHw9IChQU1IyX1ZTQ19F TkFCTEVfUFJPR19IRUFERVIKPiAgCQkJCSAgIHwgUFNSMl9BRERfVkVSVElDQUxfTElORV9DT1VO VCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBpbmRleCBm NmVjNDhhNzVhNjkuLmQzYTA4ZDBmMDJmZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKPiBAQCAtOTMsMTEgKzkzLDExIEBAIGhhbmdjaGVja19hY3Rpb25fdG9f c3RyKGNvbnN0IGVudW0gaW50ZWxfZW5naW5lX2hhbmdjaGVja19hY3Rpb24gYSkKPiAgI2RlZmlu ZSBJOTE1X01BWF9TVUJTTElDRVMgOAo+ICAKPiAgI2RlZmluZSBpbnN0ZG9uZV9zbGljZV9tYXNr KGRldl9wcml2X18pIFwKPiAtCShJTlRFTF9HRU4oZGV2X3ByaXZfXykgPT0gNyA/IFwKPiArCShJ U19HRU43KGRldl9wcml2X18pID8gXAo+ICAJIDEgOiBJTlRFTF9JTkZPKGRldl9wcml2X18pLT5z c2V1LnNsaWNlX21hc2spCj4gIAo+ICAjZGVmaW5lIGluc3Rkb25lX3N1YnNsaWNlX21hc2soZGV2 X3ByaXZfXykgXAo+IC0JKElOVEVMX0dFTihkZXZfcHJpdl9fKSA9PSA3ID8gXAo+ICsJKElTX0dF TjcoZGV2X3ByaXZfXykgPyBcCj4gIAkgMSA6IElOVEVMX0lORk8oZGV2X3ByaXZfXyktPnNzZXUu c3Vic2xpY2VfbWFza1swXSkKPiAgCj4gICNkZWZpbmUgZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vf c3Vic2xpY2UoZGV2X3ByaXZfXywgc2xpY2VfXywgc3Vic2xpY2VfXykgXAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jCj4gaW5kZXggN2NkNTllZWU1Y2FkLi40YzlmMGI3MTM4YjMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0xNzk4LDcgKzE3OTgsNyBA QCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfaGFzX3BsYW5hcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfQlJPWFRPTihk ZXZfcHJpdikpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAtCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID09IDkgJiYgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQRV9DKQo+ ICsJaWYgKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19HRU1JTklMQUtFKGRldl9wcml2KSAmJiBw aXBlID09IFBJUEVfQykKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICAJaWYgKHBsYW5lX2lkICE9 IFBMQU5FX1BSSU1BUlkgJiYgcGxhbmVfaWQgIT0gUExBTkVfU1BSSVRFMCkKPiAtLSAKPiAyLjE5 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==