From mboxrd@z Thu Jan 1 00:00:00 1970 From: vathsala nagaraju Subject: [PATCH 03/10] drm/i915/psr: fix blank screen issue for psr2 Date: Mon, 2 Jan 2017 17:00:56 +0530 Message-ID: <1483356663-32668-4-git-send-email-vathsala.nagaraju@intel.com> References: <1483356663-32668-1-git-send-email-vathsala.nagaraju@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483356663-32668-1-git-send-email-vathsala.nagaraju@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Patil Deepti , Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org UHNyMSBhbmQgcHNyMiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLGllIHdoZW4gcHNyMiBpcyBlbmFi bGVkLApwc3IxIHNob3VsZCBiZSBkaXNhYmxlZC5XaGVuIHBzcjIgaXMgZXhpdGVkICwgYml0IDMx IG9mIHJlZwpQU1IyX0NUTCBtdXN0IGJlIHNldCB0byAwIGJ1dCBjdXJyZW50bHkgYml0IDMxIG9m IFNSRF9DVEwKKHBzcjEgY29udHJvbCByZWdpc3RlcilpcyBzZXQgdG8gMC4KQWxzbyAsUFNSMl9J RExFIHN0YXRlIGlzIGxvb2tlZCB1cCBmcm9tIFNSRF9TVEFUVVMocHNyMSByZWdpc3RlcikKaW5z dGVhZCBvZiBQU1IyX1NUQVRVUyByZWdpc3Rlciwgd2hpY2ggaGFzIHdyb25nIGRhdGEsIHJlc3Vs dGluZwppbiBibGFua3NjcmVlbi4KaHN3X2VuYWJsZV9zb3VyY2UgaXMgc3BsaXQgaW50byBoc3df ZW5hYmxlX3NvdXJjZV9wc3IxIGFuZApoc3dfZW5hYmxlX3NvdXJjZV9wc3IyIGZvciBlYXNpZXIg Y29kZSByZXZpZXcgYW5kIG1haW50ZW5hbmNlLAphcyBzdWdnZXN0ZWQgYnkgcm9kcmlnbyBhbmQg amltLgoKQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KQ2M6IEppbSBC cmlkZSA8amltLmJyaWRlQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmF0aHNhbGEg TmFnYXJhanUgPHZhdGhzYWxhLm5hZ2FyYWp1QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUGF0 aWwgRGVlcHRpIDxkZWVwdGkucGF0aWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j IHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAppbmRleCAwMDk3MGFhLi43ODMwZTZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK QEAgLTM2MTUsNiArMzYxNSw5IEBAIGVudW0gewogI2RlZmluZSAgIEVEUF9QU1IyX0ZSQU1FX0JF Rk9SRV9TVV9NQVNLCSgweGY8PDQpCiAjZGVmaW5lICAgRURQX1BTUjJfSURMRV9NQVNLCQkweGYK IAorI2RlZmluZSBFRFBfUFNSMl9TVEFUVVNfQ1RMICAgICAgICAgICAgX01NSU8oMHg2Zjk0MCkK KyNkZWZpbmUgRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0sgICAgICgweGY8PDI4KQorCiAvKiBW R0EgcG9ydCBjb250cm9sICovCiAjZGVmaW5lIEFEUEEJCQlfTU1JTygweDYxMTAwKQogI2RlZmlu ZSBQQ0hfQURQQSAgICAgICAgICAgICAgICBfTU1JTygweGUxMTAwKQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wc3IuYwppbmRleCBjM2FhNjQ5Li5mZjJlY2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu YwpAQCAtMjYxLDEyICsyNjEsMTEgQEAgc3RhdGljIHZvaWQgdmx2X3Bzcl9hY3RpdmF0ZShzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQkgICBWTFZfRURQX1BTUl9BQ1RJVkVfRU5UUlkpOwog fQogCi1zdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKK3N0YXRpYyB2b2lkIGhzd19lbmFibGVfc291cmNlX3BzcjEoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9 IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGln X3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOwotCiAJdWludDMyX3QgbWF4X3NsZWVwX3RpbWUgPSAweDFmOwogCS8q CiAJICogTGV0J3MgcmVzcGVjdCBWQlQgaW4gY2FzZSBWQlQgYXNrcyBhIGhpZ2hlciBpZGxlX2Zy YW1lIHZhbHVlLgpAQCAtMzEyLDE0ICszMTEsMzAgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFi bGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCXZhbCB8PSBFRFBfUFNSX1RQ MV9UUDJfU0VMOwogCiAJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsKTsKK30KIAotCWlmICgh ZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCi0JCXJldHVybjsKK3N0YXRpYyB2b2lkIGhzd19l bmFibGVfc291cmNlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKK3sKKwlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCisJLyoKKwkg KiBMZXQncyByZXNwZWN0IFZCVCBpbiBjYXNlIFZCVCBhc2tzIGEgaGlnaGVyIGlkbGVfZnJhbWUg dmFsdWUuCisJICogTGV0J3MgdXNlIDYgYXMgdGhlIG1pbmltdW0gdG8gY292ZXIgYWxsIGtub3du IGNhc2VzIGluY2x1ZGluZworCSAqIHRoZSBvZmYtYnktb25lIGlzc3VlIHRoYXQgSFcgaGFzIGlu IHNvbWUgY2FzZXMuIEFsc28gdGhlcmUgYXJlCisJICogY2FzZXMgd2hlcmUgc2luayBzaG91bGQg YmUgYWJsZSB0byB0cmFpbgorCSAqIHdpdGggdGhlIDUgb3IgNiBpZGxlIHBhdHRlcm5zLgorCSAq LworCXVpbnQzMl90IGlkbGVfZnJhbWVzID0gbWF4KDYsIGRldl9wcml2LT52YnQucHNyLmlkbGVf ZnJhbWVzKTsKKwl1aW50MzJfdCB2YWwgPSBFRFBfUFNSX0VOQUJMRTsKKworCXZhbCB8PSBpZGxl X2ZyYW1lcyA8PCBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQ7CiAKIAkvKiBGSVhNRTogc2VsZWN0 aXZlIHVwZGF0ZSBpcyBwcm9iYWJseSB0b3RhbGx5IGJyb2tlbiBiZWNhdXNlIGl0IGRvZXNuJ3QK IAkgKiBtZXNoIGF0IGFsbCB3aXRoIG91ciBmcm9udGJ1ZmZlciB0cmFja2luZy4gQW5kIHRoZSBo dyBhbG9uZSBpc24ndAogCSAqIGdvb2QgZW5vdWdoLiAqLwotCXZhbCA9IEVEUF9QU1IyX0VOQUJM RSB8IEVEUF9TVV9UUkFDS19FTkFCTEU7CisJdmFsIHw9IEVEUF9QU1IyX0VOQUJMRSB8IEVEUF9T VV9UUkFDS19FTkFCTEU7CiAKIAlpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBf dGltZSA+IDUpCiAJCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV8yNTAwOwpAQCAtMzMzLDYgKzM0 OCwyMCBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTCwgdmFsKTsKIH0KIAorCitzdGF0 aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK K3sKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0 KGludGVsX2RwKTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCisJLyogcHNyMSBhbmQgcHNyMiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiovCisJaWYgKGRl dl9wcml2LT5wc3IucHNyMl9zdXBwb3J0KQorCQloc3dfZW5hYmxlX3NvdXJjZV9wc3IyKGludGVs X2RwKTsKKwllbHNlCisJCWhzd19lbmFibGVfc291cmNlX3BzcjEoaW50ZWxfZHApOworfQorCiBz dGF0aWMgYm9vbCBpbnRlbF9wc3JfbWF0Y2hfY29uZGl0aW9ucyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9f ZGlnX3BvcnQoaW50ZWxfZHApOwpAQCAtNDEwLDcgKzQzOSwxMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCi0JV0FSTl9PTihJOTE1X1JF QUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOworCWlmIChkZXZfcHJpdi0+cHNyLnBz cjJfc3VwcG9ydCkKKwkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVEUF9QU1Iy X0VOQUJMRSk7CisJZWxzZQorCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBf UFNSX0VOQUJMRSk7CiAJV0FSTl9PTihkZXZfcHJpdi0+cHNyLmFjdGl2ZSk7CiAJbG9ja2RlcF9h c3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKIApAQCAtNDYyLDggKzQ5NCw2IEBAIHZv aWQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWRldl9wcml2 LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKIAogCWlmIChIQVNfRERJKGRldl9wcml2 KSkgewotCQloc3dfcHNyX3NldHVwX3ZzYyhpbnRlbF9kcCk7Ci0KIAkJaWYgKGRldl9wcml2LT5w c3IucHNyMl9zdXBwb3J0KSB7CiAJCQkvKiBQU1IyIGlzIHJlc3RyaWN0ZWQgdG8gd29yayB3aXRo IHBhbmVsIHJlc29sdXRpb25zIHVwdG8gMzIwMHgyMDAwICovCiAJCQlpZiAoY3J0Yy0+Y29uZmln LT5waXBlX3NyY193ID4gMzIwMCB8fApAQCAtNDcxLDggKzUwMSwxMCBAQCB2b2lkIGludGVsX3Bz cl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJCQlkZXZfcHJpdi0+cHNyLnBz cjJfc3VwcG9ydCA9IGZhbHNlOwogCQkJZWxzZQogCQkJCXNrbF9wc3Jfc2V0dXBfc3VfdnNjKGlu dGVsX2RwKTsKKwkJfSBlbHNlIHsKKwkJCS8qIHNldCB1cCB2c2MgaGVhZGVyIGZvciBwc3IxICov CisJCQloc3dfcHNyX3NldHVwX3ZzYyhpbnRlbF9kcCk7CiAJCX0KLQogCQkvKgogCQkgKiBQZXIg U3BlYzogQXZvaWQgY29udGludW91cyBQU1IgZXhpdCBieSBtYXNraW5nIE1FTVVQIGFuZCBIUEQu CiAJCSAqIEFsc28gbWFzayBMUFNQIHRvIGF2b2lkIGRlcGVuZGVuY3kgb24gb3RoZXIgZHJpdmVy cyB0aGF0CkBAIC01NTcsMjAgKzU4OSwzNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rpc2FibGUo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAKIAlpZiAoZGV2X3ByaXYtPnBzci5hY3RpdmUpIHsKLQkJ STkxNV9XUklURShFRFBfUFNSX0NUTCwKLQkJCSAgIEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiB+ RURQX1BTUl9FTkFCTEUpOworCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCisJCQlJ OTE1X1dSSVRFKEVEUF9QU1IyX0NUTCwKKwkJCQlJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmCisJ CQkJCX4oRURQX1BTUjJfRU5BQkxFIHwKKwkJCQkJRURQX1NVX1RSQUNLX0VOQUJMRSkpOworCQll bHNlCisJCQlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMLAorCQkJCSAgIEk5MTVfUkVBRChFRFBfUFNS X0NUTCkgJiB+RURQX1BTUl9FTkFCTEUpOwogCiAJCS8qIFdhaXQgdGlsbCBQU1IgaXMgaWRsZSAq LwotCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCi0JCQkJCSAgICBFRFBf UFNSX1NUQVRVU19DVEwsCi0JCQkJCSAgICBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAotCQkJ CQkgICAgMCwKLQkJCQkJICAgIDIwMDApKQorCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBv cnQpIHsKKwkJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJCQkJCSAg ICBFRFBfUFNSMl9TVEFUVVNfQ1RMLAorCQkJCQkJICAgIEVEUF9QU1IyX1NUQVRVU19TVEFURV9N QVNLLAorCQkJCQkJICAgIDAsCisJCQkJCQkgICAgMjAwMCkpCisJCQlEUk1fRVJST1IoIlRpbWVk IG91dCB3YWl0aW5nIGZvciBQU1IyIElkbGUgU3RhdGVcbiIpOworCQl9IGVsc2UgeworCQkJaWYg KGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCQkJCQkJICAgIEVEUF9QU1JfU1RB VFVTX0NUTCwKKwkJCQkJCSAgICBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAorCQkJCQkJICAg IDAsCisJCQkJCQkgICAgMjAwMCkpCiAJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZv ciBQU1IgSWRsZSBTdGF0ZVxuIik7Ci0KKwkJfQogCQlkZXZfcHJpdi0+cHNyLmFjdGl2ZSA9IGZh bHNlOwogCX0gZWxzZSB7Ci0JCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9Q U1JfRU5BQkxFKTsKKwkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0KQorCQkJV0FSTl9P TihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVEUF9QU1IyX0VOQUJMRSk7CisJCWVsc2UKKwkJ CVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFKTsKIAl9CiB9 CiAKQEAgLTYyMSwxMyArNjcwLDI0IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl93b3JrKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKIAkgKiBhbmQgYmUgcmVhZHkgZm9yIHJlLWVuYWJsZS4KIAkg Ki8KIAlpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKLQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKGRldl9wcml2LAotCQkJCQkgICAgRURQX1BTUl9TVEFUVVNfQ1RMLAotCQkJCQkgICAgRURQ X1BTUl9TVEFUVVNfU1RBVEVfTUFTSywKLQkJCQkJICAgIDAsCi0JCQkJCSAgICA1MCkpIHsKLQkJ CURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFBTUiBJZGxlIGZvciByZS1lbmFibGVc biIpOwotCQkJcmV0dXJuOworCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpIHsKKwkJ CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJCQkJCUVEUF9QU1IyX1NU QVRVU19DVEwsCisJCQkJCQlFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSywKKwkJCQkJCTAsCisJ CQkJCQk1MCkpIHsKKwkJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IyIElk bGUgZm9yIHJlLWVuYWJsZVxuIik7CisJCQkJcmV0dXJuOworCQkJfQorCQl9IGVsc2UgeworCQkJ aWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCQkJCQkJRURQX1BTUl9TVEFU VVNfQ1RMLAorCQkJCQkJRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSywKKwkJCQkJCTAsCisJCQkJ CQk1MCkpIHsKKwkJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IgSWRsZSBm b3IgcmUtZW5hYmxlXG4iKTsKKwkJCQlyZXR1cm47CisJCQl9CiAJCX0KIAl9IGVsc2UgewogCQlp ZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCkBAIC02NjksMTEgKzcyOSwxNSBA QCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCXJldHVybjsKIAogCWlmIChIQVNfRERJKGRldl9wcml2KSkgewotCQl2YWwgPSBJ OTE1X1JFQUQoRURQX1BTUl9DVEwpOwotCi0JCVdBUk5fT04oISh2YWwgJiBFRFBfUFNSX0VOQUJM RSkpOwotCi0JCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsIHZhbCAmIH5FRFBfUFNSX0VOQUJMRSk7 CisJCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgeworCQkJdmFsID0gSTkxNV9SRUFE KEVEUF9QU1IyX0NUTCk7CisJCQlXQVJOX09OKCEodmFsICYgRURQX1BTUjJfRU5BQkxFKSk7CisJ CQlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTCwgdmFsICYgfkVEUF9QU1IyX0VOQUJMRSk7CisJCX0g ZWxzZSB7CisJCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9DVEwpOworCQkJV0FSTl9PTighKHZh bCAmIEVEUF9QU1JfRU5BQkxFKSk7CisJCQlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMLCB2YWwgJiB+ RURQX1BTUl9FTkFCTEUpOworCQl9CiAJfSBlbHNlIHsKIAkJdmFsID0gSTkxNV9SRUFEKFZMVl9Q U1JDVEwocGlwZSkpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==