From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v3 2/5] drm/i915/psr: Remove partial PSR support on multiple transcoders Date: Mon, 15 Apr 2019 14:54:52 -0700 Message-ID: <20190415215455.9176-2-jose.souza@intel.com> References: <20190415215455.9176-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 3090A89149 for ; Mon, 15 Apr 2019 21:54:57 +0000 (UTC) In-Reply-To: <20190415215455.9176-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 aW50ZWwuY29tPgpSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICAxNyArLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8IDE0NyArKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDEyMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBjMWMwZjdhYjAzZTkuLmUy ODAzYjEyMGI2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC00MjQzLDEzICs0MjQzLDkg QEAgZW51bSB7CiAvKiBCc3BlYyBjbGFpbXMgdGhvc2UgYXJlbid0IHNoaWZ0ZWQgYnV0IHN0YXkg YXQgMHg2NDgwMCAqLwogI2RlZmluZSBFRFBfUFNSX0lNUgkJCQlfTU1JTygweDY0ODM0KQogI2Rl ZmluZSBFRFBfUFNSX0lJUgkJCQlfTU1JTygweDY0ODM4KQotI2RlZmluZSAgIEVEUF9QU1JfRVJS T1Ioc2hpZnQpCQkJKDEgPDwgKChzaGlmdCkgKyAyKSkKLSNkZWZpbmUgICBFRFBfUFNSX1BPU1Rf RVhJVChzaGlmdCkJCSgxIDw8ICgoc2hpZnQpICsgMSkpCi0jZGVmaW5lICAgRURQX1BTUl9QUkVf RU5UUlkoc2hpZnQpCQkoMSA8PCAoc2hpZnQpKQotI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RF Ul9DX1NISUZUCQkyNAotI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9CX1NISUZUCQkxNgot I2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9BX1NISUZUCQk4Ci0jZGVmaW5lICAgRURQX1BT Ul9UUkFOU0NPREVSX0VEUF9TSElGVAkJMAorI2RlZmluZSAgIEVEUF9QU1JfRVJST1IJCQkJKDEg PDwgMikKKyNkZWZpbmUgICBFRFBfUFNSX1BPU1RfRVhJVAkJCSgxIDw8IDEpCisjZGVmaW5lICAg RURQX1BTUl9QUkVfRU5UUlkJCQkoMSA8PCAwKQogCiAjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTAkJ CQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4MTApCiAjZGVmaW5lICAgRURQX1BT Ul9BVVhfQ1RMX1RJTUVfT1VUX01BU0sJCSgzIDw8IDI2KQpAQCAtNDMxNCwxMiArNDMxMCw3IEBA IGVudW0gewogI2RlZmluZSAgIEVEUF9QU1IyX0lETEVfRlJBTUVfTUFTSwkweGYKICNkZWZpbmUg ICBFRFBfUFNSMl9JRExFX0ZSQU1FX1NISUZUCTAKIAotI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5T X0EJCQkweDYwODQ4Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfQgkJCTB4NjE4NDgKLSNkZWZp bmUgX1BTUl9FVkVOVF9UUkFOU19DCQkJMHg2Mjg0OAotI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5T X0QJCQkweDYzODQ4Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRURQCQkJMHg2Rjg0OAotI2Rl ZmluZSBQU1JfRVZFTlQodHJhbnMpCQkJX01NSU9fVFJBTlMyKHRyYW5zLCBfUFNSX0VWRU5UX1RS QU5TX0EpCisjZGVmaW5lIFBTUl9FVkVOVAkJCQlfTU1JTygweDZGODQ4KQogI2RlZmluZSAgUFNS X0VWRU5UX1BTUjJfV0RfVElNRVJfRVhQSVJFCQkoMSA8PCAxNykKICNkZWZpbmUgIFBTUl9FVkVO VF9QU1IyX0RJU0FCTEVECQkoMSA8PCAxNikKICNkZWZpbmUgIFBTUl9FVkVOVF9TVV9ESVJUWV9G SUZPX1VOREVSUlVOCSgxIDw8IDE1KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRleCA5NjM2 NjNiYTBlZGYuLjU4MTc3NDc0OGM0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKQEAgLTg3 LDQ2ICs4NywxMiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wc3IyX2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCX0KIH0KIAotc3RhdGljIGludCBlZHBfcHNyX3NoaWZ0 KGVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcikKLXsKLQlzd2l0Y2ggKGNwdV90cmFuc2Nv ZGVyKSB7Ci0JY2FzZSBUUkFOU0NPREVSX0E6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJf QV9TSElGVDsKLQljYXNlIFRSQU5TQ09ERVJfQjoKLQkJcmV0dXJuIEVEUF9QU1JfVFJBTlNDT0RF Ul9CX1NISUZUOwotCWNhc2UgVFJBTlNDT0RFUl9DOgotCQlyZXR1cm4gRURQX1BTUl9UUkFOU0NP REVSX0NfU0hJRlQ7Ci0JZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGNwdV90cmFuc2NvZGVyKTsK LQkJLyogZmFsbHRocm91Z2ggKi8KLQljYXNlIFRSQU5TQ09ERVJfRURQOgotCQlyZXR1cm4gRURQ X1BTUl9UUkFOU0NPREVSX0VEUF9TSElGVDsKLQl9Ci19Ci0KIHZvaWQgaW50ZWxfcHNyX2lycV9j b250cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRlYnVnKQogewot CXUzMiBkZWJ1Z19tYXNrLCBtYXNrOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsK LQl1MzIgdHJhbnNjb2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwotCi0JaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOCkKLQkJdHJhbnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJfQSkgfAot CQkJICAgICAgIEJJVChUUkFOU0NPREVSX0IpIHwKLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9D KTsKLQotCWRlYnVnX21hc2sgPSAwOwotCW1hc2sgPSAwOwotCWZvcl9lYWNoX2NwdV90cmFuc2Nv ZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRyYW5zY29kZXJzKSB7Ci0JCWlu dCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwotCi0JCW1hc2sgfD0gRURQ X1BTUl9FUlJPUihzaGlmdCk7Ci0JCWRlYnVnX21hc2sgfD0gRURQX1BTUl9QT1NUX0VYSVQoc2hp ZnQpIHwKLQkJCSAgICAgIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KTsKLQl9CisJdTMyIG1hc2sg PSBFRFBfUFNSX0VSUk9SOwogCiAJaWYgKGRlYnVnICYgSTkxNV9QU1JfREVCVUdfSVJRKQotCQlt YXNrIHw9IGRlYnVnX21hc2s7CisJCW1hc2sgfD0gRURQX1BTUl9QT1NUX0VYSVQgfCBFRFBfUFNS X1BSRV9FTlRSWTsKIAogCUk5MTVfV1JJVEUoRURQX1BTUl9JTVIsIH5tYXNrKTsKIH0KQEAgLTE3 MCw2MiArMTM2LDQ3IEBAIHN0YXRpYyB2b2lkIHBzcl9ldmVudF9wcmludCh1MzIgdmFsLCBib29s IHBzcjJfZW5hYmxlZCkKIAogdm9pZCBpbnRlbF9wc3JfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcHNyX2lpcikKIHsKLQl1MzIgdHJhbnNjb2RlcnMg PSBCSVQoVFJBTlNDT0RFUl9FRFApOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsK LQlrdGltZV90IHRpbWVfbnMgPSAga3RpbWVfZ2V0KCk7Ci0JdTMyIG1hc2sgPSAwOworCWt0aW1l X3QgdGltZV9ucyA9IGt0aW1lX2dldCgpOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0g OCkKLQkJdHJhbnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJfQSkgfAotCQkJICAgICAgIEJJVChU UkFOU0NPREVSX0IpIHwKLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9DKTsKLQotCWZvcl9lYWNo X2NwdV90cmFuc2NvZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRyYW5zY29k ZXJzKSB7Ci0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwotCi0J CWlmIChwc3JfaWlyICYgRURQX1BTUl9FUlJPUihzaGlmdCkpIHsKLQkJCURSTV9XQVJOKCJbdHJh bnNjb2RlciAlc10gUFNSIGF1eCBlcnJvclxuIiwKLQkJCQkgdHJhbnNjb2Rlcl9uYW1lKGNwdV90 cmFuc2NvZGVyKSk7Ci0KLQkJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRydWU7Ci0K LQkJCS8qCi0JCQkgKiBJZiB0aGlzIGludGVycnVwdGlvbiBpcyBub3QgbWFza2VkIGl0IHdpbGwg a2VlcAotCQkJICogaW50ZXJydXB0aW5nIHNvIGZhc3QgdGhhdCBpdCBwcmV2ZW50cyB0aGUgc2No ZWR1bGVkCi0JCQkgKiB3b3JrIHRvIHJ1bi4KLQkJCSAqIEFsc28gYWZ0ZXIgYSBQU1IgZXJyb3Is IHdlIGRvbid0IHdhbnQgdG8gYXJtIFBTUgotCQkJICogYWdhaW4gc28gd2UgZG9uJ3QgY2FyZSBh Ym91dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgotCQkJICogb3IgdW5zZXQgaXJxX2F1eF9lcnJv ci4KLQkJCSAqLwotCQkJbWFzayB8PSBFRFBfUFNSX0VSUk9SKHNoaWZ0KTsKLQkJfQorCWlmIChw c3JfaWlyICYgRURQX1BTUl9FUlJPUikgeworCQl1MzIgbWFzazsKIAotCQlpZiAocHNyX2lpciAm IEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KSkgewotCQkJZGV2X3ByaXYtPnBzci5sYXN0X2VudHJ5 X2F0dGVtcHQgPSB0aW1lX25zOwotCQkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBT UiBlbnRyeSBhdHRlbXB0IGluIDIgdmJsYW5rc1xuIiwKLQkJCQkgICAgICB0cmFuc2NvZGVyX25h bWUoY3B1X3RyYW5zY29kZXIpKTsKLQkJfQorCQlEUk1fV0FSTigiW3RyYW5zY29kZXIgJXNdIFBT UiBhdXggZXJyb3JcbiIsCisJCQkgdHJhbnNjb2Rlcl9uYW1lKFRSQU5TQ09ERVJfRURQKSk7CiAK LQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BPU1RfRVhJVChzaGlmdCkpIHsKLQkJCWRldl9wcml2 LT5wc3IubGFzdF9leGl0ID0gdGltZV9uczsKLQkJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVy ICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRcbiIsCi0JCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKGNw dV90cmFuc2NvZGVyKSk7CisJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRydWU7CiAK LQkJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKLQkJCQl1MzIgdmFsID0gSTkxNV9S RUFEKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlcikpOwotCQkJCWJvb2wgcHNyMl9lbmFibGVkID0g ZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQ7CisJCS8qCisJCSAqIElmIHRoaXMgaW50ZXJydXB0 aW9uIGlzIG5vdCBtYXNrZWQgaXQgd2lsbCBrZWVwCisJCSAqIGludGVycnVwdGluZyBzbyBmYXN0 IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAorCQkgKiB3b3JrIHRvIHJ1bi4KKwkJICog QWxzbyBhZnRlciBhIFBTUiBlcnJvciwgd2UgZG9uJ3Qgd2FudCB0byBhcm0gUFNSCisJCSAqIGFn YWluIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQgdW5tYXNrIHRoZSBpbnRlcnJ1cHRpb24KKwkJICog b3IgdW5zZXQgaXJxX2F1eF9lcnJvci4KKwkJICovCisJCW1hc2sgPSBJOTE1X1JFQUQoRURQX1BT Ul9JTVIpIHwgRURQX1BTUl9FUlJPUjsKKwkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwgbWFzayk7 CiAKLQkJCQlJOTE1X1dSSVRFKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlciksIHZhbCk7Ci0JCQkJ cHNyX2V2ZW50X3ByaW50KHZhbCwgcHNyMl9lbmFibGVkKTsKLQkJCX0KLQkJfQorCQlzY2hlZHVs ZV93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmspOwogCX0KIAotCWlmIChtYXNrKSB7Ci0JCW1hc2sg fD0gSTkxNV9SRUFEKEVEUF9QU1JfSU1SKTsKLQkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwgbWFz ayk7CisJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BSRV9FTlRSWSkgeworCQlkZXZfcHJpdi0+cHNy Lmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVfbnM7CisJCURSTV9ERUJVR19LTVMoIlt0cmFuc2Nv ZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFua3NcbiIsCisJCQkgICAgICB0cmFu c2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsKKwl9CiAKLQkJc2NoZWR1bGVfd29yaygmZGV2 X3ByaXYtPnBzci53b3JrKTsKKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElUKSB7CisJ CURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRcbiIsCisJ CQkgICAgICB0cmFuc2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsKKworCQlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KSB7CisJCQl1MzIgdmFsID0gSTkxNV9SRUFEKFBTUl9FVkVOVCk7 CisJCQlib29sIHBzcjJfZW5hYmxlZCA9IGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkOworCisJ CQlJOTE1X1dSSVRFKFBTUl9FVkVOVCwgdmFsKTsKKwkJCXBzcl9ldmVudF9wcmludCh2YWwsIHBz cjJfZW5hYmxlZCk7CisJCX0KIAl9CiB9CiAKQEAgLTY3MiwzMCArNjIzLDEwIEBAIHN0YXRpYyB2 b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWRldl9w cml2LT5wc3IuYWN0aXZlID0gdHJ1ZTsKIH0KIAotc3RhdGljIGk5MTVfcmVnX3QgZ2VuOV9jaGlj a2VuX3RyYW5zX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCSBl bnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIpCi17Ci0Jc3RhdGljIGNvbnN0IGk5MTVfcmVn X3QgcmVnc1tdID0gewotCQlbVFJBTlNDT0RFUl9BXSA9IENISUNLRU5fVFJBTlNfQSwKLQkJW1RS QU5TQ09ERVJfQl0gPSBDSElDS0VOX1RSQU5TX0IsCi0JCVtUUkFOU0NPREVSX0NdID0gQ0hJQ0tF Tl9UUkFOU19DLAotCQlbVFJBTlNDT0RFUl9FRFBdID0gQ0hJQ0tFTl9UUkFOU19FRFAsCi0JfTsK LQotCVdBUk5fT04oSU5URUxfR0VOKGRldl9wcml2KSA8IDkpOwotCi0JaWYgKFdBUk5fT04oY3B1 X3RyYW5zY29kZXIgPj0gQVJSQVlfU0laRShyZWdzKSB8fAotCQkgICAgIXJlZ3NbY3B1X3RyYW5z Y29kZXJdLnJlZykpCi0JCWNwdV90cmFuc2NvZGVyID0gVFJBTlNDT0RFUl9BOwotCi0JcmV0dXJu IHJlZ3NbY3B1X3RyYW5zY29kZXJdOwotfQotCiBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxl X3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCSAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKLQllbnVtIHRyYW5zY29kZXIgY3B1 X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAl1MzIgbWFzazsKIAog CS8qIE9ubHkgSFNXIGFuZCBCRFcgaGF2ZSBQU1IgQVVYIHJlZ2lzdGVycyB0aGF0IG5lZWQgdG8g YmUgc2V0dXAuIFNLTCsKQEAgLTcwNiwxMyArNjM3LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bz cl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAKIAlpZiAoZGV2X3By aXYtPnBzci5wc3IyX2VuYWJsZWQgJiYgKElTX0dFTihkZXZfcHJpdiwgOSkgJiYKIAkJCQkJICAg IUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSkgewotCQlpOTE1X3JlZ190IHJlZyA9IGdlbjlfY2hp Y2tlbl90cmFuc19yZWcoZGV2X3ByaXYsCi0JCQkJCQkJY3B1X3RyYW5zY29kZXIpOwotCQl1MzIg Y2hpY2tlbiA9IEk5MTVfUkVBRChyZWcpOworCQl1MzIgY2hpY2tlbiA9IEk5MTVfUkVBRChDSElD S0VOX1RSQU5TX0VEUCk7CiAKIAkJY2hpY2tlbiB8PSBQU1IyX1ZTQ19FTkFCTEVfUFJPR19IRUFE RVIgfAogCQkJICAgUFNSMl9BRERfVkVSVElDQUxfTElORV9DT1VOVDsKLQkJSTkxNV9XUklURShy ZWcsIGNoaWNrZW4pOworCQlJOTE1X1dSSVRFKENISUNLRU5fVFJBTlNfRURQLCBjaGlja2VuKTsK IAl9CiAKIAkvKgpAQCAtMTIyNSw3ICsxMTU0LDcgQEAgdm9pZCBpbnRlbF9wc3JfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogdG8gYXZvaWQgYW55IHJlbmRlcmlu ZyBwcm9ibGVtcy4KIAkgKi8KIAl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9JSVIpOwotCXZhbCAm PSBFRFBfUFNSX0VSUk9SKGVkcF9wc3Jfc2hpZnQoVFJBTlNDT0RFUl9FRFApKTsKKwl2YWwgJj0g RURQX1BTUl9FUlJPUjsKIAlpZiAodmFsKSB7CiAJCURSTV9ERUJVR19LTVMoIlBTUiBpbnRlcnJ1 cHRpb24gZXJyb3Igc2V0XG4iKTsKIAkJZGV2X3ByaXYtPnBzci5zaW5rX25vdF9yZWxpYWJsZSA9 IHRydWU7Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==