From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anusha Srivatsa Subject: [PATCH] drm/i915: Use IS_GEN9 and IS_LP to put Skylake and Kabylake in the same bucket. Date: Thu, 19 Jan 2017 16:16:58 -0800 Message-ID: <1484871418-22335-1-git-send-email-anusha.srivatsa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id F2F8B6E16E for ; Fri, 20 Jan 2017 00:17:07 +0000 (UTC) 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: Jani Nikula , Ander Conselvan de Oliveira , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org V2l0aCBHTEsgd2FzIGludHJvZHVjZWQgSVNfTFAuCldpdGggdGhpcywgd2UgY2FuIHVzZSBJU19H RU45IGFuZCBJU19MUCB0byBwdXQgU2t5bGFrZQphbmQgS2FieWxha2UgaW4gdGhlIHNhbWUgYnVj a2V0LiBUaGUgbWFpbiBpbnRlbnRpb24gaXMKdG8gc2ltcGxpZnkgdGhlIGlmIGFuZCBlbHNlIHN0 YXRlbWVudHMgdGhhdCBnZXRzIGFkZGVkCmZvciBldmVyeSBuZXcgcGxhdGZvcm0uCgpUaGlzIGFw cHJvYWNoIHByb3Bvc2VzIHRoZSBpZGVhIHRvIGNyZWF0ZSBhIGNvbW1vbiBidWNrZXQKdG8gcHV0 IG11bHRpcGxlIHBsYXRmb3JtcyAoU0tMIGFuZCBLQkwgaW4gdGhpcyBjYXNlKQp0b2dldGhlci4g QW5vdGhlciBhcHByb2FjaCB3b3VsZCBiZSB0byBpbnRyb2R1Y2UgSVNfR0VOOV9CQwphcyBzdWdn ZXN0ZWQgYnkgUm9kcmlnbywgd2hlcmUgX0JDIHN0YW5kcyBmb3IgQmlnIENvcmUuCgpUaGUgaTkx NV9kcnYuYyB3YXMgbGV0IG91dCBvZiB0aGlzIHBhdGNoIG9uIHB1cnBvc2UKYmVjYXVzZSB0aGF0 IGlzIHJlYWxseSBhIGRlY2lzaW9uIHBlciBwbGF0Zm9ybSwganVzdCBsaWtlCm90aGVyIGNhc2Vz IHdoZXJlIElTX0tBQllMQUtFIGlzIGRpZmZlcmVudCBmcm9tIElTX1NLWUxBS0UuCgpDYzogUm9k cmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogQW5kZXIgQ29uc2VsdmFuIGRl IE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgpDYzogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW51c2hhIFNy aXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jICAgICAgfCAxMiArKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F1ZGlvLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYyAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jICAgICAgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgICAgIHwgMTIgKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBsbF9tZ3IuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMu YyAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jICAgICAg ICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgfCAxMSArKysr Ky0tLS0tLQogMTIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCBmYTY5ZDcyLi5hNGZkYjlm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMTIyNCwyMCArMTIyNCwyMCBA QCBzdGF0aWMgaW50IGk5MTVfZnJlcXVlbmN5X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lk ICp1bnVzZWQpCiAKIAkJbWF4X2ZyZXEgPSAoSVNfR0VOOV9MUChkZXZfcHJpdikgPyBycF9zdGF0 ZV9jYXAgPj4gMCA6CiAJCQkgICAgcnBfc3RhdGVfY2FwID4+IDE2KSAmIDB4ZmY7Ci0JCW1heF9m cmVxICo9IChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikgPwor CQltYXhfZnJlcSAqPSAoKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpID8K IAkJCSAgICAgR0VOOV9GUkVRX1NDQUxFUiA6IDEpOwogCQlzZXFfcHJpbnRmKG0sICJMb3dlc3Qg KFJQTikgZnJlcXVlbmN5OiAlZE1IelxuIiwKIAkJCSAgIGludGVsX2dwdV9mcmVxKGRldl9wcml2 LCBtYXhfZnJlcSkpOwogCiAJCW1heF9mcmVxID0gKHJwX3N0YXRlX2NhcCAmIDB4ZmYwMCkgPj4g ODsKLQkJbWF4X2ZyZXEgKj0gKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRl dl9wcml2KSA/CisJCW1heF9mcmVxICo9ICgoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRl dl9wcml2KSkgPwogCQkJICAgICBHRU45X0ZSRVFfU0NBTEVSIDogMSk7CiAJCXNlcV9wcmludGYo bSwgIk5vbWluYWwgKFJQMSkgZnJlcXVlbmN5OiAlZE1IelxuIiwKIAkJCSAgIGludGVsX2dwdV9m cmVxKGRldl9wcml2LCBtYXhfZnJlcSkpOwogCiAJCW1heF9mcmVxID0gKElTX0dFTjlfTFAoZGV2 X3ByaXYpID8gcnBfc3RhdGVfY2FwID4+IDE2IDoKIAkJCSAgICBycF9zdGF0ZV9jYXAgPj4gMCkg JiAweGZmOwotCQltYXhfZnJlcSAqPSAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxB S0UoZGV2X3ByaXYpID8KKwkJbWF4X2ZyZXEgKj0gKChJU19HRU45KGRldl9wcml2KSAmJiAhSVNf TFAoZGV2X3ByaXYpKSA/CiAJCQkgICAgIEdFTjlfRlJFUV9TQ0FMRVIgOiAxKTsKIAkJc2VxX3By aW50ZihtLCAiTWF4IG5vbi1vdmVyY2xvY2tlZCAoUlAwKSBmcmVxdWVuY3k6ICVkTUh6XG4iLAog CQkJICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYsIG1heF9mcmVxKSk7CkBAIC0xODE0LDcgKzE4 MTQsNyBAQCBzdGF0aWMgaW50IGk5MTVfcmluZ19mcmVxX3RhYmxlKHN0cnVjdCBzZXFfZmlsZSAq bSwgdm9pZCAqdW51c2VkKQogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCi0JaWYgKElTX1NLWUxB S0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19HRU45KGRl dl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCS8qIENvbnZlcnQgR1QgZnJlcXVlbmN5 IHRvIDUwIEhaIHVuaXRzICovCiAJCW1pbl9ncHVfZnJlcSA9CiAJCQlkZXZfcHJpdi0+cnBzLm1p bl9mcmVxX3NvZnRsaW1pdCAvIEdFTjlfRlJFUV9TQ0FMRVI7CkBAIC0xODM0LDcgKzE4MzQsNyBA QCBzdGF0aWMgaW50IGk5MTVfcmluZ19mcmVxX3RhYmxlKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9p ZCAqdW51c2VkKQogCQkJCSAgICAgICAmaWFfZnJlcSk7CiAJCXNlcV9wcmludGYobSwgIiVkXHRc dCVkXHRcdFx0XHQlZFxuIiwKIAkJCSAgIGludGVsX2dwdV9mcmVxKGRldl9wcml2LCAoZ3B1X2Zy ZXEgKgotCQkJCShJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikg PworCQkJCSgoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRldl9wcml2KSkgPwogCQkJCSBH RU45X0ZSRVFfU0NBTEVSIDogMSkpKSwKIAkJCSAgICgoaWFfZnJlcSA+PiAwKSAmIDB4ZmYpICog MTAwLAogCQkJICAgKChpYV9mcmVxID4+IDgpICYgMHhmZikgKiAxMDApOwpAQCAtNDQ0NCw3ICs0 NDQ0LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCXNzZXUtPnNsaWNlX21hc2sgfD0gQklUKHMpOwog Ci0JCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpCisJ CWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKQogCQkJc3NldS0+c3Vi c2xpY2VfbWFzayA9CiAJCQkJSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xpY2VfbWFz azsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKaW5kZXggMTZjMjAyNy4uZmIyYTdlZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCkBAIC03MDIsNyArNzAyLDcgQEAgc3RhdGlj IHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfY29kZWNfd2FrZV9vdmVycmlkZShzdHJ1Y3QgZGV2 aWNlICprZGV2LAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGtkZXZfdG9f aTkxNShrZGV2KTsKIAl1MzIgdG1wOwogCi0JaWYgKCFJU19TS1lMQUtFKGRldl9wcml2KSAmJiAh SVNfS0FCWUxBS0UoZGV2X3ByaXYpKQorCWlmICghKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19M UChkZXZfcHJpdikpKQogCQlyZXR1cm47CiAKIAlpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93 ZXIoa2Rldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCBkODEyMzJiLi5jMWU2 ODkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKQEAgLTUzNiw4ICs1MzYsOCBAQCB2 b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCX0gZWxzZSBpZiAo SVNfSEFTV0VMTChkZXZfcHJpdikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0 cml4ID0gaTl4eF9sb2FkX2NzY19tYXRyaXg7CiAJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0 cyA9IGhhc3dlbGxfbG9hZF9sdXRzOwotCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2 KSB8fCBJU19TS1lMQUtFKGRldl9wcml2KSB8fAotCQkgICBJU19CUk9YVE9OKGRldl9wcml2KSB8 fCBJU19LQUJZTEFLRShkZXZfcHJpdikpIHsKKwl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZf cHJpdikgfHwgKElTX0dFTjkoZGV2X3ByaXYpICYmCisJCQkhSVNfR0VNSU5JTEFLRShkZXZfcHJp dikpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfY3NjX21hdHJpeCA9IGk5eHhfbG9hZF9j c2NfbWF0cml4OwogCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBicm9hZHdlbGxfbG9h ZF9sdXRzOwogCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDY2YjM2N2Qu LjdjMzY0MjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC00NDUsNyArNDQ1LDcgQEAg c3RhdGljIGludCBpbnRlbF9kZGlfaGRtaV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGVudW0gcG9ydCBwb3IKIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCiAJCXJl dHVybiBoZG1pX2xldmVsOwogCi0JaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllM QUtFKGRldl9wcml2KSkgeworCWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3By aXYpKSB7CiAJCXNrbF9nZXRfYnVmX3RyYW5zX2hkbWkoZGV2X3ByaXYsICZuX2hkbWlfZW50cmll cyk7CiAJCWhkbWlfZGVmYXVsdF9lbnRyeSA9IDg7CiAJfSBlbHNlIGlmIChJU19CUk9BRFdFTEwo ZGV2X3ByaXYpKSB7CkBAIC01MTgsNyArNTE4LDcgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2RwX2Rk aV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCQluX2RwX2VudHJpZXMg PSBBUlJBWV9TSVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2RwKTsKIAl9CiAKLQlpZiAoSVNfU0tZ TEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7CisJaWYgKElTX0dFTjko ZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpIHsKIAkJLyogSWYgd2UncmUgYm9vc3Rpbmcg dGhlIGN1cnJlbnQsIHNldCBiaXQgMzEgb2YgdHJhbnMxICovCiAJCWlmIChkZXZfcHJpdi0+dmJ0 LmRkaV9wb3J0X2luZm9bcG9ydF0uZHBfYm9vc3RfbGV2ZWwpCiAJCQlpYm9vc3RfYml0ID0gRERJ X0JVRl9CQUxBTkNFX0xFR19FTkFCTEU7CkBAIC01NzIsNyArNTcyLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfcHJlcGFyZV9oZG1pX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogCiAJaGRtaV9sZXZlbCA9IGludGVsX2RkaV9oZG1pX2xldmVsKGRldl9wcml2LCBwb3J0 KTsKIAotCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikp IHsKKwlpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRldl9wcml2KSkgewogCQlkZGlf dHJhbnNsYXRpb25zX2hkbWkgPSBza2xfZ2V0X2J1Zl90cmFuc19oZG1pKGRldl9wcml2LCAmbl9o ZG1pX2VudHJpZXMpOwogCiAJCS8qIElmIHdlJ3JlIGJvb3N0aW5nIHRoZSBjdXJyZW50LCBzZXQg Yml0IDMxIG9mIHRyYW5zMSAqLwpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgdm9pZCBpbnRlbF9kZGlf Y2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPD0gOCkKIAkJaHN3X2RkaV9jbG9ja19nZXQoZW5jb2RlciwgcGlwZV9jb25m aWcpOwotCWVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9w cml2KSkKKwllbHNlIGlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKQog CQlza2xfZGRpX2Nsb2NrX2dldChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7CiAJZWxzZSBpZiAoSVNf R0VOOV9MUChkZXZfcHJpdikpCiAJCWJ4dF9kZGlfY2xvY2tfZ2V0KGVuY29kZXIsIHBpcGVfY29u ZmlnKTsKQEAgLTExNTAsNyArMTE1MCw3IEBAIGJvb2wgaW50ZWxfZGRpX3BsbF9zZWxlY3Qoc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIgPQogCQlpbnRlbF9kZGlfZ2V0X2NydGNfbmV3X2VuY29kZXIoY3J0Y19zdGF0ZSk7 CiAKLQlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQor CWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKQogCQlyZXR1cm4gc2ts X2RkaV9wbGxfc2VsZWN0KGludGVsX2NydGMsIGNydGNfc3RhdGUsCiAJCQkJCSAgaW50ZWxfZW5j b2Rlcik7CiAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCkBAIC0xNjQxLDcgKzE2NDEs NyBAQCB1aW50MzJfdCBkZGlfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogCiAJbGV2ZWwgPSB0cmFuc2xhdGVfc2lnbmFsX2xldmVsKHNpZ25hbF9sZXZlbHMpOwogCi0J aWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkKKwlpZiAo SVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRldl9wcml2KSkKIAkJc2tsX2RkaV9zZXRfaWJv b3N0KGVuY29kZXIsIGxldmVsKTsKIAllbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkKIAkJ Ynh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZGV2X3ByaXYsIGxldmVsLCBwb3J0LCBlbmNvZGVyLT50 eXBlKTsKQEAgLTE2NTgsNyArMTY1OCw3IEBAIHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKFdBUk5fT04oIXBsbCkpCiAJCXJldHVy bjsKIAotCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikp IHsKKwlpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRldl9wcml2KSkgewogCQl1aW50 MzJfdCB2YWw7CiAKIAkJLyogRERJIC0+IFBMTCBtYXBwaW5nICAqLwpAQCAtMTcxNCw3ICsxNzE0 LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGlu dGVsX2hkbWksIHRydWUpOwogCWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7CiAJ aW50ZWxfcHJlcGFyZV9oZG1pX2RkaV9idWZmZXJzKGVuY29kZXIpOwotCWlmIChJU19TS1lMQUtF KGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpCisJaWYgKElTX0dFTjkoZGV2X3By aXYpICYmICFJU19MUChkZXZfcHJpdikpCiAJCXNrbF9kZGlfc2V0X2lib29zdChlbmNvZGVyLCBs ZXZlbCk7CiAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCiAJCWJ4dF9kZGlfdnN3aW5n X3NlcXVlbmNlKGRldl9wcml2LCBsZXZlbCwgcG9ydCwKQEAgLTE3ODQsNyArMTc4NCw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIsCiAJCWludGVsX2VkcF9wYW5lbF9vZmYoaW50ZWxfZHApOwogCX0KIAotCWlm IChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpCisJaWYgKElT X0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUoRFBMTF9D VFJMMiwgKEk5MTVfUkVBRChEUExMX0NUUkwyKSB8CiAJCQkJCURQTExfQ1RSTDJfRERJX0NMS19P RkYocG9ydCkpKTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkKQEAgLTIxNTcs NyArMjE1Nyw3IEBAIGludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsIGludCBjbG9jaykKIAkJCXBsbC0+c3RhdGUgPSB0bXBfcGxsX3N0YXRlOwogCQkJcmV0 dXJuIE5VTEw7CiAJCX0KLQl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tB QllMQUtFKGRldl9wcml2KSkgeworCX0gZWxzZSBpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlT X0xQKGRldl9wcml2KSkgewogCQlwbGwgPSBza2xfZmluZF9saW5rX3BsbChkZXZfcHJpdiwgY2xv Y2spOwogCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRl dl9wcml2KSkgewogCQlwbGwgPSBoc3dfZGRpX2RwX2dldF9kcGxsKGVuY29kZXIsIGNsb2NrKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCmluZGV4IGZjZjgxODEuLjhh Y2Q3ZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwpAQCAtMTg5 LDcgKzE4OSw3IEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIHBhaXIgcGVyIHN1YnNsaWNlLgogCSovCiAJc3Nl dS0+aGFzX3NsaWNlX3BnID0KLQkJKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtF KGRldl9wcml2KSkgJiYKKwkJKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikp ICYmCiAJCWh3ZWlnaHQ4KHNzZXUtPnNsaWNlX21hc2spID4gMTsKIAlzc2V1LT5oYXNfc3Vic2xp Y2VfcGcgPQogCQlJU19HRU45X0xQKGRldl9wcml2KSAmJiBzc2V1X3N1YnNsaWNlX3RvdGFsKHNz ZXUpID4gMTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAwZjQyNzJmLi45 NTJkMGI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01Nzk5LDcgKzU3 OTksNyBAQCBzdGF0aWMgaW50IHNrbF9jYWxjX2NkY2xrKGludCBtYXhfcGl4Y2xrLCBpbnQgdmNv KTsKIAogc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX21heF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tB QllMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2 X3ByaXYpKSB7CiAJCXUzMiBsaW1pdCA9IEk5MTVfUkVBRChTS0xfREZTTSkgJiBTS0xfREZTTV9D RENMS19MSU1JVF9NQVNLOwogCQlpbnQgbWF4X2NkY2xrLCB2Y287CiAKQEAgLTEwNjY2LDcgKzEw NjY2LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9nZXRfZGRpX3BvcnRfc3RhdGUoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsCiAKIAlwb3J0ID0gKHRtcCAmIFRSQU5TX0RESV9QT1JUX01BU0spID4+ IFRSQU5TX0RESV9QT1JUX1NISUZUOwogCi0JaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElT X0tBQllMQUtFKGRldl9wcml2KSkKKwlpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRl dl9wcml2KSkKIAkJc2t5bGFrZV9nZXRfZGRpX3BsbChkZXZfcHJpdiwgcG9ydCwgcGlwZV9jb25m aWcpOwogCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQogCQlieHRfZ2V0X2RkaV9wbGwo ZGV2X3ByaXYsIHBvcnQsIHBpcGVfY29uZmlnKTsKQEAgLTE1NjY3LDcgKzE1NjY3LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCSAqLwogCQlmb3VuZCA9IEk5MTVfUkVBRChERElfQlVGX0NUTChQT1JUX0EpKSAm IERESV9JTklUX0RJU1BMQVlfREVURUNURUQ7CiAJCS8qIFdhSWdub3JlRERJQVN0cmFwOiBza2wg Ki8KLQkJaWYgKGZvdW5kIHx8IElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRl dl9wcml2KSkKKwkJaWYgKGZvdW5kIHx8IChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2 X3ByaXYpKSkKIAkJCWludGVsX2RkaV9pbml0KGRldl9wcml2LCBQT1JUX0EpOwogCiAJCS8qIERE SSBCLCBDIGFuZCBEIGRldGVjdGlvbiBpcyBpbmRpY2F0ZWQgYnkgdGhlIFNGVVNFX1NUUkFQCkBA IC0xNTY4Myw3ICsxNTY4Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3NldHVwX291dHB1dHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkvKgogCQkgKiBPbiBTS0wgd2UgZG9u J3QgaGF2ZSBhIHdheSB0byBkZXRlY3QgRERJLUUgc28gd2UgcmVseSBvbiBWQlQuCiAJCSAqLwot CQlpZiAoKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgJiYK KwkJaWYgKChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSAmJgogCQkgICAg KGRldl9wcml2LT52YnQuZGRpX3BvcnRfaW5mb1tQT1JUX0VdLnN1cHBvcnRzX2RwIHx8CiAJCSAg ICAgZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW1BPUlRfRV0uc3VwcG9ydHNfZHZpIHx8CiAJ CSAgICAgZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW1BPUlRfRV0uc3VwcG9ydHNfaGRtaSkp CkBAIC0xNjE4Miw3ICsxNjE4Miw3IEBAIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5X2hvb2tzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiAKIAkvKiBSZXR1cm5zIHRoZSBj b3JlIGRpc3BsYXkgY2xvY2sgc3BlZWQgKi8KLQlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwg SVNfS0FCWUxBS0UoZGV2X3ByaXYpKQorCWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAo ZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9 CiAJCQlza3lsYWtlX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwogCWVsc2UgaWYgKElTX0dFTjlf TFAoZGV2X3ByaXYpKQpAQCAtMTYyNjMsNyArMTYyNjMsNyBAQCB2b2lkIGludGVsX2luaXRfZGlz cGxheV9ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQlieHRfbW9k ZXNldF9jb21taXRfY2RjbGs7CiAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNs ayA9CiAJCQlieHRfbW9kZXNldF9jYWxjX2NkY2xrOwotCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShk ZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7CisJfSBlbHNlIGlmIChJU19HRU45 KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5Lm1v ZGVzZXRfY29tbWl0X2NkY2xrID0KIAkJCXNrbF9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKIAkJZGV2 X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j CmluZGV4IGU4MGQ2MjAuLmE4MDY0MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtMjI2 LDcgKzIyNiw3IEBAIGludGVsX2RwX3NvdXJjZV9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCBjb25zdCBpbnQgKipzb3VyY2VfcmF0ZXMpCiAJaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYp KSB7CiAJCSpzb3VyY2VfcmF0ZXMgPSBieHRfcmF0ZXM7CiAJCXNpemUgPSBBUlJBWV9TSVpFKGJ4 dF9yYXRlcyk7Ci0JfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFL RShkZXZfcHJpdikpIHsKKwl9IGVsc2UgaWYgKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChk ZXZfcHJpdikpIHsKIAkJKnNvdXJjZV9yYXRlcyA9IHNrbF9yYXRlczsKIAkJc2l6ZSA9IEFSUkFZ X1NJWkUoc2tsX3JhdGVzKTsKIAl9IGVsc2UgewpAQCAtMTc1Miw3ICsxNzUyLDcgQEAgaW50ZWxf ZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJICogY2xv Y2sgZm9yIGVEUC4gVGhpcyB3aWxsIGFmZmVjdCBjZGNsayBhcyB3ZWxsLgogCSAqLwogCWlmIChp c19lZHAoaW50ZWxfZHApICYmCi0JICAgIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZ TEFLRShkZXZfcHJpdikpKSB7CisJICAgIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2 X3ByaXYpKSkgewogCQlpbnQgdmNvOwogCiAJCXN3aXRjaCAocGlwZV9jb25maWctPnBvcnRfY2xv Y2sgLyAyKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21n ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwppbmRleCBjOTJhMjU1 Li5iNWZhZmQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21n ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKQEAgLTIwMTUs NyArMjAxNSw3IEBAIHZvaWQgaW50ZWxfc2hhcmVkX2RwbGxfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCWNvbnN0IHN0cnVjdCBkcGxsX2luZm8gKmRwbGxfaW5mbzsKIAlpbnQgaTsKIAot CWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpCisJaWYg KElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpCiAJCWRwbGxfbWdyID0gJnNr bF9wbGxfbWdyOwogCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQogCQlkcGxsX21nciA9 ICZieHRfcGxsX21ncjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zi Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKaW5kZXggODlmZTVjOC4uMmEw Yjk4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKQEAgLTUzOCw3ICs1MzgsNyBAQCBzdGF0 aWMgaW50IGZpbmRfY29tcHJlc3Npb25fdGhyZXNob2xkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAkgKiBJZiB3ZSBlbmFibGUgRkJDIHVzaW5nIGEgQ0ZCIG9uIHRoYXQgbWVt b3J5IHJhbmdlIHdlJ2xsIGdldCBGSUZPCiAJICogdW5kZXJydW5zLCBldmVuIGlmIHRoYXQgcmFu Z2UgaXMgbm90IHJlc2VydmVkIGJ5IHRoZSBCSU9TLiAqLwogCWlmIChJU19CUk9BRFdFTEwoZGV2 X3ByaXYpIHx8Ci0JICAgIElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9w cml2KSkKKwkgICAgKElTX0dFTjkoZGV2X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpKQogCQll bmQgPSBnZ3R0LT5zdG9sZW5fc2l6ZSAtIDggKiAxMDI0ICogMTAyNDsKIAllbHNlCiAJCWVuZCA9 IFU2NF9NQVg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jCmluZGV4IGJjZTFiYTguLmEwZmZhYWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZ21idXNfcGluICpnZXRfZ21idXNfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIHsKIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCiAJCXJldHVybiAmZ21i dXNfcGluc19ieHRbcGluXTsKLQllbHNlIGlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19L QUJZTEFLRShkZXZfcHJpdikpCisJZWxzZSBpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQ KGRldl9wcml2KSkKIAkJcmV0dXJuICZnbWJ1c19waW5zX3NrbFtwaW5dOwogCWVsc2UgaWYgKElT X0JST0FEV0VMTChkZXZfcHJpdikpCiAJCXJldHVybiAmZ21idXNfcGluc19iZHdbcGluXTsKQEAg LTg5LDcgKzg5LDcgQEAgYm9vbCBpbnRlbF9nbWJ1c19pc192YWxpZF9waW4oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQogCQlz aXplID0gQVJSQVlfU0laRShnbWJ1c19waW5zX2J4dCk7Ci0JZWxzZSBpZiAoSVNfU0tZTEFLRShk ZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQorCWVsc2UgaWYgKElTX0dFTjkoZGV2 X3ByaXYpICYmICFJU19MUChkZXZfcHJpdikpCiAJCXNpemUgPSBBUlJBWV9TSVpFKGdtYnVzX3Bp bnNfc2tsKTsKIAllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQlzaXplID0gQVJS QVlfU0laRShnbWJ1c19waW5zX2Jkdyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tb2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMKaW5kZXgg Yzc4N2ZjNC4uNDk1NjY4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwpAQCAtMTc4LDcg KzE3OCw3IEBAIHN0YXRpYyBib29sIGdldF9tb2NzX3NldHRpbmdzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIHsKIAlib29sIHJlc3VsdCA9IGZhbHNlOwogCi0JaWYgKElTX1NL WUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19HRU45 KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCXRhYmxlLT5zaXplICA9IEFSUkFZ X1NJWkUoc2t5bGFrZV9tb2NzX3RhYmxlKTsKIAkJdGFibGUtPnRhYmxlID0gc2t5bGFrZV9tb2Nz X3RhYmxlOwogCQlyZXN1bHQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMjQ5 NjIzZC4uZWMxY2E4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC01MjkzLDggKzUyOTMs NyBAQCBzdGF0aWMgdm9pZCBnZW42X2luaXRfcnBzX2ZyZXF1ZW5jaWVzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+cnBzLm1heF9mcmVxID0gZGV2X3ByaXYt PnJwcy5ycDBfZnJlcTsKIAogCWRldl9wcml2LT5ycHMuZWZmaWNpZW50X2ZyZXEgPSBkZXZfcHJp di0+cnBzLnJwMV9mcmVxOwotCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdF TEwoZGV2X3ByaXYpIHx8Ci0JICAgIElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtF KGRldl9wcml2KSkgeworCWlmICgoSU5URUxfR0VOKGRldl9wcml2KSA+PSA3KSAmJiAhSVNfTFAo ZGV2X3ByaXYpKSB7CiAJCXUzMiBkZGNjX3N0YXR1cyA9IDA7CiAKIAkJaWYgKHNhbmR5YnJpZGdl X3Bjb2RlX3JlYWQoZGV2X3ByaXYsCkBAIC01MzA3LDcgKzUzMDYsNyBAQCBzdGF0aWMgdm9pZCBn ZW42X2luaXRfcnBzX2ZyZXF1ZW5jaWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAkJCQkJZGV2X3ByaXYtPnJwcy5tYXhfZnJlcSk7CiAJfQogCi0JaWYgKElTX1NLWUxBS0Uo ZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19HRU45KGRldl9w cml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCS8qIFN0b3JlIHRoZSBmcmVxdWVuY3kgdmFs dWVzIGluIDE2LjY2IE1IWiB1bml0cywgd2hpY2ggaXMKIAkJICogdGhlIG5hdHVyYWwgaGFyZHdh cmUgdW5pdCBmb3IgU0tMCiAJCSAqLwpAQCAtNTYzNyw3ICs1NjM2LDcgQEAgc3RhdGljIHZvaWQg Z2VuNl91cGRhdGVfcmluZ19mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAkvKiBjb252ZXJ0IEREUiBmcmVxdWVuY3kgZnJvbSB1bml0cyBvZiAyNjYuNk1IeiB0byBiYW5k d2lkdGggKi8KIAltaW5fcmluZ19mcmVxID0gbXVsdF9mcmFjKG1pbl9yaW5nX2ZyZXEsIDgsIDMp OwogCi0JaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkg eworCWlmIChJU19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCS8qIENv bnZlcnQgR1QgZnJlcXVlbmN5IHRvIDUwIEhaIHVuaXRzICovCiAJCW1pbl9ncHVfZnJlcSA9IGRl dl9wcml2LT5ycHMubWluX2ZyZXEgLyBHRU45X0ZSRVFfU0NBTEVSOwogCQltYXhfZ3B1X2ZyZXEg PSBkZXZfcHJpdi0+cnBzLm1heF9mcmVxIC8gR0VOOV9GUkVRX1NDQUxFUjsKQEAgLTU2NTUsNyAr NTY1NCw3IEBAIHN0YXRpYyB2b2lkIGdlbjZfdXBkYXRlX3JpbmdfZnJlcShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWludCBkaWZmID0gbWF4X2dwdV9mcmVxIC0gZ3B1X2Zy ZXE7CiAJCXVuc2lnbmVkIGludCBpYV9mcmVxID0gMCwgcmluZ19mcmVxID0gMDsKIAotCQlpZiAo SVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7CisJCWlmIChJ U19HRU45KGRldl9wcml2KSAmJiAhSVNfTFAoZGV2X3ByaXYpKSB7CiAJCQkvKgogCQkJICogcmlu Z19mcmVxID0gMiAqIEdULiByaW5nX2ZyZXEgaXMgaW4gMTAwTUh6IHVuaXRzCiAJCQkgKiBObyBm bG9vciByZXF1aXJlZCBmb3IgcmluZyBmcmVxdWVuY3kgb24gU0tMLgpAQCAtNjc3NSw3ICs2Nzc0 LDcgQEAgdm9pZCBpbnRlbF9lbmFibGVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewog CQlnZW45X2VuYWJsZV9yYzYoZGV2X3ByaXYpOwogCQlnZW45X2VuYWJsZV9ycHMoZGV2X3ByaXYp OwotCQlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQor CQlpZiAoSVNfR0VOOShkZXZfcHJpdikgJiYgIUlTX0xQKGRldl9wcml2KSkKIAkJCWdlbjZfdXBk YXRlX3JpbmdfZnJlcShkZXZfcHJpdik7CiAJfSBlbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3By aXYpKSB7CiAJCWdlbjhfZW5hYmxlX3JwcyhkZXZfcHJpdik7Ci0tIAoyLjcuNAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==