From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH 6/7] drm/i915/psr: Remove partial PSR support on multiple transcoders Date: Wed, 3 Apr 2019 16:35:38 -0700 Message-ID: <20190403233539.31828-6-jose.souza@intel.com> References: <20190403233539.31828-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 466A66E52A for ; Wed, 3 Apr 2019 23:35:45 +0000 (UTC) In-Reply-To: <20190403233539.31828-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 UFNSIGlzIG9ubHkgc3VwcG9ydGVkIGluIGVEUCB0cmFuc2NvZGVyIGFuZCB0aGVyZSBpcyBvbmx5 IG9uZQppbnN0YW5jZSBvZiBpdCwgc28gbGV0cyBkcm9wIGFsbCBvZiB0aGlzIGNvZGUuCgpDYzog RGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+CkNjOiBS b2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvc8Op IFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgIDE3ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Bzci5jIHwgMTQ3ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMg Y2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IGM1OWNmYTgzZGJhZi4uMThlMjk5MWIzNzZkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKQEAgLTQyNDEsMTMgKzQyNDEsOSBAQCBlbnVtIHsKIC8qIEJzcGVjIGNsYWlt cyB0aG9zZSBhcmVuJ3Qgc2hpZnRlZCBidXQgc3RheSBhdCAweDY0ODAwICovCiAjZGVmaW5lIEVE UF9QU1JfSU1SCQkJCV9NTUlPKDB4NjQ4MzQpCiAjZGVmaW5lIEVEUF9QU1JfSUlSCQkJCV9NTUlP KDB4NjQ4MzgpCi0jZGVmaW5lICAgRURQX1BTUl9FUlJPUihzaGlmdCkJCQkoMSA8PCAoKHNoaWZ0 KSArIDIpKQotI2RlZmluZSAgIEVEUF9QU1JfUE9TVF9FWElUKHNoaWZ0KQkJKDEgPDwgKChzaGlm dCkgKyAxKSkKLSNkZWZpbmUgICBFRFBfUFNSX1BSRV9FTlRSWShzaGlmdCkJCSgxIDw8IChzaGlm dCkpCi0jZGVmaW5lICAgRURQX1BTUl9UUkFOU0NPREVSX0NfU0hJRlQJCTI0Ci0jZGVmaW5lICAg RURQX1BTUl9UUkFOU0NPREVSX0JfU0hJRlQJCTE2Ci0jZGVmaW5lICAgRURQX1BTUl9UUkFOU0NP REVSX0FfU0hJRlQJCTgKLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfRURQX1NISUZUCQkw CisjZGVmaW5lICAgRURQX1BTUl9FUlJPUgkJCQkoMSA8PCAyKQorI2RlZmluZSAgIEVEUF9QU1Jf UE9TVF9FWElUCQkJKDEgPDwgMSkKKyNkZWZpbmUgICBFRFBfUFNSX1BSRV9FTlRSWQkJCSgxIDw8 IDApCiAKICNkZWZpbmUgRURQX1BTUl9BVVhfQ1RMCQkJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1p b19iYXNlICsgMHgxMCkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfVElNRV9PVVRfTUFTSwkJ KDMgPDwgMjYpCkBAIC00MzEyLDEyICs0MzA4LDcgQEAgZW51bSB7CiAjZGVmaW5lICAgRURQX1BT UjJfSURMRV9GUkFNRV9NQVNLCTB4ZgogI2RlZmluZSAgIEVEUF9QU1IyX0lETEVfRlJBTUVfU0hJ RlQJMAogCi0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfQQkJCTB4NjA4NDgKLSNkZWZpbmUgX1BT Ul9FVkVOVF9UUkFOU19CCQkJMHg2MTg0OAotI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5TX0MJCQkw eDYyODQ4Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRAkJCTB4NjM4NDgKLSNkZWZpbmUgX1BT Ul9FVkVOVF9UUkFOU19FRFAJCQkweDZGODQ4Ci0jZGVmaW5lIFBTUl9FVkVOVCh0cmFucykJCQlf TU1JT19UUkFOUzIodHJhbnMsIF9QU1JfRVZFTlRfVFJBTlNfQSkKKyNkZWZpbmUgUFNSX0VWRU5U CQkJCV9NTUlPKDB4NkY4NDgpCiAjZGVmaW5lICBQU1JfRVZFTlRfUFNSMl9XRF9USU1FUl9FWFBJ UkUJCSgxIDw8IDE3KQogI2RlZmluZSAgUFNSX0VWRU5UX1BTUjJfRElTQUJMRUQJCSgxIDw8IDE2 KQogI2RlZmluZSAgUFNSX0VWRU5UX1NVX0RJUlRZX0ZJRk9fVU5ERVJSVU4JKDEgPDwgMTUpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Bzci5jCmluZGV4IGJiOTdjMTY1NzQ5My4uYjk4NGUwMDViNzJlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwpAQCAtODQsNDYgKzg0LDEyIEBAIHN0YXRpYyBib29s IGludGVsX3BzcjJfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ fQogfQogCi1zdGF0aWMgaW50IGVkcF9wc3Jfc2hpZnQoZW51bSB0cmFuc2NvZGVyIGNwdV90cmFu c2NvZGVyKQotewotCXN3aXRjaCAoY3B1X3RyYW5zY29kZXIpIHsKLQljYXNlIFRSQU5TQ09ERVJf QToKLQkJcmV0dXJuIEVEUF9QU1JfVFJBTlNDT0RFUl9BX1NISUZUOwotCWNhc2UgVFJBTlNDT0RF Ul9COgotCQlyZXR1cm4gRURQX1BTUl9UUkFOU0NPREVSX0JfU0hJRlQ7Ci0JY2FzZSBUUkFOU0NP REVSX0M6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQ19TSElGVDsKLQlkZWZhdWx0Ogot CQlNSVNTSU5HX0NBU0UoY3B1X3RyYW5zY29kZXIpOwotCQkvKiBmYWxsdGhyb3VnaCAqLwotCWNh c2UgVFJBTlNDT0RFUl9FRFA6Ci0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfRURQX1NISUZU OwotCX0KLX0KLQogdm9pZCBpbnRlbF9wc3JfaXJxX2NvbnRyb2woc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCB1MzIgZGVidWcpCiB7Ci0JdTMyIGRlYnVnX21hc2ssIG1hc2s7Ci0J ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyOwotCXUzMiB0cmFuc2NvZGVycyA9IEJJVChU UkFOU0NPREVSX0VEUCk7Ci0KLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQotCQl0cmFu c2NvZGVycyB8PSBCSVQoVFJBTlNDT0RFUl9BKSB8Ci0JCQkgICAgICAgQklUKFRSQU5TQ09ERVJf QikgfAotCQkJICAgICAgIEJJVChUUkFOU0NPREVSX0MpOwotCi0JZGVidWdfbWFzayA9IDA7Ci0J bWFzayA9IDA7Ci0JZm9yX2VhY2hfY3B1X3RyYW5zY29kZXJfbWFza2VkKGRldl9wcml2LCBjcHVf dHJhbnNjb2RlciwgdHJhbnNjb2RlcnMpIHsKLQkJaW50IHNoaWZ0ID0gZWRwX3Bzcl9zaGlmdChj cHVfdHJhbnNjb2Rlcik7Ci0KLQkJbWFzayB8PSBFRFBfUFNSX0VSUk9SKHNoaWZ0KTsKLQkJZGVi dWdfbWFzayB8PSBFRFBfUFNSX1BPU1RfRVhJVChzaGlmdCkgfAotCQkJICAgICAgRURQX1BTUl9Q UkVfRU5UUlkoc2hpZnQpOwotCX0KKwl1MzIgbWFzayA9IEVEUF9QU1JfRVJST1I7CiAKIAlpZiAo ZGVidWcgJiBJOTE1X1BTUl9ERUJVR19JUlEpCi0JCW1hc2sgfD0gZGVidWdfbWFzazsKKwkJbWFz ayB8PSBFRFBfUFNSX1BPU1RfRVhJVCB8IEVEUF9QU1JfUFJFX0VOVFJZOwogCiAJSTkxNV9XUklU RShFRFBfUFNSX0lNUiwgfm1hc2spOwogfQpAQCAtMTY3LDYyICsxMzMsNDcgQEAgc3RhdGljIHZv aWQgcHNyX2V2ZW50X3ByaW50KHUzMiB2YWwsIGJvb2wgcHNyMl9lbmFibGVkKQogCiB2b2lkIGlu dGVsX3Bzcl9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUz MiBwc3JfaWlyKQogewotCXUzMiB0cmFuc2NvZGVycyA9IEJJVChUUkFOU0NPREVSX0VEUCk7Ci0J ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyOwotCWt0aW1lX3QgdGltZV9ucyA9ICBrdGlt ZV9nZXQoKTsKLQl1MzIgbWFzayA9IDA7CisJa3RpbWVfdCB0aW1lX25zID0ga3RpbWVfZ2V0KCk7 CiAKLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQotCQl0cmFuc2NvZGVycyB8PSBCSVQo VFJBTlNDT0RFUl9BKSB8Ci0JCQkgICAgICAgQklUKFRSQU5TQ09ERVJfQikgfAotCQkJICAgICAg IEJJVChUUkFOU0NPREVSX0MpOwotCi0JZm9yX2VhY2hfY3B1X3RyYW5zY29kZXJfbWFza2VkKGRl dl9wcml2LCBjcHVfdHJhbnNjb2RlciwgdHJhbnNjb2RlcnMpIHsKLQkJaW50IHNoaWZ0ID0gZWRw X3Bzcl9zaGlmdChjcHVfdHJhbnNjb2Rlcik7Ci0KLQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX0VS Uk9SKHNoaWZ0KSkgewotCQkJRFJNX1dBUk4oIlt0cmFuc2NvZGVyICVzXSBQU1IgYXV4IGVycm9y XG4iLAotCQkJCSB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKLQotCQkJZGV2X3By aXYtPnBzci5pcnFfYXV4X2Vycm9yID0gdHJ1ZTsKLQotCQkJLyoKLQkJCSAqIElmIHRoaXMgaW50 ZXJydXB0aW9uIGlzIG5vdCBtYXNrZWQgaXQgd2lsbCBrZWVwCi0JCQkgKiBpbnRlcnJ1cHRpbmcg c28gZmFzdCB0aGF0IGl0IHByZXZlbnRzIHRoZSBzY2hlZHVsZWQKLQkJCSAqIHdvcmsgdG8gcnVu LgotCQkJICogQWxzbyBhZnRlciBhIFBTUiBlcnJvciwgd2UgZG9uJ3Qgd2FudCB0byBhcm0gUFNS Ci0JCQkgKiBhZ2FpbiBzbyB3ZSBkb24ndCBjYXJlIGFib3V0IHVubWFzayB0aGUgaW50ZXJydXB0 aW9uCi0JCQkgKiBvciB1bnNldCBpcnFfYXV4X2Vycm9yLgotCQkJICovCi0JCQltYXNrIHw9IEVE UF9QU1JfRVJST1Ioc2hpZnQpOwotCQl9CisJaWYgKHBzcl9paXIgJiBFRFBfUFNSX0VSUk9SKSB7 CisJCXUzMiBtYXNrOwogCi0JCWlmIChwc3JfaWlyICYgRURQX1BTUl9QUkVfRU5UUlkoc2hpZnQp KSB7Ci0JCQlkZXZfcHJpdi0+cHNyLmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVfbnM7Ci0JCQlE Uk1fREVCVUdfS01TKCJbdHJhbnNjb2RlciAlc10gUFNSIGVudHJ5IGF0dGVtcHQgaW4gMiB2Ymxh bmtzXG4iLAotCQkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShjcHVfdHJhbnNjb2RlcikpOwotCQl9 CisJCURSTV9XQVJOKCJbdHJhbnNjb2RlciAlc10gUFNSIGF1eCBlcnJvclxuIiwKKwkJCSB0cmFu c2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsKIAotCQlpZiAocHNyX2lpciAmIEVEUF9QU1Jf UE9TVF9FWElUKHNoaWZ0KSkgewotCQkJZGV2X3ByaXYtPnBzci5sYXN0X2V4aXQgPSB0aW1lX25z OwotCQkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBTUiBleGl0IGNvbXBsZXRlZFxu IiwKLQkJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKKwkJZGV2X3By aXYtPnBzci5pcnFfYXV4X2Vycm9yID0gdHJ1ZTsKIAotCQkJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gOSkgewotCQkJCXUzMiB2YWwgPSBJOTE1X1JFQUQoUFNSX0VWRU5UKGNwdV90cmFuc2Nv ZGVyKSk7Ci0JCQkJYm9vbCBwc3IyX2VuYWJsZWQgPSBkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxl ZDsKKwkJLyoKKwkJICogSWYgdGhpcyBpbnRlcnJ1cHRpb24gaXMgbm90IG1hc2tlZCBpdCB3aWxs IGtlZXAKKwkJICogaW50ZXJydXB0aW5nIHNvIGZhc3QgdGhhdCBpdCBwcmV2ZW50cyB0aGUgc2No ZWR1bGVkCisJCSAqIHdvcmsgdG8gcnVuLgorCQkgKiBBbHNvIGFmdGVyIGEgUFNSIGVycm9yLCB3 ZSBkb24ndCB3YW50IHRvIGFybSBQU1IKKwkJICogYWdhaW4gc28gd2UgZG9uJ3QgY2FyZSBhYm91 dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgorCQkgKiBvciB1bnNldCBpcnFfYXV4X2Vycm9yLgor CQkgKi8KKwkJbWFzayA9IEk5MTVfUkVBRChFRFBfUFNSX0lNUikgfCBFRFBfUFNSX0VSUk9SOwor CQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKIAotCQkJCUk5MTVfV1JJVEUoUFNSX0VW RU5UKGNwdV90cmFuc2NvZGVyKSwgdmFsKTsKLQkJCQlwc3JfZXZlbnRfcHJpbnQodmFsLCBwc3Iy X2VuYWJsZWQpOwotCQkJfQotCQl9CisJCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2LT5wc3Iud29y ayk7CiAJfQogCi0JaWYgKG1hc2spIHsKLQkJbWFzayB8PSBJOTE1X1JFQUQoRURQX1BTUl9JTVIp OwotCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKKwlpZiAocHNyX2lpciAmIEVEUF9Q U1JfUFJFX0VOVFJZKSB7CisJCWRldl9wcml2LT5wc3IubGFzdF9lbnRyeV9hdHRlbXB0ID0gdGlt ZV9uczsKKwkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBTUiBlbnRyeSBhdHRlbXB0 IGluIDIgdmJsYW5rc1xuIiwKKwkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShUUkFOU0NPREVSX0VE UCkpOworCX0KIAotCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmspOworCWlmIChw c3JfaWlyICYgRURQX1BTUl9QT1NUX0VYSVQpIHsKKwkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29k ZXIgJXNdIFBTUiBleGl0IGNvbXBsZXRlZFxuIiwKKwkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShU UkFOU0NPREVSX0VEUCkpOworCisJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKKwkJ CXUzMiB2YWwgPSBJOTE1X1JFQUQoUFNSX0VWRU5UKTsKKwkJCWJvb2wgcHNyMl9lbmFibGVkID0g ZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQ7CisKKwkJCUk5MTVfV1JJVEUoUFNSX0VWRU5ULCB2 YWwpOworCQkJcHNyX2V2ZW50X3ByaW50KHZhbCwgcHNyMl9lbmFibGVkKTsKKwkJfQogCX0KIH0K IApAQCAtNjY5LDMwICs2MjAsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2FjdGl2YXRlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJZGV2X3ByaXYtPnBzci5hY3RpdmUgPSB0cnVlOwog fQogCi1zdGF0aWMgaTkxNV9yZWdfdCBnZW45X2NoaWNrZW5fdHJhbnNfcmVnKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkJIGVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNj b2RlcikKLXsKLQlzdGF0aWMgY29uc3QgaTkxNV9yZWdfdCByZWdzW10gPSB7Ci0JCVtUUkFOU0NP REVSX0FdID0gQ0hJQ0tFTl9UUkFOU19BLAotCQlbVFJBTlNDT0RFUl9CXSA9IENISUNLRU5fVFJB TlNfQiwKLQkJW1RSQU5TQ09ERVJfQ10gPSBDSElDS0VOX1RSQU5TX0MsCi0JCVtUUkFOU0NPREVS X0VEUF0gPSBDSElDS0VOX1RSQU5TX0VEUCwKLQl9OwotCi0JV0FSTl9PTihJTlRFTF9HRU4oZGV2 X3ByaXYpIDwgOSk7Ci0KLQlpZiAoV0FSTl9PTihjcHVfdHJhbnNjb2RlciA+PSBBUlJBWV9TSVpF KHJlZ3MpIHx8Ci0JCSAgICAhcmVnc1tjcHVfdHJhbnNjb2Rlcl0ucmVnKSkKLQkJY3B1X3RyYW5z Y29kZXIgPSBUUkFOU0NPREVSX0E7Ci0KLQlyZXR1cm4gcmVnc1tjcHVfdHJhbnNjb2Rlcl07Ci19 Ci0KIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUo aW50ZWxfZHApOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUt PmNwdV90cmFuc2NvZGVyOwogCXUzMiBtYXNrOwogCiAJLyogT25seSBIU1cgYW5kIEJEVyBoYXZl IFBTUiBBVVggcmVnaXN0ZXJzIHRoYXQgbmVlZCB0byBiZSBzZXR1cC4gU0tMKwpAQCAtNzAzLDEz ICs2MzQsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwKIAogCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCAmJiAo SVNfR0VOKGRldl9wcml2LCA5KSAmJgogCQkJCQkgICAhSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp KSB7Ci0JCWk5MTVfcmVnX3QgcmVnID0gZ2VuOV9jaGlja2VuX3RyYW5zX3JlZyhkZXZfcHJpdiwK LQkJCQkJCQljcHVfdHJhbnNjb2Rlcik7Ci0JCXUzMiBjaGlja2VuID0gSTkxNV9SRUFEKHJlZyk7 CisJCXUzMiBjaGlja2VuID0gSTkxNV9SRUFEKENISUNLRU5fVFJBTlNfRURQKTsKIAogCQljaGlj a2VuIHw9IFBTUjJfVlNDX0VOQUJMRV9QUk9HX0hFQURFUiB8CiAJCQkgICBQU1IyX0FERF9WRVJU SUNBTF9MSU5FX0NPVU5UOwotCQlJOTE1X1dSSVRFKHJlZywgY2hpY2tlbik7CisJCUk5MTVfV1JJ VEUoQ0hJQ0tFTl9UUkFOU19FRFAsIGNoaWNrZW4pOwogCX0KIAogCS8qCkBAIC0xMjIyLDcgKzEx NTEsNyBAQCB2b2lkIGludGVsX3Bzcl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkgKiB0byBhdm9pZCBhbnkgcmVuZGVyaW5nIHByb2JsZW1zLgogCSAqLwogCXZhbCA9 IEk5MTVfUkVBRChFRFBfUFNSX0lJUik7Ci0JdmFsICY9IEVEUF9QU1JfRVJST1IoZWRwX3Bzcl9z aGlmdChUUkFOU0NPREVSX0VEUCkpOworCXZhbCAmPSBFRFBfUFNSX0VSUk9SOwogCWlmICh2YWwp IHsKIAkJRFJNX0RFQlVHX0tNUygiUFNSIGludGVycnVwdGlvbiBlcnJvciBzZXRcbiIpOwogCQlk ZXZfcHJpdi0+cHNyLnNpbmtfbm90X3JlbGlhYmxlID0gdHJ1ZTsKLS0gCjIuMjEuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4