From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrik Jakobsson Subject: [PATCH v4 10/12] drm/i915/gen9: Turn DC handling into a power well Date: Mon, 16 Nov 2015 16:20:01 +0100 Message-ID: <1447687201-24759-1-git-send-email-patrik.jakobsson@linux.intel.com> References: <1447682467-6237-4-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 8B2A86E156 for ; Mon, 16 Nov 2015 07:20:03 -0800 (PST) In-Reply-To: <1447682467-6237-4-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGFuZGxlIERDIG9mZiBhcyBhIHBvd2VyIHdlbGwgd2hlcmUgZW5hYmxpbmcgdGhlIHBvd2VyIHdl bGwgd2lsbCBwcmV2ZW50CnRoZSBETUMgdG8gZW50ZXIgc2VsZWN0ZWQgREMgc3RhdGVzIChyZXF1 aXJlZCBhcm91bmQgbW9kZXNldHMgYW5kIEF1eApBKS4gRGlzYWJsaW5nIHRoZSBwb3dlciB3ZWxs IHdpbGwgYWxsb3cgREMgc3RhdGVzIGFnYWluLiBGb3Igbm93IHRoZQpoaWdoZXN0IERDIHN0YXRl IGlzIERDNiBmb3IgU2t5bGFrZSBhbmQgREM1IGZvciBCcm94dG9uIGJ1dCB3aWxsIGJlCmNvbmZp Z3VyYWJsZSBmb3IgU2t5bGFrZSBpbiBhIGxhdGVyIHBhdGNoLgoKdjI6IENoZWNrIGJvdGggREM1 IGFuZCBEQzYgYml0cyBpbiBwb3dlciB3ZWxsIGVuYWJsZWQgZnVuY3Rpb24gKFZpbGxlKQp2MzoK LSBSZW1vdmUgdW5uZWVkZWQgRENfT0ZGIGNhc2UgaW4gc2tsX3NldF9wb3dlcl93ZWxsKCkgKElt cmUpCi0gQWRkIFBXMiBkZXBlbmRlbmN5IHRvIERDX09GRiAoSW1yZSkKdjQ6IFB1dCBEQ19PRkYg YmVmb3JlIFBXMiBpbiBCWFQgcG93ZXIgd2VsbCBhcnJheQoKU2lnbmVkLW9mZi1ieTogUGF0cmlr IEpha29ic3NvbiA8cGF0cmlrLmpha29ic3NvbkBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5 OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgICA2IC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jICAgIHwgICA2ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMg fCAxMTAgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwg ODggaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMK aW5kZXggNWE2M2Y5YS4uMGM3ZjQzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMDcy LDkgKzEwNzIsNiBAQCBzdGF0aWMgaW50IGk5MTVfcG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRl dikKIAogc3RhdGljIGludCBza2xfc3VzcGVuZF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKGRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCi0JCXNr bF9lbmFibGVfZGM2KGRldl9wcml2KTsKLQogCXJldHVybiAwOwogfQogCkBAIC0xMTE5LDkgKzEx MTYsNiBAQCBzdGF0aWMgaW50IGJ4dF9yZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIHN0YXRpYyBpbnQgc2tsX3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlpZiAoZGV2X3ByaXYtPmNzci5kbWNfcGF5 bG9hZCkKLQkJc2tsX2Rpc2FibGVfZGM2KGRldl9wcml2KTsKLQogCXJldHVybiAwOwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCAwZjM4NDlmLi5iNmEzNTI1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKQEAgLTYzOCw2ICs2MzgsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKIAogCS8qIE5vdCBhY3R1YWwgYml0IGdyb3Vwcy4gVXNlZCBhcyBJRHMgZm9yIGxvb2t1cF9w b3dlcl93ZWxsKCkgKi8KIAlTS0xfRElTUF9QV19BTFdBWVNfT04sCisJU0tMX0RJU1BfUFdfRENf T0ZGLAogfTsKIAogI2RlZmluZSBTS0xfUE9XRVJfV0VMTF9TVEFURShwdykgKDEgPDwgKChwdykg KiAyKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA5NzhiMWI5Li4yMTM4 NWEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMzMyMyw2ICsxMzMy Myw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnVwZGF0ZV9waXBlOwog CQl1bnNpZ25lZCBsb25nIHB1dF9kb21haW5zID0gMDsKIAorCQlpZiAobW9kZXNldCkKKwkJCWlu dGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fTU9ERVNFVCk7CisK IAkJaWYgKG1vZGVzZXQgJiYgY3J0Yy0+c3RhdGUtPmFjdGl2ZSkgewogCQkJdXBkYXRlX3NjYW5s aW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNydGMpKTsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmNy dGNfZW5hYmxlKGNydGMpOwpAQCAtMTMzNDYsNiArMTMzNDksOSBAQCBzdGF0aWMgaW50IGludGVs X2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCW1vZGVzZXRfcHV0X3Bv d2VyX2RvbWFpbnMoZGV2X3ByaXYsIHB1dF9kb21haW5zKTsKIAogCQlpbnRlbF9wb3N0X3BsYW5l X3VwZGF0ZShpbnRlbF9jcnRjKTsKKworCQlpZiAobW9kZXNldCkKKwkJCWludGVsX2Rpc3BsYXlf cG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fTU9ERVNFVCk7CiAJfQogCiAJLyogRklY TUU6IGFkZCBzdWJwaXhlbCBvcmRlciAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jCmluZGV4IGVkZjc1M2UuLjBmZjE2NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKQEAgLTQ5LDkgKzQ5LDYgQEAKICAqIHByZXNlbnQgZm9yIGEgZ2l2ZW4g cGxhdGZvcm0uCiAgKi8KIAotI2RlZmluZSBHRU45X0VOQUJMRV9EQzUoZGV2KSAwCi0jZGVmaW5l IFNLTF9FTkFCTEVfREM2KGRldikgSVNfU0tZTEFLRShkZXYpCi0KICNkZWZpbmUgZm9yX2VhY2hf cG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBkb21haW5fbWFzaywgcG93ZXJfZG9tYWlucykJXAog CWZvciAoaSA9IDA7CQkJCQkJCVwKIAkgICAgIGkgPCAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dl bGxfY291bnQgJiYJCQlcCkBAIC0zMDksOSArMzA2LDE1IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRf cG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAjZGVmaW5lIFNL TF9ESVNQTEFZX0RESV9EX1BPV0VSX0RPTUFJTlMgKAkJXAogCUJJVChQT1dFUl9ET01BSU5fUE9S VF9ERElfRF9MQU5FUykgfAkJXAogCUJJVChQT1dFUl9ET01BSU5fSU5JVCkpCisjZGVmaW5lIFNL TF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TICgJCVwKKwlTS0xfRElTUExBWV9QT1dFUldF TExfMl9QT1dFUl9ET01BSU5TIHwJCVwKKwlCSVQoUE9XRVJfRE9NQUlOX01PREVTRVQpIHwJCQlc CisJQklUKFBPV0VSX0RPTUFJTl9BVVhfQSkgfAkJCVwKKwlCSVQoUE9XRVJfRE9NQUlOX0lOSVQp KQogI2RlZmluZSBTS0xfRElTUExBWV9BTFdBWVNfT05fUE9XRVJfRE9NQUlOUyAoCQlcCiAJKFBP V0VSX0RPTUFJTl9NQVNLICYgfigJCQkJXAotCVNLTF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VS X0RPTUFJTlMpKSB8CVwKKwlTS0xfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJ CVwKKwlTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9NQUlOUykpIHwJCVwKIAlCSVQoUE9XRVJf RE9NQUlOX0lOSVQpKQogCiAjZGVmaW5lIEJYVF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RP TUFJTlMgKAkJXApAQCAtMzM5LDYgKzM0MiwxMSBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X3Bvd2Vy X3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUJJVChQT1dFUl9ET01B SU5fQVVYX0EpIHwJCQlcCiAJQklUKFBPV0VSX0RPTUFJTl9QTExTKSB8CQkJXAogCUJJVChQT1dF Ul9ET01BSU5fSU5JVCkpCisjZGVmaW5lIEJYVF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5T ICgJCVwKKwlCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKKwlCSVQo UE9XRVJfRE9NQUlOX01PREVTRVQpIHwJCQlcCisJQklUKFBPV0VSX0RPTUFJTl9BVVhfQSkgfAkJ CVwKKwlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQogI2RlZmluZSBCWFRfRElTUExBWV9BTFdBWVNf T05fUE9XRVJfRE9NQUlOUyAoCQlcCiAJKFBPV0VSX0RPTUFJTl9NQVNLICYgfihCWFRfRElTUExB WV9QT1dFUldFTExfMV9QT1dFUl9ET01BSU5TIHwJXAogCUJYVF9ESVNQTEFZX1BPV0VSV0VMTF8y X1BPV0VSX0RPTUFJTlMpKSB8CVwKQEAgLTQ4NiwxNSArNDk0LDYgQEAgc3RhdGljIHZvaWQgZ2Vu OV9lbmFibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlnZW45X3Nl dF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRU5fVVBUT19EQzUpOwogfQogCi1zdGF0aWMg dm9pZCBnZW45X2Rpc2FibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK LXsKLQlhc3NlcnRfY2FuX2Rpc2FibGVfZGM1KGRldl9wcml2KTsKLQotCURSTV9ERUJVR19LTVMo IkRpc2FibGluZyBEQzVcbiIpOwotCi0JZ2VuOV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NU QVRFX0RJU0FCTEUpOwotfQotCiBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2VuYWJsZV9kYzYoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBkZXZfcHJpdi0+ZGV2OwpAQCAtNTIyLDYgKzUyMSwxNCBAQCBzdGF0aWMgdm9pZCBhc3Nl cnRfY2FuX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJ ICAiREM2IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBkaXNhYmxlZC5cbiIpOwogfQogCitzdGF0 aWMgdm9pZCBnZW45X2Rpc2FibGVfZGM1X2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCit7CisJYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNShkZXZfcHJpdik7CisJYXNzZXJ0X2Nh bl9kaXNhYmxlX2RjNihkZXZfcHJpdik7CisKKwlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwg RENfU1RBVEVfRElTQUJMRSk7Cit9CisKIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWFzc2VydF9jYW5fZW5hYmxlX2RjNihkZXZfcHJp dik7CkBAIC01ODksMTcgKzU5NiwxMyBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSJJbnZhbGlkIGZvciBwb3dl ciB3ZWxsIHN0YXR1cyB0byBiZSBlbmFibGVkLCB1bmxlc3MgZG9uZSBieSB0aGUgQklPUywgXAog CQkJCXdoZW4gcmVxdWVzdCBpcyB0byBkaXNhYmxlIVxuIik7CiAJCQlpZiAocG93ZXJfd2VsbC0+ ZGF0YSA9PSBTS0xfRElTUF9QV18yKSB7Ci0JCQkJaWYgKEdFTjlfRU5BQkxFX0RDNShkZXYpKQot CQkJCQlnZW45X2Rpc2FibGVfZGM1KGRldl9wcml2KTsKLQkJCQlpZiAoU0tMX0VOQUJMRV9EQzYo ZGV2KSkgewotCQkJCQkvKgotCQkJCQkgKiBEREkgYnVmZmVyIHByb2dyYW1taW5nIHVubmVjZXNz YXJ5IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUKLQkJCQkJICogYXMgaXQncyBhbHJlYWR5IGRv bmUgZHVyaW5nIG1vZGVzZXQgaW5pdGlhbGl6YXRpb24gdGhlbi4KLQkJCQkJICogSXQncyBhbHNv IGludmFsaWQgaGVyZSBhcyBlbmNvZGVyIGxpc3QgaXMgc3RpbGwgdW5pbml0aWFsaXplZC4KLQkJ CQkJICovCi0JCQkJCWlmICghZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQot CQkJCQkJaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKLQkJCQl9CisJCQkJLyoKKwkJCQkgKiBEREkg YnVmZmVyIHByb2dyYW1taW5nIHVubmVjZXNzYXJ5IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUK KwkJCQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcgbW9kZXNldCBpbml0aWFsaXphdGlv biB0aGVuLgorCQkJCSAqIEl0J3MgYWxzbyBpbnZhbGlkIGhlcmUgYXMgZW5jb2RlciBsaXN0IGlz IHN0aWxsIHVuaW5pdGlhbGl6ZWQuCisJCQkJICovCisJCQkJaWYgKCFkZXZfcHJpdi0+cG93ZXJf ZG9tYWlucy5pbml0aWFsaXppbmcpCisJCQkJCWludGVsX3ByZXBhcmVfZGRpKGRldik7CiAJCQl9 CiAJCQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklWRVIsIHRtcCB8IHJlcV9tYXNrKTsKIAkJ fQpAQCAtNjE3LDEwICs2MjAsNiBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJSTkxNV9XUklURShIU1dfUFdSX1dF TExfRFJJVkVSLAl0bXAgJiB+cmVxX21hc2spOwogCQkJUE9TVElOR19SRUFEKEhTV19QV1JfV0VM TF9EUklWRVIpOwogCQkJRFJNX0RFQlVHX0tNUygiRGlzYWJsaW5nICVzXG4iLCBwb3dlcl93ZWxs LT5uYW1lKTsKLQotCQkJaWYgKEdFTjlfRU5BQkxFX0RDNShkZXYpICYmCi0JCQkJcG93ZXJfd2Vs bC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQotCQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYp OwogCQl9CiAJfQogCkBAIC02OTUsNiArNjk0LDQwIEBAIHN0YXRpYyB2b2lkIHNrbF9wb3dlcl93 ZWxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXNrbF9zZXRf cG93ZXJfd2VsbChkZXZfcHJpdiwgcG93ZXJfd2VsbCwgZmFsc2UpOwogfQogCitzdGF0aWMgYm9v bCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkJCQkgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7 CisJcmV0dXJuIChJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYgRENfU1RBVEVfRU5fVVBUT19EQzVf REM2X01BU0spID09IDA7Cit9CisKK3N0YXRpYyB2b2lkIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxf ZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJIHN0cnVjdCBp OTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJZ2VuOV9kaXNhYmxlX2RjNV9kYzYoZGV2 X3ByaXYpOworfQorCitzdGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2Rpc2FibGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQkgIHN0cnVjdCBpOTE1X3Bv d2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCQlz a2xfZW5hYmxlX2RjNihkZXZfcHJpdik7CisJZWxzZQorCQlnZW45X2VuYWJsZV9kYzUoZGV2X3By aXYpOworfQorCitzdGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX3N5bmNfaHcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQkgIHN0cnVjdCBpOTE1X3Bvd2Vy X3dlbGwgKnBvd2VyX3dlbGwpCit7CisJaWYgKHBvd2VyX3dlbGwtPmNvdW50ID4gMCkgeworCQln ZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRElTQUJMRSk7CisJfSBlbHNlIHsK KwkJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCQkJZ2VuOV9zZXRfZGNfc3RhdGUoZGV2X3By aXYsIERDX1NUQVRFX0VOX1VQVE9fREM2KTsKKwkJZWxzZQorCQkJZ2VuOV9zZXRfZGNfc3RhdGUo ZGV2X3ByaXYsIERDX1NUQVRFX0VOX1VQVE9fREM1KTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIGk5 eHhfYWx3YXlzX29uX3Bvd2VyX3dlbGxfbm9vcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7CkBA IC0xNTE3LDYgKzE1NTAsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxf b3BzIHNrbF9wb3dlcl93ZWxsX29wcyA9IHsKIAkuaXNfZW5hYmxlZCA9IHNrbF9wb3dlcl93ZWxs X2VuYWJsZWQsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMg Z2VuOV9kY19vZmZfcG93ZXJfd2VsbF9vcHMgPSB7CisJLnN5bmNfaHcgPSBnZW45X2RjX29mZl9w b3dlcl93ZWxsX3N5bmNfaHcsCisJLmVuYWJsZSA9IGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5h YmxlLAorCS5kaXNhYmxlID0gZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9kaXNhYmxlLAorCS5pc19l bmFibGVkID0gZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkLAorfTsKKwogc3RhdGljIHN0 cnVjdCBpOTE1X3Bvd2VyX3dlbGwgaHN3X3Bvd2VyX3dlbGxzW10gPSB7CiAJewogCQkubmFtZSA9 ICJhbHdheXMtb24iLApAQCAtMTY5MSw2ICsxNzMxLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsIHNrbF9wb3dlcl93ZWxsc1tdID0gewogCQkuZGF0YSA9IFNLTF9ESVNQX1BXX01J U0NfSU8sCiAJfSwKIAl7CisJCS5uYW1lID0gIkRDIG9mZiIsCisJCS5kb21haW5zID0gU0tMX0RJ U1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMsCisJCS5vcHMgPSAmZ2VuOV9kY19vZmZfcG93ZXJf d2VsbF9vcHMsCisJCS5kYXRhID0gU0tMX0RJU1BfUFdfRENfT0ZGLAorCX0sCisJewogCQkubmFt ZSA9ICJwb3dlciB3ZWxsIDIiLAogCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX1BPV0VSV0VMTF8y X1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLApAQCAtMTc2NSwx MSArMTgxMSwxNyBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBieHRfcG93ZXJfd2Vs bHNbXSA9IHsKIAkJLmRhdGEgPSBTS0xfRElTUF9QV18xLAogCX0sCiAJeworCQkubmFtZSA9ICJE QyBvZmYiLAorCQkuZG9tYWlucyA9IEJYVF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TLAor CQkub3BzID0gJmdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfb3BzLAorCQkuZGF0YSA9IFNLTF9ESVNQ X1BXX0RDX09GRiwKKwl9LAorCXsKIAkJLm5hbWUgPSAicG93ZXIgd2VsbCAyIiwKIAkJLmRvbWFp bnMgPSBCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNr bF9wb3dlcl93ZWxsX29wcywKIAkJLmRhdGEgPSBTS0xfRElTUF9QV18yLAotCX0KKwl9LAogfTsK IAogI2RlZmluZSBzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgX19wb3dlcl93ZWxscykg KHsJCVwKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=