From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrik Jakobsson Subject: [PATCH v3 10/12] drm/i915/gen9: Turn DC handling into a power well Date: Mon, 16 Nov 2015 15:01:07 +0100 Message-ID: <1447682467-6237-4-git-send-email-patrik.jakobsson@linux.intel.com> References: <1447084107-8521-11-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 5E72B6E005 for ; Mon, 16 Nov 2015 06:05:37 -0800 (PST) In-Reply-To: <1447084107-8521-11-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 cmUpCi0gQWRkIFBXMiBkZXBlbmRlbmN5IHRvIERDX09GRiAoSW1yZSkKClNpZ25lZC1vZmYtYnk6 IFBhdHJpayBKYWtvYnNzb24gPHBhdHJpay5qYWtvYnNzb25AbGludXguaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICAgNiAtLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICB8ICAgNiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jIHwgMTExICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiA0IGZpbGVzIGNo YW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCmluZGV4IDVhNjNmOWEuLjBjN2Y0MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpA QCAtMTA3Miw5ICsxMDcyLDYgQEAgc3RhdGljIGludCBpOTE1X3BtX3Jlc3VtZShzdHJ1Y3QgZGV2 aWNlICpkZXYpCiAKIHN0YXRpYyBpbnQgc2tsX3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCWlmIChkZXZfcHJpdi0+Y3NyLmRtY19wYXlsb2Fk KQotCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTEx OSw5ICsxMTE2LDYgQEAgc3RhdGljIGludCBieHRfcmVzdW1lX3ByZXBhcmUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiBzdGF0aWMgaW50IHNrbF9yZXN1bWVfcHJlcGFyZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKGRldl9wcml2LT5jc3Iu ZG1jX3BheWxvYWQpCi0JCXNrbF9kaXNhYmxlX2RjNihkZXZfcHJpdik7Ci0KIAlyZXR1cm4gMDsK IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMGYzODQ5Zi4uYjZhMzUyNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCkBAIC02MzgsNiArNjM4LDcgQEAgZW51bSBza2xfZGlzcF9wb3dl cl93ZWxscyB7CiAKIAkvKiBOb3QgYWN0dWFsIGJpdCBncm91cHMuIFVzZWQgYXMgSURzIGZvciBs b29rdXBfcG93ZXJfd2VsbCgpICovCiAJU0tMX0RJU1BfUFdfQUxXQVlTX09OLAorCVNLTF9ESVNQ X1BXX0RDX09GRiwKIH07CiAKICNkZWZpbmUgU0tMX1BPV0VSX1dFTExfU1RBVEUocHcpICgxIDw8 ICgocHcpICogMikpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggOTc4YjFi OS4uMjEzODVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTMzMjMs NiArMTMzMjMsOSBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVf cGlwZTsKIAkJdW5zaWduZWQgbG9uZyBwdXRfZG9tYWlucyA9IDA7CiAKKwkJaWYgKG1vZGVzZXQp CisJCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX01PREVT RVQpOworCiAJCWlmIChtb2Rlc2V0ICYmIGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKIAkJCXVwZGF0 ZV9zY2FubGluZV9vZmZzZXQodG9faW50ZWxfY3J0YyhjcnRjKSk7CiAJCQlkZXZfcHJpdi0+ZGlz cGxheS5jcnRjX2VuYWJsZShjcnRjKTsKQEAgLTEzMzQ2LDYgKzEzMzQ5LDkgQEAgc3RhdGljIGlu dCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQltb2Rlc2V0 X3B1dF9wb3dlcl9kb21haW5zKGRldl9wcml2LCBwdXRfZG9tYWlucyk7CiAKIAkJaW50ZWxfcG9z dF9wbGFuZV91cGRhdGUoaW50ZWxfY3J0Yyk7CisKKwkJaWYgKG1vZGVzZXQpCisJCQlpbnRlbF9k aXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX01PREVTRVQpOwogCX0KIAog CS8qIEZJWE1FOiBhZGQgc3VicGl4ZWwgb3JkZXIgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYwppbmRleCBlZGY3NTNlLi5iNmVlNDhlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jCkBAIC00OSw5ICs0OSw2IEBACiAgKiBwcmVzZW50IGZvciBh IGdpdmVuIHBsYXRmb3JtLgogICovCiAKLSNkZWZpbmUgR0VOOV9FTkFCTEVfREM1KGRldikgMAot I2RlZmluZSBTS0xfRU5BQkxFX0RDNihkZXYpIElTX1NLWUxBS0UoZGV2KQotCiAjZGVmaW5lIGZv cl9lYWNoX3Bvd2VyX3dlbGwoaSwgcG93ZXJfd2VsbCwgZG9tYWluX21hc2ssIHBvd2VyX2RvbWFp bnMpCVwKIAlmb3IgKGkgPSAwOwkJCQkJCQlcCiAJICAgICBpIDwgKHBvd2VyX2RvbWFpbnMpLT5w b3dlcl93ZWxsX2NvdW50ICYmCQkJXApAQCAtMzA5LDkgKzMwNiwxNSBAQCBzdGF0aWMgdm9pZCBo c3dfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogI2Rl ZmluZSBTS0xfRElTUExBWV9ERElfRF9QT1dFUl9ET01BSU5TICgJCVwKIAlCSVQoUE9XRVJfRE9N QUlOX1BPUlRfRERJX0RfTEFORVMpIHwJCVwKIAlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQorI2Rl ZmluZSBTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9NQUlOUyAoCQlcCisJU0tMX0RJU1BMQVlf UE9XRVJXRUxMXzJfUE9XRVJfRE9NQUlOUyB8CQlcCisJQklUKFBPV0VSX0RPTUFJTl9NT0RFU0VU KSB8CQkJXAorCUJJVChQT1dFUl9ET01BSU5fQVVYX0EpIHwJCQlcCisJQklUKFBPV0VSX0RPTUFJ Tl9JTklUKSkKICNkZWZpbmUgU0tMX0RJU1BMQVlfQUxXQVlTX09OX1BPV0VSX0RPTUFJTlMgKAkJ XAogCShQT1dFUl9ET01BSU5fTUFTSyAmIH4oCQkJCVwKLQlTS0xfRElTUExBWV9QT1dFUldFTExf Ml9QT1dFUl9ET01BSU5TKSkgfAlcCisJU0tMX0RJU1BMQVlfUE9XRVJXRUxMXzJfUE9XRVJfRE9N QUlOUyB8CQlcCisJU0tMX0RJU1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMpKSB8CQlcCiAJQklU KFBPV0VSX0RPTUFJTl9JTklUKSkKIAogI2RlZmluZSBCWFRfRElTUExBWV9QT1dFUldFTExfMl9Q T1dFUl9ET01BSU5TICgJCVwKQEAgLTMzOSw2ICszNDIsMTEgQEAgc3RhdGljIHZvaWQgaHN3X3Nl dF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlCSVQoUE9X RVJfRE9NQUlOX0FVWF9BKSB8CQkJXAogCUJJVChQT1dFUl9ET01BSU5fUExMUykgfAkJCVwKIAlC SVQoUE9XRVJfRE9NQUlOX0lOSVQpKQorI2RlZmluZSBCWFRfRElTUExBWV9EQ19PRkZfUE9XRVJf RE9NQUlOUyAoCQlcCisJQlhUX0RJU1BMQVlfUE9XRVJXRUxMXzJfUE9XRVJfRE9NQUlOUyB8CQlc CisJQklUKFBPV0VSX0RPTUFJTl9NT0RFU0VUKSB8CQkJXAorCUJJVChQT1dFUl9ET01BSU5fQVVY X0EpIHwJCQlcCisJQklUKFBPV0VSX0RPTUFJTl9JTklUKSkKICNkZWZpbmUgQlhUX0RJU1BMQVlf QUxXQVlTX09OX1BPV0VSX0RPTUFJTlMgKAkJXAogCShQT1dFUl9ET01BSU5fTUFTSyAmIH4oQlhU X0RJU1BMQVlfUE9XRVJXRUxMXzFfUE9XRVJfRE9NQUlOUyB8CVwKIAlCWFRfRElTUExBWV9QT1dF UldFTExfMl9QT1dFUl9ET01BSU5TKSkgfAlcCkBAIC00ODYsMTUgKzQ5NCw2IEBAIHN0YXRpYyB2 b2lkIGdlbjlfZW5hYmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ Z2VuOV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0VOX1VQVE9fREM1KTsKIH0KIAot c3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCi17Ci0JYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNShkZXZfcHJpdik7Ci0KLQlEUk1fREVC VUdfS01TKCJEaXNhYmxpbmcgREM1XG4iKTsKLQotCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2 LCBEQ19TVEFURV9ESVNBQkxFKTsKLX0KLQogc3RhdGljIHZvaWQgYXNzZXJ0X2Nhbl9lbmFibGVf ZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKQEAgLTUyMiw2ICs1MjEsMTQgQEAgc3RhdGljIHZv aWQgYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJCSAgIkRDNiBhbHJlYWR5IHByb2dyYW1tZWQgdG8gYmUgZGlzYWJsZWQuXG4iKTsKIH0K IAorc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX2RjNV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQoreworCWFzc2VydF9jYW5fZGlzYWJsZV9kYzUoZGV2X3ByaXYpOworCWFz c2VydF9jYW5fZGlzYWJsZV9kYzYoZGV2X3ByaXYpOworCisJZ2VuOV9zZXRfZGNfc3RhdGUoZGV2 X3ByaXYsIERDX1NUQVRFX0RJU0FCTEUpOworfQorCiB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlhc3NlcnRfY2FuX2VuYWJsZV9kYzYo ZGV2X3ByaXYpOwpAQCAtNTg5LDE3ICs1OTYsMTMgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dl cl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkiSW52YWxpZCBm b3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkgdGhlIEJJ T1MsIFwKIAkJCQl3aGVuIHJlcXVlc3QgaXMgdG8gZGlzYWJsZSFcbiIpOwogCQkJaWYgKHBvd2Vy X3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgewotCQkJCWlmIChHRU45X0VOQUJMRV9EQzUo ZGV2KSkKLQkJCQkJZ2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7Ci0JCQkJaWYgKFNLTF9FTkFC TEVfREM2KGRldikpIHsKLQkJCQkJLyoKLQkJCQkJICogRERJIGJ1ZmZlciBwcm9ncmFtbWluZyB1 bm5lY2Vzc2FyeSBkdXJpbmcgZHJpdmVyLWxvYWQvcmVzdW1lCi0JCQkJCSAqIGFzIGl0J3MgYWxy ZWFkeSBkb25lIGR1cmluZyBtb2Rlc2V0IGluaXRpYWxpemF0aW9uIHRoZW4uCi0JCQkJCSAqIEl0 J3MgYWxzbyBpbnZhbGlkIGhlcmUgYXMgZW5jb2RlciBsaXN0IGlzIHN0aWxsIHVuaW5pdGlhbGl6 ZWQuCi0JCQkJCSAqLwotCQkJCQlpZiAoIWRldl9wcml2LT5wb3dlcl9kb21haW5zLmluaXRpYWxp emluZykKLQkJCQkJCWludGVsX3ByZXBhcmVfZGRpKGRldik7Ci0JCQkJfQorCQkJCS8qCisJCQkJ ICogRERJIGJ1ZmZlciBwcm9ncmFtbWluZyB1bm5lY2Vzc2FyeSBkdXJpbmcgZHJpdmVyLWxvYWQv cmVzdW1lCisJCQkJICogYXMgaXQncyBhbHJlYWR5IGRvbmUgZHVyaW5nIG1vZGVzZXQgaW5pdGlh bGl6YXRpb24gdGhlbi4KKwkJCQkgKiBJdCdzIGFsc28gaW52YWxpZCBoZXJlIGFzIGVuY29kZXIg bGlzdCBpcyBzdGlsbCB1bmluaXRpYWxpemVkLgorCQkJCSAqLworCQkJCWlmICghZGV2X3ByaXYt PnBvd2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQorCQkJCQlpbnRlbF9wcmVwYXJlX2RkaShkZXYp OwogCQkJfQogCQkJSTkxNV9XUklURShIU1dfUFdSX1dFTExfRFJJVkVSLCB0bXAgfCByZXFfbWFz ayk7CiAJCX0KQEAgLTYxNywxMCArNjIwLDYgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93 ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCUk5MTVfV1JJVEUoSFNX X1BXUl9XRUxMX0RSSVZFUiwJdG1wICYgfnJlcV9tYXNrKTsKIAkJCVBPU1RJTkdfUkVBRChIU1df UFdSX1dFTExfRFJJVkVSKTsKIAkJCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyAlc1xuIiwgcG93 ZXJfd2VsbC0+bmFtZSk7Ci0KLQkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgotCQkJCXBv d2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikKLQkJCQkJZ2VuOV9lbmFibGVfZGM1KGRl dl9wcml2KTsKIAkJfQogCX0KIApAQCAtNjk1LDYgKzY5NCw0MCBAQCBzdGF0aWMgdm9pZCBza2xf cG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlz a2xfc2V0X3Bvd2VyX3dlbGwoZGV2X3ByaXYsIHBvd2VyX3dlbGwsIGZhbHNlKTsKIH0KIAorc3Rh dGljIGJvb2wgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93 ZWxsKQoreworCXJldHVybiAoSTkxNV9SRUFEKERDX1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX1VQ VE9fREM1X0RDNl9NQVNLKSA9PSAwOworfQorCitzdGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dl cl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSBz dHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQoreworCWdlbjlfZGlzYWJsZV9kYzVf ZGM2KGRldl9wcml2KTsKK30KKworc3RhdGljIHZvaWQgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9k aXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICBzdHJ1Y3Qg aTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQoreworCWlmIChJU19TS1lMQUtFKGRldl9wcml2 KSkKKwkJc2tsX2VuYWJsZV9kYzYoZGV2X3ByaXYpOworCWVsc2UKKwkJZ2VuOV9lbmFibGVfZGM1 KGRldl9wcml2KTsKK30KKworc3RhdGljIHZvaWQgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9zeW5j X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICBzdHJ1Y3QgaTkx NV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQoreworCWlmIChwb3dlcl93ZWxsLT5jb3VudCA+IDAp IHsKKwkJZ2VuOV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0RJU0FCTEUpOworCX0g ZWxzZSB7CisJCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSkKKwkJCWdlbjlfc2V0X2RjX3N0YXRl KGRldl9wcml2LCBEQ19TVEFURV9FTl9VUFRPX0RDNik7CisJCWVsc2UKKwkJCWdlbjlfc2V0X2Rj X3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9FTl9VUFRPX0RDNSk7CisJfQorfQorCiBzdGF0aWMg dm9pZCBpOXh4X2Fsd2F5c19vbl9wb3dlcl93ZWxsX25vb3Aoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJCQkgICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxs KQogewpAQCAtMTUxNyw2ICsxNTUwLDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dl cl93ZWxsX29wcyBza2xfcG93ZXJfd2VsbF9vcHMgPSB7CiAJLmlzX2VuYWJsZWQgPSBza2xfcG93 ZXJfd2VsbF9lbmFibGVkLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dl bGxfb3BzIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfb3BzID0geworCS5zeW5jX2h3ID0gZ2VuOV9k Y19vZmZfcG93ZXJfd2VsbF9zeW5jX2h3LAorCS5lbmFibGUgPSBnZW45X2RjX29mZl9wb3dlcl93 ZWxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZSwK KwkuaXNfZW5hYmxlZCA9IGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5hYmxlZCwKK307CisKIHN0 YXRpYyBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsIGhzd19wb3dlcl93ZWxsc1tdID0gewogCXsKIAkJ Lm5hbWUgPSAiYWx3YXlzLW9uIiwKQEAgLTE2OTEsNiArMTczMSwxMiBAQCBzdGF0aWMgc3RydWN0 IGk5MTVfcG93ZXJfd2VsbCBza2xfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLmRhdGEgPSBTS0xfRElT UF9QV19NSVNDX0lPLAogCX0sCiAJeworCQkubmFtZSA9ICJEQyBvZmYiLAorCQkuZG9tYWlucyA9 IFNLTF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TLAorCQkub3BzID0gJmdlbjlfZGNfb2Zm X3Bvd2VyX3dlbGxfb3BzLAorCQkuZGF0YSA9IFNLTF9ESVNQX1BXX0RDX09GRiwKKwl9LAorCXsK IAkJLm5hbWUgPSAicG93ZXIgd2VsbCAyIiwKIAkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9QT1dF UldFTExfMl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKQEAg LTE3NjksNyArMTgxNSwxNCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBieHRfcG93 ZXJfd2VsbHNbXSA9IHsKIAkJLmRvbWFpbnMgPSBCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dF Ul9ET01BSU5TLAogCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKIAkJLmRhdGEgPSBTS0xf RElTUF9QV18yLAotCX0KKwl9LAorCXsKKwkJLm5hbWUgPSAiREMgb2ZmIiwKKwkJLmRvbWFpbnMg PSBCWFRfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9NQUlOUywKKwkJLm9wcyA9ICZnZW45X2RjX29m Zl9wb3dlcl93ZWxsX29wcywKKwkJLmRhdGEgPSBTS0xfRElTUF9QV19EQ19PRkYsCisJfSwKKwog fTsKIAogI2RlZmluZSBzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgX19wb3dlcl93ZWxs cykgKHsJCVwKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=