From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v2 2/3] drm/i915/psr: Remove partial PSR support on multiple transcoders Date: Fri, 12 Apr 2019 15:29:08 -0700 Message-ID: <20190412222909.1711-2-jose.souza@intel.com> References: <20190412222909.1711-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4CEB6899BE for ; Fri, 12 Apr 2019 22:29:13 +0000 (UTC) In-Reply-To: <20190412222909.1711-1-jose.souza@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: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org aTkxNSBkb2VzIG5vdCBzdXBwb3J0IGVuYWJsaW5nIFBTUiBvbiBhbnkgdHJhbnNjb2RlciBvdGhl ciB0aGFuIGVEUC4KQ2xlYW4gdXAgdGhlIG1pc2xlYWRpbmcgbm9uLWVEUCBjb2RlIHRoYXQgY3Vy cmVudGx5IGV4aXN0cyB0byBhbGxvdwpmb3IgdGhlIHJld29yayBvZiBQU1IgcmVnaXN0ZXIgZGVm aW5pdGlvbnMgaW4gdGhlIG5leHQgcGF0Y2guCgp2MjoKLSBDb21taXQgbWVzc2FnZSB1cGRhdGVk IChSb2RyaWdvIGFuZCBEaGluYWthcmFuKQoKQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5h a2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNv dXphQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICAx NyArLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8IDE0NyArKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyks IDEyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBjMWMwZjdhYjAz ZTkuLmUyODAzYjEyMGI2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC00MjQzLDEzICs0 MjQzLDkgQEAgZW51bSB7CiAvKiBCc3BlYyBjbGFpbXMgdGhvc2UgYXJlbid0IHNoaWZ0ZWQgYnV0 IHN0YXkgYXQgMHg2NDgwMCAqLwogI2RlZmluZSBFRFBfUFNSX0lNUgkJCQlfTU1JTygweDY0ODM0 KQogI2RlZmluZSBFRFBfUFNSX0lJUgkJCQlfTU1JTygweDY0ODM4KQotI2RlZmluZSAgIEVEUF9Q U1JfRVJST1Ioc2hpZnQpCQkJKDEgPDwgKChzaGlmdCkgKyAyKSkKLSNkZWZpbmUgICBFRFBfUFNS X1BPU1RfRVhJVChzaGlmdCkJCSgxIDw8ICgoc2hpZnQpICsgMSkpCi0jZGVmaW5lICAgRURQX1BT Ul9QUkVfRU5UUlkoc2hpZnQpCQkoMSA8PCAoc2hpZnQpKQotI2RlZmluZSAgIEVEUF9QU1JfVFJB TlNDT0RFUl9DX1NISUZUCQkyNAotI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9CX1NISUZU CQkxNgotI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9BX1NISUZUCQk4Ci0jZGVmaW5lICAg RURQX1BTUl9UUkFOU0NPREVSX0VEUF9TSElGVAkJMAorI2RlZmluZSAgIEVEUF9QU1JfRVJST1IJ CQkJKDEgPDwgMikKKyNkZWZpbmUgICBFRFBfUFNSX1BPU1RfRVhJVAkJCSgxIDw8IDEpCisjZGVm aW5lICAgRURQX1BTUl9QUkVfRU5UUlkJCQkoMSA8PCAwKQogCiAjZGVmaW5lIEVEUF9QU1JfQVVY X0NUTAkJCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4MTApCiAjZGVmaW5lICAg RURQX1BTUl9BVVhfQ1RMX1RJTUVfT1VUX01BU0sJCSgzIDw8IDI2KQpAQCAtNDMxNCwxMiArNDMx MCw3IEBAIGVudW0gewogI2RlZmluZSAgIEVEUF9QU1IyX0lETEVfRlJBTUVfTUFTSwkweGYKICNk ZWZpbmUgICBFRFBfUFNSMl9JRExFX0ZSQU1FX1NISUZUCTAKIAotI2RlZmluZSBfUFNSX0VWRU5U X1RSQU5TX0EJCQkweDYwODQ4Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfQgkJCTB4NjE4NDgK LSNkZWZpbmUgX1BTUl9FVkVOVF9UUkFOU19DCQkJMHg2Mjg0OAotI2RlZmluZSBfUFNSX0VWRU5U X1RSQU5TX0QJCQkweDYzODQ4Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRURQCQkJMHg2Rjg0 OAotI2RlZmluZSBQU1JfRVZFTlQodHJhbnMpCQkJX01NSU9fVFJBTlMyKHRyYW5zLCBfUFNSX0VW RU5UX1RSQU5TX0EpCisjZGVmaW5lIFBTUl9FVkVOVAkJCQlfTU1JTygweDZGODQ4KQogI2RlZmlu ZSAgUFNSX0VWRU5UX1BTUjJfV0RfVElNRVJfRVhQSVJFCQkoMSA8PCAxNykKICNkZWZpbmUgIFBT Ul9FVkVOVF9QU1IyX0RJU0FCTEVECQkoMSA8PCAxNikKICNkZWZpbmUgIFBTUl9FVkVOVF9TVV9E SVJUWV9GSUZPX1VOREVSUlVOCSgxIDw8IDE1KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRl eCA5NjM2NjNiYTBlZGYuLjU4MTc3NDc0OGM0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMK QEAgLTg3LDQ2ICs4NywxMiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wc3IyX2VuYWJsZWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCX0KIH0KIAotc3RhdGljIGludCBlZHBfcHNy X3NoaWZ0KGVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcikKLXsKLQlzd2l0Y2ggKGNwdV90 cmFuc2NvZGVyKSB7Ci0JY2FzZSBUUkFOU0NPREVSX0E6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5T Q09ERVJfQV9TSElGVDsKLQljYXNlIFRSQU5TQ09ERVJfQjoKLQkJcmV0dXJuIEVEUF9QU1JfVFJB TlNDT0RFUl9CX1NISUZUOwotCWNhc2UgVFJBTlNDT0RFUl9DOgotCQlyZXR1cm4gRURQX1BTUl9U UkFOU0NPREVSX0NfU0hJRlQ7Ci0JZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGNwdV90cmFuc2Nv ZGVyKTsKLQkJLyogZmFsbHRocm91Z2ggKi8KLQljYXNlIFRSQU5TQ09ERVJfRURQOgotCQlyZXR1 cm4gRURQX1BTUl9UUkFOU0NPREVSX0VEUF9TSElGVDsKLQl9Ci19Ci0KIHZvaWQgaW50ZWxfcHNy X2lycV9jb250cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRlYnVn KQogewotCXUzMiBkZWJ1Z19tYXNrLCBtYXNrOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNj b2RlcjsKLQl1MzIgdHJhbnNjb2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwotCi0JaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gOCkKLQkJdHJhbnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJf QSkgfAotCQkJICAgICAgIEJJVChUUkFOU0NPREVSX0IpIHwKLQkJCSAgICAgICBCSVQoVFJBTlND T0RFUl9DKTsKLQotCWRlYnVnX21hc2sgPSAwOwotCW1hc2sgPSAwOwotCWZvcl9lYWNoX2NwdV90 cmFuc2NvZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRyYW5zY29kZXJzKSB7 Ci0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwotCi0JCW1hc2sg fD0gRURQX1BTUl9FUlJPUihzaGlmdCk7Ci0JCWRlYnVnX21hc2sgfD0gRURQX1BTUl9QT1NUX0VY SVQoc2hpZnQpIHwKLQkJCSAgICAgIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KTsKLQl9CisJdTMy IG1hc2sgPSBFRFBfUFNSX0VSUk9SOwogCiAJaWYgKGRlYnVnICYgSTkxNV9QU1JfREVCVUdfSVJR KQotCQltYXNrIHw9IGRlYnVnX21hc2s7CisJCW1hc2sgfD0gRURQX1BTUl9QT1NUX0VYSVQgfCBF RFBfUFNSX1BSRV9FTlRSWTsKIAogCUk5MTVfV1JJVEUoRURQX1BTUl9JTVIsIH5tYXNrKTsKIH0K QEAgLTE3MCw2MiArMTM2LDQ3IEBAIHN0YXRpYyB2b2lkIHBzcl9ldmVudF9wcmludCh1MzIgdmFs LCBib29sIHBzcjJfZW5hYmxlZCkKIAogdm9pZCBpbnRlbF9wc3JfaXJxX2hhbmRsZXIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcHNyX2lpcikKIHsKLQl1MzIgdHJhbnNj b2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNj b2RlcjsKLQlrdGltZV90IHRpbWVfbnMgPSAga3RpbWVfZ2V0KCk7Ci0JdTMyIG1hc2sgPSAwOwor CWt0aW1lX3QgdGltZV9ucyA9IGt0aW1lX2dldCgpOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gOCkKLQkJdHJhbnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJfQSkgfAotCQkJICAgICAg IEJJVChUUkFOU0NPREVSX0IpIHwKLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9DKTsKLQotCWZv cl9lYWNoX2NwdV90cmFuc2NvZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRy YW5zY29kZXJzKSB7Ci0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIp OwotCi0JCWlmIChwc3JfaWlyICYgRURQX1BTUl9FUlJPUihzaGlmdCkpIHsKLQkJCURSTV9XQVJO KCJbdHJhbnNjb2RlciAlc10gUFNSIGF1eCBlcnJvclxuIiwKLQkJCQkgdHJhbnNjb2Rlcl9uYW1l KGNwdV90cmFuc2NvZGVyKSk7Ci0KLQkJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRy dWU7Ci0KLQkJCS8qCi0JCQkgKiBJZiB0aGlzIGludGVycnVwdGlvbiBpcyBub3QgbWFza2VkIGl0 IHdpbGwga2VlcAotCQkJICogaW50ZXJydXB0aW5nIHNvIGZhc3QgdGhhdCBpdCBwcmV2ZW50cyB0 aGUgc2NoZWR1bGVkCi0JCQkgKiB3b3JrIHRvIHJ1bi4KLQkJCSAqIEFsc28gYWZ0ZXIgYSBQU1Ig ZXJyb3IsIHdlIGRvbid0IHdhbnQgdG8gYXJtIFBTUgotCQkJICogYWdhaW4gc28gd2UgZG9uJ3Qg Y2FyZSBhYm91dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgotCQkJICogb3IgdW5zZXQgaXJxX2F1 eF9lcnJvci4KLQkJCSAqLwotCQkJbWFzayB8PSBFRFBfUFNSX0VSUk9SKHNoaWZ0KTsKLQkJfQor CWlmIChwc3JfaWlyICYgRURQX1BTUl9FUlJPUikgeworCQl1MzIgbWFzazsKIAotCQlpZiAocHNy X2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KSkgewotCQkJZGV2X3ByaXYtPnBzci5sYXN0 X2VudHJ5X2F0dGVtcHQgPSB0aW1lX25zOwotCQkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIg JXNdIFBTUiBlbnRyeSBhdHRlbXB0IGluIDIgdmJsYW5rc1xuIiwKLQkJCQkgICAgICB0cmFuc2Nv ZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKLQkJfQorCQlEUk1fV0FSTigiW3RyYW5zY29kZXIg JXNdIFBTUiBhdXggZXJyb3JcbiIsCisJCQkgdHJhbnNjb2Rlcl9uYW1lKFRSQU5TQ09ERVJfRURQ KSk7CiAKLQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BPU1RfRVhJVChzaGlmdCkpIHsKLQkJCWRl dl9wcml2LT5wc3IubGFzdF9leGl0ID0gdGltZV9uczsKLQkJCURSTV9ERUJVR19LTVMoIlt0cmFu c2NvZGVyICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRcbiIsCi0JCQkJICAgICAgdHJhbnNjb2Rlcl9u YW1lKGNwdV90cmFuc2NvZGVyKSk7CisJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRy dWU7CiAKLQkJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKLQkJCQl1MzIgdmFsID0g STkxNV9SRUFEKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlcikpOwotCQkJCWJvb2wgcHNyMl9lbmFi bGVkID0gZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQ7CisJCS8qCisJCSAqIElmIHRoaXMgaW50 ZXJydXB0aW9uIGlzIG5vdCBtYXNrZWQgaXQgd2lsbCBrZWVwCisJCSAqIGludGVycnVwdGluZyBz byBmYXN0IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAorCQkgKiB3b3JrIHRvIHJ1bi4K KwkJICogQWxzbyBhZnRlciBhIFBTUiBlcnJvciwgd2UgZG9uJ3Qgd2FudCB0byBhcm0gUFNSCisJ CSAqIGFnYWluIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQgdW5tYXNrIHRoZSBpbnRlcnJ1cHRpb24K KwkJICogb3IgdW5zZXQgaXJxX2F1eF9lcnJvci4KKwkJICovCisJCW1hc2sgPSBJOTE1X1JFQUQo RURQX1BTUl9JTVIpIHwgRURQX1BTUl9FUlJPUjsKKwkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwg bWFzayk7CiAKLQkJCQlJOTE1X1dSSVRFKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlciksIHZhbCk7 Ci0JCQkJcHNyX2V2ZW50X3ByaW50KHZhbCwgcHNyMl9lbmFibGVkKTsKLQkJCX0KLQkJfQorCQlz Y2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmspOwogCX0KIAotCWlmIChtYXNrKSB7Ci0J CW1hc2sgfD0gSTkxNV9SRUFEKEVEUF9QU1JfSU1SKTsKLQkJSTkxNV9XUklURShFRFBfUFNSX0lN UiwgbWFzayk7CisJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BSRV9FTlRSWSkgeworCQlkZXZfcHJp di0+cHNyLmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVfbnM7CisJCURSTV9ERUJVR19LTVMoIlt0 cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFua3NcbiIsCisJCQkgICAg ICB0cmFuc2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsKKwl9CiAKLQkJc2NoZWR1bGVfd29y aygmZGV2X3ByaXYtPnBzci53b3JrKTsKKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElU KSB7CisJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRc biIsCisJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsKKworCQlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCQl1MzIgdmFsID0gSTkxNV9SRUFEKFBTUl9F VkVOVCk7CisJCQlib29sIHBzcjJfZW5hYmxlZCA9IGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk OworCisJCQlJOTE1X1dSSVRFKFBTUl9FVkVOVCwgdmFsKTsKKwkJCXBzcl9ldmVudF9wcmludCh2 YWwsIHBzcjJfZW5hYmxlZCk7CisJCX0KIAl9CiB9CiAKQEAgLTY3MiwzMCArNjIzLDEwIEBAIHN0 YXRpYyB2b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog CWRldl9wcml2LT5wc3IuYWN0aXZlID0gdHJ1ZTsKIH0KIAotc3RhdGljIGk5MTVfcmVnX3QgZ2Vu OV9jaGlja2VuX3RyYW5zX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0J CQkJCSBlbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIpCi17Ci0Jc3RhdGljIGNvbnN0IGk5 MTVfcmVnX3QgcmVnc1tdID0gewotCQlbVFJBTlNDT0RFUl9BXSA9IENISUNLRU5fVFJBTlNfQSwK LQkJW1RSQU5TQ09ERVJfQl0gPSBDSElDS0VOX1RSQU5TX0IsCi0JCVtUUkFOU0NPREVSX0NdID0g Q0hJQ0tFTl9UUkFOU19DLAotCQlbVFJBTlNDT0RFUl9FRFBdID0gQ0hJQ0tFTl9UUkFOU19FRFAs Ci0JfTsKLQotCVdBUk5fT04oSU5URUxfR0VOKGRldl9wcml2KSA8IDkpOwotCi0JaWYgKFdBUk5f T04oY3B1X3RyYW5zY29kZXIgPj0gQVJSQVlfU0laRShyZWdzKSB8fAotCQkgICAgIXJlZ3NbY3B1 X3RyYW5zY29kZXJdLnJlZykpCi0JCWNwdV90cmFuc2NvZGVyID0gVFJBTlNDT0RFUl9BOwotCi0J cmV0dXJuIHJlZ3NbY3B1X3RyYW5zY29kZXJdOwotfQotCiBzdGF0aWMgdm9pZCBpbnRlbF9wc3Jf ZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCSAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKLQllbnVtIHRyYW5zY29k ZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAl1MzIgbWFz azsKIAogCS8qIE9ubHkgSFNXIGFuZCBCRFcgaGF2ZSBQU1IgQVVYIHJlZ2lzdGVycyB0aGF0IG5l ZWQgdG8gYmUgc2V0dXAuIFNLTCsKQEAgLTcwNiwxMyArNjM3LDExIEBAIHN0YXRpYyB2b2lkIGlu dGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAKIAlpZiAo ZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQgJiYgKElTX0dFTihkZXZfcHJpdiwgOSkgJiYKIAkJ CQkJICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSkgewotCQlpOTE1X3JlZ190IHJlZyA9IGdl bjlfY2hpY2tlbl90cmFuc19yZWcoZGV2X3ByaXYsCi0JCQkJCQkJY3B1X3RyYW5zY29kZXIpOwot CQl1MzIgY2hpY2tlbiA9IEk5MTVfUkVBRChyZWcpOworCQl1MzIgY2hpY2tlbiA9IEk5MTVfUkVB RChDSElDS0VOX1RSQU5TX0VEUCk7CiAKIAkJY2hpY2tlbiB8PSBQU1IyX1ZTQ19FTkFCTEVfUFJP R19IRUFERVIgfAogCQkJICAgUFNSMl9BRERfVkVSVElDQUxfTElORV9DT1VOVDsKLQkJSTkxNV9X UklURShyZWcsIGNoaWNrZW4pOworCQlJOTE1X1dSSVRFKENISUNLRU5fVFJBTlNfRURQLCBjaGlj a2VuKTsKIAl9CiAKIAkvKgpAQCAtMTIyNSw3ICsxMTU0LDcgQEAgdm9pZCBpbnRlbF9wc3JfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogdG8gYXZvaWQgYW55IHJl bmRlcmluZyBwcm9ibGVtcy4KIAkgKi8KIAl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9JSVIpOwot CXZhbCAmPSBFRFBfUFNSX0VSUk9SKGVkcF9wc3Jfc2hpZnQoVFJBTlNDT0RFUl9FRFApKTsKKwl2 YWwgJj0gRURQX1BTUl9FUlJPUjsKIAlpZiAodmFsKSB7CiAJCURSTV9ERUJVR19LTVMoIlBTUiBp bnRlcnJ1cHRpb24gZXJyb3Igc2V0XG4iKTsKIAkJZGV2X3ByaXYtPnBzci5zaW5rX25vdF9yZWxp YWJsZSA9IHRydWU7Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==