From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrik Jakobsson Subject: [PATCH v2 10/12] drm/i915/gen9: Turn DC handling into a power well Date: Mon, 9 Nov 2015 16:48:25 +0100 Message-ID: <1447084107-8521-11-git-send-email-patrik.jakobsson@linux.intel.com> References: <1447084107-8521-1-git-send-email-patrik.jakobsson@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 ESMTP id 9CA716E5AE for ; Mon, 9 Nov 2015 07:49:01 -0800 (PST) In-Reply-To: <1447084107-8521-1-git-send-email-patrik.jakobsson@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: imre.deak@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGFuZGxlIERDIG9mZiBhcyBhIHBvd2VyIHdlbGwgd2hlcmUgZW5hYmxpbmcgdGhlIHBvd2VyIHdl bGwgd2lsbCBwcmV2ZW50CnRoZSBETUMgdG8gZW50ZXIgc2VsZWN0ZWQgREMgc3RhdGVzIChyZXF1 aXJlZCBhcm91bmQgbW9kZXNldHMgYW5kIEF1eApBKS4gRGlzYWJsaW5nIHRoZSBwb3dlciB3ZWxs IHdpbGwgYWxsb3cgREMgc3RhdGVzIGFnYWluLiBGb3Igbm93IHRoZQpoaWdoZXN0IERDIHN0YXRl IGlzIERDNiBmb3IgU2t5bGFrZSBhbmQgREM1IGZvciBCcm94dG9uIGJ1dCB3aWxsIGJlCmNvbmZp Z3VyYWJsZSBmb3IgU2t5bGFrZSBpbiBhIGxhdGVyIHBhdGNoLgoKdjI6IENoZWNrIGJvdGggREM1 IGFuZCBEQzYgYml0cyBpbiBwb3dlciB3ZWxsIGVuYWJsZWQgZnVuY3Rpb24gKFZpbGxlKQoKU2ln bmVkLW9mZi1ieTogUGF0cmlrIEpha29ic3NvbiA8cGF0cmlrLmpha29ic3NvbkBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgICA2 IC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgfCAgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgICA2ICsrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAxMTAgKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNWE2M2Y5YS4uMGM3ZjQzNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMDcyLDkgKzEwNzIsNiBAQCBzdGF0aWMgaW50IGk5 MTVfcG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIAogc3RhdGljIGludCBza2xfc3VzcGVu ZF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKGRl dl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCi0JCXNrbF9lbmFibGVfZGM2KGRldl9wcml2KTsKLQog CXJldHVybiAwOwogfQogCkBAIC0xMTE5LDkgKzExMTYsNiBAQCBzdGF0aWMgaW50IGJ4dF9yZXN1 bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHN0YXRpYyBp bnQgc2tsX3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IHsKLQlpZiAoZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCkKLQkJc2tsX2Rpc2FibGVfZGM2KGRl dl9wcml2KTsKLQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCAz MWIzYTg0Li5kZjQ0NWJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTYzNiw2ICs2MzYs NyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKIAogCS8qIE5vdCBhY3R1YWwgYml0IGdy b3Vwcy4gVXNlZCBhcyBJRHMgZm9yIGxvb2t1cF9wb3dlcl93ZWxsKCkgKi8KIAlTS0xfRElTUF9Q V19BTFdBWVNfT04sCisJU0tMX0RJU1BfUFdfRENfT0ZGLAogfTsKIAogI2RlZmluZSBTS0xfUE9X RVJfV0VMTF9TVEFURShwdykgKDEgPDwgKChwdykgKiAyKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCA2NDlhYzM0Li44NTZkODAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0xMzMyMCw2ICsxMzMyMCw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRv bWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJdG9faW50ZWxfY3J0Y19zdGF0 ZShjcnRjLT5zdGF0ZSktPnVwZGF0ZV9waXBlOwogCQl1bnNpZ25lZCBsb25nIHB1dF9kb21haW5z ID0gMDsKIAorCQlpZiAobW9kZXNldCkKKwkJCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9w cml2LCBQT1dFUl9ET01BSU5fTU9ERVNFVCk7CisKIAkJaWYgKG1vZGVzZXQgJiYgY3J0Yy0+c3Rh dGUtPmFjdGl2ZSkgewogCQkJdXBkYXRlX3NjYW5saW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNy dGMpKTsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZW5hYmxlKGNydGMpOwpAQCAtMTMzNDMs NiArMTMzNDYsOSBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCW1vZGVzZXRfcHV0X3Bvd2VyX2RvbWFpbnMoZGV2X3ByaXYsIHB1dF9k b21haW5zKTsKIAogCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShpbnRlbF9jcnRjKTsKKworCQlp ZiAobW9kZXNldCkKKwkJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9E T01BSU5fTU9ERVNFVCk7CiAJfQogCiAJLyogRklYTUU6IGFkZCBzdWJwaXhlbCBvcmRlciAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCmluZGV4IGVkZjc1M2UuLjk1YzNm Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKQEAgLTQ5LDkgKzQ5 LDYgQEAKICAqIHByZXNlbnQgZm9yIGEgZ2l2ZW4gcGxhdGZvcm0uCiAgKi8KIAotI2RlZmluZSBH RU45X0VOQUJMRV9EQzUoZGV2KSAwCi0jZGVmaW5lIFNLTF9FTkFCTEVfREM2KGRldikgSVNfU0tZ TEFLRShkZXYpCi0KICNkZWZpbmUgZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBk b21haW5fbWFzaywgcG93ZXJfZG9tYWlucykJXAogCWZvciAoaSA9IDA7CQkJCQkJCVwKIAkgICAg IGkgPCAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dlbGxfY291bnQgJiYJCQlcCkBAIC0zMDksOSAr MzA2LDE0IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9EX1BPV0VSX0RPTUFJ TlMgKAkJXAogCUJJVChQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9MQU5FUykgfAkJXAogCUJJVChQ T1dFUl9ET01BSU5fSU5JVCkpCisjZGVmaW5lIFNLTF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01B SU5TICgJCVwKKwlCSVQoUE9XRVJfRE9NQUlOX01PREVTRVQpIHwJCQlcCisJQklUKFBPV0VSX0RP TUFJTl9BVVhfQSkgfAkJCVwKKwlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQogI2RlZmluZSBTS0xf RElTUExBWV9BTFdBWVNfT05fUE9XRVJfRE9NQUlOUyAoCQlcCiAJKFBPV0VSX0RPTUFJTl9NQVNL ICYgfigJCQkJXAotCVNLTF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RPTUFJTlMpKSB8CVwK KwlTS0xfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKKwlTS0xfRElTUExB WV9EQ19PRkZfUE9XRVJfRE9NQUlOUykpIHwJCVwKIAlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQog CiAjZGVmaW5lIEJYVF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RPTUFJTlMgKAkJXApAQCAt MzM5LDYgKzM0MSwxMCBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUJJVChQT1dFUl9ET01BSU5fQVVYX0EpIHwJCQlc CiAJQklUKFBPV0VSX0RPTUFJTl9QTExTKSB8CQkJXAogCUJJVChQT1dFUl9ET01BSU5fSU5JVCkp CisjZGVmaW5lIEJYVF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TICgJCVwKKwlCSVQoUE9X RVJfRE9NQUlOX01PREVTRVQpIHwJCQlcCisJQklUKFBPV0VSX0RPTUFJTl9BVVhfQSkgfAkJCVwK KwlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQogI2RlZmluZSBCWFRfRElTUExBWV9BTFdBWVNfT05f UE9XRVJfRE9NQUlOUyAoCQlcCiAJKFBPV0VSX0RPTUFJTl9NQVNLICYgfihCWFRfRElTUExBWV9Q T1dFUldFTExfMV9QT1dFUl9ET01BSU5TIHwJXAogCUJYVF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BP V0VSX0RPTUFJTlMpKSB8CVwKQEAgLTQ4NiwxNSArNDkyLDYgQEAgc3RhdGljIHZvaWQgZ2VuOV9l bmFibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlnZW45X3NldF9k Y19zdGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRU5fVVBUT19EQzUpOwogfQogCi1zdGF0aWMgdm9p ZCBnZW45X2Rpc2FibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLXsK LQlhc3NlcnRfY2FuX2Rpc2FibGVfZGM1KGRldl9wcml2KTsKLQotCURSTV9ERUJVR19LTVMoIkRp c2FibGluZyBEQzVcbiIpOwotCi0JZ2VuOV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRF X0RJU0FCTEUpOwotfQotCiBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2VuYWJsZV9kYzYoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBkZXZfcHJpdi0+ZGV2OwpAQCAtNTIyLDYgKzUxOSwxNCBAQCBzdGF0aWMgdm9pZCBhc3NlcnRf Y2FuX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJICAi REM2IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBkaXNhYmxlZC5cbiIpOwogfQogCitzdGF0aWMg dm9pZCBnZW45X2Rpc2FibGVfZGM1X2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCit7CisJYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNShkZXZfcHJpdik7CisJYXNzZXJ0X2Nhbl9k aXNhYmxlX2RjNihkZXZfcHJpdik7CisKKwlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENf U1RBVEVfRElTQUJMRSk7Cit9CisKIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogewogCWFzc2VydF9jYW5fZW5hYmxlX2RjNihkZXZfcHJpdik7 CkBAIC01NzEsNiArNTc2LDcgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAljYXNlIFNLTF9ESVNQX1BXX0RESV9DOgog CWNhc2UgU0tMX0RJU1BfUFdfRERJX0Q6CiAJY2FzZSBTS0xfRElTUF9QV19NSVNDX0lPOgorCWNh c2UgU0tMX0RJU1BfUFdfRENfT0ZGOgogCQlicmVhazsKIAlkZWZhdWx0OgogCQlXQVJOKDEsICJV bmtub3duIHBvd2VyIHdlbGwgJWx1XG4iLCBwb3dlcl93ZWxsLT5kYXRhKTsKQEAgLTU4OSwxNyAr NTk1LDEzIEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJIkludmFsaWQgZm9yIHBvd2VyIHdlbGwgc3RhdHVzIHRv IGJlIGVuYWJsZWQsIHVubGVzcyBkb25lIGJ5IHRoZSBCSU9TLCBcCiAJCQkJd2hlbiByZXF1ZXN0 IGlzIHRvIGRpc2FibGUhXG4iKTsKIAkJCWlmIChwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQ X1BXXzIpIHsKLQkJCQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikpCi0JCQkJCWdlbjlfZGlzYWJs ZV9kYzUoZGV2X3ByaXYpOwotCQkJCWlmIChTS0xfRU5BQkxFX0RDNihkZXYpKSB7Ci0JCQkJCS8q Ci0JCQkJCSAqIERESSBidWZmZXIgcHJvZ3JhbW1pbmcgdW5uZWNlc3NhcnkgZHVyaW5nIGRyaXZl ci1sb2FkL3Jlc3VtZQotCQkJCQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcgbW9kZXNl dCBpbml0aWFsaXphdGlvbiB0aGVuLgotCQkJCQkgKiBJdCdzIGFsc28gaW52YWxpZCBoZXJlIGFz IGVuY29kZXIgbGlzdCBpcyBzdGlsbCB1bmluaXRpYWxpemVkLgotCQkJCQkgKi8KLQkJCQkJaWYg KCFkZXZfcHJpdi0+cG93ZXJfZG9tYWlucy5pbml0aWFsaXppbmcpCi0JCQkJCQlpbnRlbF9wcmVw YXJlX2RkaShkZXYpOwotCQkJCX0KKwkJCQkvKgorCQkJCSAqIERESSBidWZmZXIgcHJvZ3JhbW1p bmcgdW5uZWNlc3NhcnkgZHVyaW5nIGRyaXZlci1sb2FkL3Jlc3VtZQorCQkJCSAqIGFzIGl0J3Mg YWxyZWFkeSBkb25lIGR1cmluZyBtb2Rlc2V0IGluaXRpYWxpemF0aW9uIHRoZW4uCisJCQkJICog SXQncyBhbHNvIGludmFsaWQgaGVyZSBhcyBlbmNvZGVyIGxpc3QgaXMgc3RpbGwgdW5pbml0aWFs aXplZC4KKwkJCQkgKi8KKwkJCQlpZiAoIWRldl9wcml2LT5wb3dlcl9kb21haW5zLmluaXRpYWxp emluZykKKwkJCQkJaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKIAkJCX0KIAkJCUk5MTVfV1JJVEUo SFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1wIHwgcmVxX21hc2spOwogCQl9CkBAIC02MTcsMTAgKzYx OSw2IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklWRVIsCXRtcCAm IH5yZXFfbWFzayk7CiAJCQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9XRUxMX0RSSVZFUik7CiAJCQlE Uk1fREVCVUdfS01TKCJEaXNhYmxpbmcgJXNcbiIsIHBvd2VyX3dlbGwtPm5hbWUpOwotCi0JCQlp ZiAoR0VOOV9FTkFCTEVfREM1KGRldikgJiYKLQkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9E SVNQX1BXXzIpCi0JCQkJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7CiAJCX0KIAl9CiAKQEAg LTY5NSw2ICs2OTMsNDAgQEAgc3RhdGljIHZvaWQgc2tsX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJc2tsX3NldF9wb3dlcl93ZWxsKGRldl9w cml2LCBwb3dlcl93ZWxsLCBmYWxzZSk7CiB9CiAKK3N0YXRpYyBib29sIGdlbjlfZGNfb2ZmX3Bv d2VyX3dlbGxfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJ CSAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKK3sKKwlyZXR1cm4gKEk5MTVf UkVBRChEQ19TVEFURV9FTikgJiBEQ19TVEFURV9FTl9VUFRPX0RDNV9EQzZfTUFTSykgPT0gMDsK K30KKworc3RhdGljIHZvaWQgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQkgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAq cG93ZXJfd2VsbCkKK3sKKwlnZW45X2Rpc2FibGVfZGM1X2RjNihkZXZfcHJpdik7Cit9CisKK3N0 YXRpYyB2b2lkIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJf d2VsbCkKK3sKKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpCisJCXNrbF9lbmFibGVfZGM2KGRl dl9wcml2KTsKKwllbHNlCisJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cit9CisKK3N0YXRp YyB2b2lkIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfc3luY19odyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2Vs bCkKK3sKKwlpZiAocG93ZXJfd2VsbC0+Y291bnQgPiAwKSB7CisJCWdlbjlfc2V0X2RjX3N0YXRl KGRldl9wcml2LCBEQ19TVEFURV9ESVNBQkxFKTsKKwl9IGVsc2UgeworCQlpZiAoSVNfU0tZTEFL RShkZXZfcHJpdikpCisJCQlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRU5f VVBUT19EQzYpOworCQllbHNlCisJCQlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RB VEVfRU5fVVBUT19EQzUpOworCX0KK30KKwogc3RhdGljIHZvaWQgaTl4eF9hbHdheXNfb25fcG93 ZXJfd2VsbF9ub29wKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJICAg c3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKIHsKQEAgLTE1MTcsNiArMTU0OSwx MyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgc2tsX3Bvd2VyX3dl bGxfb3BzID0gewogCS5pc19lbmFibGVkID0gc2tsX3Bvd2VyX3dlbGxfZW5hYmxlZCwKIH07CiAK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBnZW45X2RjX29mZl9wb3dl cl93ZWxsX29wcyA9IHsKKwkuc3luY19odyA9IGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfc3luY19o dywKKwkuZW5hYmxlID0gZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGUsCisJLmRpc2FibGUg PSBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2Rpc2FibGUsCisJLmlzX2VuYWJsZWQgPSBnZW45X2Rj X29mZl9wb3dlcl93ZWxsX2VuYWJsZWQsCit9OworCiBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJf d2VsbCBoc3dfcG93ZXJfd2VsbHNbXSA9IHsKIAl7CiAJCS5uYW1lID0gImFsd2F5cy1vbiIsCkBA IC0xNjk3LDYgKzE3MzYsMTIgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgc2tsX3Bv d2VyX3dlbGxzW10gPSB7CiAJCS5kYXRhID0gU0tMX0RJU1BfUFdfMiwKIAl9LAogCXsKKwkJLm5h bWUgPSAiREMgb2ZmIiwKKwkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9N QUlOUywKKwkJLm9wcyA9ICZnZW45X2RjX29mZl9wb3dlcl93ZWxsX29wcywKKwkJLmRhdGEgPSBT S0xfRElTUF9QV19EQ19PRkYsCisJfSwKKwl7CiAJCS5uYW1lID0gIkRESSBBL0UgcG93ZXIgd2Vs bCIsCiAJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0FfRV9QT1dFUl9ET01BSU5TLAogCQku b3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKQEAgLTE3NjksNyArMTgxNCwxNCBAQCBzdGF0aWMg c3RydWN0IGk5MTVfcG93ZXJfd2VsbCBieHRfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLmRvbWFpbnMg PSBCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9w b3dlcl93ZWxsX29wcywKIAkJLmRhdGEgPSBTS0xfRElTUF9QV18yLAotCX0KKwl9LAorCXsKKwkJ Lm5hbWUgPSAiREMgb2ZmIiwKKwkJLmRvbWFpbnMgPSBCWFRfRElTUExBWV9EQ19PRkZfUE9XRVJf RE9NQUlOUywKKwkJLm9wcyA9ICZnZW45X2RjX29mZl9wb3dlcl93ZWxsX29wcywKKwkJLmRhdGEg PSBTS0xfRElTUF9QV19EQ19PRkYsCisJfSwKKwogfTsKIAogI2RlZmluZSBzZXRfcG93ZXJfd2Vs bHMocG93ZXJfZG9tYWlucywgX19wb3dlcl93ZWxscykgKHsJCVwKLS0gCjIuNS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=