From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: [PATCH 10/12] drm/i915: HAS_GMCH_DISPLAY() fixes Date: Mon, 29 Aug 2016 13:31:50 +0300 Message-ID: <20160829103152.31282-11-david.weinehall@linux.intel.com> References: <20160829103152.31282-1-david.weinehall@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 BD1F86E510 for ; Mon, 29 Aug 2016 10:32:17 +0000 (UTC) In-Reply-To: <20160829103152.31282-1-david.weinehall@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: intel-gfx@lists.freedesktop.org Cc: --dry-run@freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UGFzcyBkZXZfcHJpdiB0byBhbGwgaW5zdGFuY2VzIG9mIEhBU19HTUNIX0RJU1BMQVkoKSwgYW5k IG1ha2UgdGhlCm1hY3JvIHVzZSBJTlRFTF9HRU4oKS4KClNpZ25lZC1vZmYtYnk6IERhdmlkIFdl aW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgNSArKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgICAgICAgIHwgMTEgKysrKystLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICB8IDEyICsrKysrKy0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICAgICAgICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0KIDcgZmlsZXMgY2hh bmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggODM3NjJlN2QyODc0Li5lN2M2ZDk1ZWRjZGYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtMjgzNSw4ICsyODM1LDkgQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7 CiAjZGVmaW5lIEhBU19QQ0hfTk9QKGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX05P UCkKICNkZWZpbmUgSEFTX1BDSF9TUExJVChkZXYpIChJTlRFTF9QQ0hfVFlQRShkZXYpICE9IFBD SF9OT05FKQogCi0jZGVmaW5lIEhBU19HTUNIX0RJU1BMQVkoZGV2KSAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPCA1IHx8IFwKLQkJCSAgICAgICBJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZ VklFVyhkZXYpKQorI2RlZmluZSBIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KQkoSU5URUxfR0VO KGRldl9wcml2KSA8IDUgfHwgXAorCQkJCQkgSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgXAor CQkJCQkgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCiAKIC8qIERQRiA9PSBkeW5hbWljIHBhcml0 eSBmZWF0dXJlICovCiAjZGVmaW5lIEhBU19MM19EUEYoZGV2KSAoSVNfSVZZQlJJREdFKGRldikg fHwgSVNfSEFTV0VMTChkZXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKaW5kZXggOWJm MDcyZjU2MTVhLi4wYTNhY2M5MWMyODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpA QCAtMjY2LDEzICsyNjYsMTIgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2Ig KmJsb2IsCiAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewot CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9j cnRjLT5waXBlOwogCWludCBpOwogCi0JaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2KSkgeworCWlm IChIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KSkgewogCQlpZiAoaW50ZWxfY3J0Y19oYXNfdHlw ZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfRFNJKSkKIAkJCWFzc2VydF9kc2lfcGxsX2VuYWJs ZWQoZGV2X3ByaXYpOwogCQllbHNlCkBAIC0yODAsMTQgKzI3OSwxNCBAQCBzdGF0aWMgdm9pZCBp OXh4X2xvYWRfbHV0c19pbnRlcm5hbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiAJaWYg KGJsb2IpIHsKLQkJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9IChzdHJ1Y3QgZHJtX2NvbG9y X2x1dCAqKSBibG9iLT5kYXRhOworCQlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gKHN0cnVj dCBkcm1fY29sb3JfbHV0ICopYmxvYi0+ZGF0YTsKIAkJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsr KSB7CiAJCQl1aW50MzJfdCB3b3JkID0KIAkJCQkoZHJtX2NvbG9yX2x1dF9leHRyYWN0KGx1dFtp XS5yZWQsIDgpIDw8IDE2KSB8CiAJCQkJKGRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaV0uZ3Jl ZW4sIDgpIDw8IDgpIHwKIAkJCQlkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ldLmJsdWUsIDgp OwogCi0JCQlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXYpKQorCQkJaWYgKEhBU19HTUNIX0RJU1BM QVkoZGV2X3ByaXYpKQogCQkJCUk5MTVfV1JJVEUoUEFMRVRURShwaXBlLCBpKSwgd29yZCk7CiAJ CQllbHNlCiAJCQkJSTkxNV9XUklURShMR0NfUEFMRVRURShwaXBlLCBpKSwgd29yZCk7CkBAIC0y OTYsNyArMjk1LDcgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKIAkJCXVpbnQz Ml90IHdvcmQgPSAoaSA8PCAxNikgfCAoaSA8PCA4KSB8IGk7CiAKLQkJCWlmIChIQVNfR01DSF9E SVNQTEFZKGRldikpCisJCQlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpCiAJCQkJSTkx NV9XUklURShQQUxFVFRFKHBpcGUsIGkpLCB3b3JkKTsKIAkJCWVsc2UKIAkJCQlJOTE1X1dSSVRF KExHQ19QQUxFVFRFKHBpcGUsIGkpLCB3b3JkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwppbmRleCBhYjczNGM0NmE5OTYuLmE2OTlkN2JjNmUzMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTAwMyw4ICs1MDAzLDggQEAgaW50ZWxfcHJlX2Rpc2FibGVf cHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiBzdGF0aWMgdm9pZAogaW50ZWxfcHJlX2Rp c2FibGVfcHJpbWFyeV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7Ci0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5kZXYpOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmZGV2 X3ByaXYtPmRybTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Yyk7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCkBAIC01MDE5LDcgKzUw MTksNyBAQCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIAkgKiBldmVudCB3aGljaCBpcyBhZnRlciB0aGUgdmJsYW5rIHN0YXJ0IGV2ZW50 LCBzbyB3ZSBuZWVkIHRvIGhhdmUgYQogCSAqIHdhaXQtZm9yLXZibGFuayBiZXR3ZWVuIGRpc2Fi bGluZyB0aGUgcGxhbmUgYW5kIHRoZSBwaXBlLgogCSAqLwotCWlmIChIQVNfR01DSF9ESVNQTEFZ KGRldikpIHsKKwlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpIHsKIAkJaW50ZWxfc2V0 X21lbW9yeV9jeHNyKGRldl9wcml2LCBmYWxzZSk7CiAJCWRldl9wcml2LT53bS52bHYuY3hzciA9 IGZhbHNlOwogCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKQEAgLTUwODQsNyAr NTA4NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogCQkJaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFy eSgmY3J0Yy0+YmFzZSk7CiAJfQogCi0JaWYgKHBpcGVfY29uZmlnLT5kaXNhYmxlX2N4c3IgJiYg SEFTX0dNQ0hfRElTUExBWShkZXYpKSB7CisJaWYgKHBpcGVfY29uZmlnLT5kaXNhYmxlX2N4c3Ig JiYgSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpIHsKIAkJY3J0Yy0+d20uY3hzcl9hbGxvd2Vk ID0gZmFsc2U7CiAKIAkJLyoKQEAgLTEwODc0LDcgKzEwODc0LDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfY3J0Y191cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJcG9zIHw9IHkg PDwgQ1VSU09SX1lfU0hJRlQ7CiAKIAkJLyogSUxLKyBkbyB0aGlzIGF1dG9tYWdpY2FsbHkgKi8K LQkJaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2KSAmJgorCQlpZiAoSEFTX0dNQ0hfRElTUExBWShk ZXZfcHJpdikgJiYKIAkJICAgIHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uID09IERSTV9ST1RB VEVfMTgwKSB7CiAJCQliYXNlICs9IChwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2ggKgogCQkJCSBw bGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3cgLSAxKSAqIDQ7CkBAIC0xNjU5MSw3ICsxNjU5MSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiAJaWYgKGNydGMtPmFjdGl2ZSAmJiAhaW50ZWxfY3J0Y19oYXNfZW5jb2RlcnMoY3J0YykpCiAJ CWludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYygmY3J0Yy0+YmFzZSk7CiAKLQlpZiAoY3J0Yy0+ YWN0aXZlIHx8IEhBU19HTUNIX0RJU1BMQVkoZGV2KSkgeworCWlmIChjcnRjLT5hY3RpdmUgfHwg SEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpIHsKIAkJLyoKIAkJICogV2Ugc3RhcnQgb3V0IHdp dGggdW5kZXJydW4gcmVwb3J0aW5nIGRpc2FibGVkIHRvIGF2b2lkIHJhY2VzLgogCQkgKiBGb3Ig Y29ycmVjdCBib29ra2VlcGluZyBtYXJrIHRoaXMgb24gYWN0aXZlIGNydGNzLgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKaW5kZXggMjVjZTcyMWUyMDMyLi4yZTIxMjhjZGVmZWMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwpAQCAtMTUwOSw3ICsxNTA5LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJcmV0dXJuIHJldDsKIAkJfQog Ci0JCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldikpCisJCWlmIChIQVNfR01DSF9ESVNQTEFZKGRl dl9wcml2KSkKIAkJCWludGVsX2dtY2hfcGFuZWxfZml0dGluZyhpbnRlbF9jcnRjLCBwaXBlX2Nv bmZpZywKIAkJCQkJCSBpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpdHRpbmdfbW9kZSk7CiAJCWVs c2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKaW5kZXggYjJlM2QzYTMzNGY3Li5iMDQxNTFkN2Jh MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCkBAIC0xMzMyLDcgKzEzMzIsOCBAQCBzdGF0 aWMgaW50IGludGVsX2RzaV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJCQkgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAogCQkJCSAgdWludDY0 X3QgdmFsKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2 KTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmRldl9wcml2LT5kcm07CiAJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5l Y3Rvcik7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCWludCByZXQ7CkBAIC0xMzQ2LDcgKzEz NDcsNyBAQCBzdGF0aWMgaW50IGludGVsX2RzaV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKIAkJCURSTV9ERUJVR19LTVMoIm5vIHNjYWxpbmcgbm90IHN1cHBv cnRlZFxuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQotCQlpZiAoSEFTX0dNQ0hfRElTUExB WShkZXYpICYmCisJCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KSAmJgogCQkgICAgdmFs ID09IERSTV9NT0RFX1NDQUxFX0NFTlRFUikgewogCQkJRFJNX0RFQlVHX0tNUygiY2VudGVyaW5n IG5vdCBzdXBwb3J0ZWRcbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMKaW5kZXggMmFhNzQ0MDgxZjA5Li5hNmY0YmJjZWQ5 ZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMKQEAgLTI1 NCw3ICsyNTQsNyBAQCBzdGF0aWMgYm9vbCBfX2ludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9y ZXBvcnRpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlvbGQgPSAhaW50ZWxfY3J0Yy0+Y3B1 X2ZpZm9fdW5kZXJydW5fZGlzYWJsZWQ7CiAJaW50ZWxfY3J0Yy0+Y3B1X2ZpZm9fdW5kZXJydW5f ZGlzYWJsZWQgPSAhZW5hYmxlOwogCi0JaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2KSkKKwlpZiAo SEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikpCiAJCWk5eHhfc2V0X2ZpZm9fdW5kZXJydW5fcmVw b3J0aW5nKGRldiwgcGlwZSwgZW5hYmxlLCBvbGQpOwogCWVsc2UgaWYgKElTX0dFTjUoZGV2KSB8 fCBJU19HRU42KGRldikpCiAJCWlyb25sYWtlX3NldF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhk ZXYsIHBpcGUsIGVuYWJsZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggNzE1NWMy NjQ5MTA2Li5mNmI5YWFlOWE2NTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTEy NTcsMTAgKzEyNTcsMTAgQEAgaW50ZWxfaGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCiAJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQog ewogCXN0cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0 b3IpOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9oZG1pX3RvX2RldihoZG1pKTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2hkbWlf dG9fZGV2KGhkbWkpKTsKIAllbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0dXM7CiAJaW50IGNsb2Nr OwotCWludCBtYXhfZG90Y2xrID0gdG9faTkxNShjb25uZWN0b3ItPmRldiktPm1heF9kb3RjbGtf ZnJlcTsKKwlpbnQgbWF4X2RvdGNsayA9IGRldl9wcml2LT5tYXhfZG90Y2xrX2ZyZXE7CiAKIAlp ZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCiAJCXJldHVybiBNT0RFX05P X0RCTEVTQ0FOOwpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgaW50ZWxfaGRtaV9tb2RlX3ZhbGlkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJc3RhdHVzID0gaGRtaV9wb3J0X2Nsb2Nr X3ZhbGlkKGhkbWksIGNsb2NrLCB0cnVlKTsKIAogCS8qIGlmIHdlIGNhbid0IGRvIDhicGMgd2Ug bWF5IHN0aWxsIGJlIGFibGUgdG8gZG8gMTJicGMgKi8KLQlpZiAoIUhBU19HTUNIX0RJU1BMQVko ZGV2KSAmJiBzdGF0dXMgIT0gTU9ERV9PSykKKwlpZiAoIUhBU19HTUNIX0RJU1BMQVkoZGV2X3By aXYpICYmIHN0YXR1cyAhPSBNT0RFX09LKQogCQlzdGF0dXMgPSBoZG1pX3BvcnRfY2xvY2tfdmFs aWQoaGRtaSwgY2xvY2sgKiAzIC8gMiwgdHJ1ZSk7CiAKIAlyZXR1cm4gc3RhdHVzOwpAQCAtMTI4 OCw5ICsxMjg4LDEwIEBAIGludGVsX2hkbWlfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAogCiBzdGF0aWMgYm9vbCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPQorCQkJCQl0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKIAot CWlmIChIQVNfR01DSF9ESVNQTEFZKGRldikpCisJaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2X3By aXYpKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=