From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v2 2/5] drm/i915/psr: Refactor psr short pulse handler Date: Mon, 25 Nov 2019 16:53:57 -0800 Message-ID: <20191126005400.264480-2-jose.souza@intel.com> References: <20191126005400.264480-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E84389BFF for ; Tue, 26 Nov 2019 00:54:03 +0000 (UTC) In-Reply-To: <20191126005400.264480-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 List-Id: intel-gfx@lists.freedesktop.org ZURQIHNwZWMgc3RhdGVzIHRoYXQgd2hlbiBzaW5rIGVuY29udGVycyBhIHByb2JsZW0gdGhhdCBw cmV2ZW50cyBpdAp0byBrZWVwIFBTUiBydW5uaW5nIGl0IHNob3VsZCBzZXQgUFNSIHN0YXR1cyB0 byBpbnRlcm5hbCBlcnJvciBhbmQKc2V0IHRoZSByZWFzb24gd2h5IGl0IGhhcHBlbiB0byBQU1Jf RVJST1JfU1RBVFVTIGJ1dCBpdCBpcyBub3QgaG93IGl0CndhcyBpbXBsZW1lbnRlZC4KQnV0IGFs c28gSSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGlzIGJlaGF2aW9yLCB3aG8ga25vd3MgaWYgdGhl cmUgaXMKYSBwYW5lbCBvdXQgdGhlcmUgdGhhdCBvbmx5IHNldCB0aGUgUFNSX0VSUk9SX1NUQVRV Uy4KClNvIGhlcmUgcmVmYWN0b3JpbmcgdGhlIGNvZGUgYSBiaXQgdG8gbWFrZSBtb3JlIGVhc3kg dG8gcmVhZCB3aGF0IHdhcwpzdGF0ZSBhYm92ZSBhcyBtb3JlIGNoZWNrcyB3aWxsIGJlIGFkZGVk IHRvIHRoaXMgZnVuY3Rpb24uCgp2MjoKcmV0dXJuaW5nIGEgaW50IGluc3RlYWQgb2YgYSBib29s IGluIHBzcl9nZXRfc3RhdHVzX2FuZF9lcnJvcl9zdGF0dXMoKQoKQ2M6IEd3YW4tZ3llb25nIE11 biA8Z3dhbi1neWVvbmcubXVuQGludGVsLmNvbT4KQ2M6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5y b3BlckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpv c2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfcHNyLmMgfCA1MSArKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz MSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9wc3IuYwppbmRleCAwZDg0ZWEyOGJjNmYuLjFhMWFjM2Y0NmJmNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCkBAIC0xMzg2LDExICsxMzg2LDMw IEBAIHZvaWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCW11dGV4X2luaXQoJmRldl9wcml2LT5wc3IubG9jayk7CiB9CiAKK3N0YXRpYyBpbnQgcHNy X2dldF9zdGF0dXNfYW5kX2Vycm9yX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAor CQkJCQkgICB1OCAqc3RhdHVzLCB1OCAqZXJyb3Jfc3RhdHVzKQoreworCXN0cnVjdCBkcm1fZHBf YXV4ICphdXggPSAmaW50ZWxfZHAtPmF1eDsKKwlpbnQgcmV0OworCisJcmV0ID0gZHJtX2RwX2Rw Y2RfcmVhZGIoYXV4LCBEUF9QU1JfU1RBVFVTLCBzdGF0dXMpOworCWlmIChyZXQgIT0gMSkKKwkJ cmV0dXJuIHJldDsKKworCXJldCA9IGRybV9kcF9kcGNkX3JlYWRiKGF1eCwgRFBfUFNSX0VSUk9S X1NUQVRVUywgZXJyb3Jfc3RhdHVzKTsKKwlpZiAocmV0ICE9IDEpCisJCXJldHVybiByZXQ7CisK Kwkqc3RhdHVzID0gKnN0YXR1cyAmIERQX1BTUl9TSU5LX1NUQVRFX01BU0s7CisKKwlyZXR1cm4g MDsKK30KKwogdm9pZCBpbnRlbF9wc3Jfc2hvcnRfcHVsc2Uoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1 KGludGVsX2RwKTsKIAlzdHJ1Y3QgaTkxNV9wc3IgKnBzciA9ICZkZXZfcHJpdi0+cHNyOwotCXU4 IHZhbDsKKwl1OCBzdGF0dXMsIGVycm9yX3N0YXR1czsKIAljb25zdCB1OCBlcnJvcnMgPSBEUF9Q U1JfUkZCX1NUT1JBR0VfRVJST1IgfAogCQkJICBEUF9QU1JfVlNDX1NEUF9VTkNPUlJFQ1RBQkxF X0VSUk9SIHwKIAkJCSAgRFBfUFNSX0xJTktfQ1JDX0VSUk9SOwpAQCAtMTQwMywzOCArMTQyMiwz MCBAQCB2b2lkIGludGVsX3Bzcl9zaG9ydF9wdWxzZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogCWlmICghcHNyLT5lbmFibGVkIHx8IHBzci0+ZHAgIT0gaW50ZWxfZHApCiAJCWdvdG8gZXhp dDsKIAotCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX1NUQVRV UywgJnZhbCkgIT0gMSkgewotCQlEUk1fRVJST1IoIlBTUl9TVEFUVVMgZHBjZCByZWFkIGZhaWxl ZFxuIik7CisJaWYgKHBzcl9nZXRfc3RhdHVzX2FuZF9lcnJvcl9zdGF0dXMoaW50ZWxfZHAsICZz dGF0dXMsICZlcnJvcl9zdGF0dXMpKSB7CisJCURSTV9FUlJPUigiRXJyb3IgcmVhZGluZyBQU1Ig c3RhdHVzIG9yIGVycm9yIHN0YXR1c1xuIik7CiAJCWdvdG8gZXhpdDsKIAl9CiAKLQlpZiAoKHZh bCAmIERQX1BTUl9TSU5LX1NUQVRFX01BU0spID09IERQX1BTUl9TSU5LX0lOVEVSTkFMX0VSUk9S KSB7Ci0JCURSTV9ERUJVR19LTVMoIlBTUiBzaW5rIGludGVybmFsIGVycm9yLCBkaXNhYmxpbmcg UFNSXG4iKTsKKwlpZiAoc3RhdHVzID09IERQX1BTUl9TSU5LX0lOVEVSTkFMX0VSUk9SIHx8IChl cnJvcl9zdGF0dXMgJiBlcnJvcnMpKSB7CiAJCWludGVsX3Bzcl9kaXNhYmxlX2xvY2tlZChpbnRl bF9kcCk7CiAJCXBzci0+c2lua19ub3RfcmVsaWFibGUgPSB0cnVlOwogCX0KIAotCWlmIChkcm1f ZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0VSUk9SX1NUQVRVUywgJnZhbCkg IT0gMSkgewotCQlEUk1fRVJST1IoIlBTUl9FUlJPUl9TVEFUVVMgZHBjZCByZWFkIGZhaWxlZFxu Iik7Ci0JCWdvdG8gZXhpdDsKLQl9Ci0KLQlpZiAodmFsICYgRFBfUFNSX1JGQl9TVE9SQUdFX0VS Uk9SKQorCWlmIChzdGF0dXMgPT0gRFBfUFNSX1NJTktfSU5URVJOQUxfRVJST1IgJiYgIWVycm9y X3N0YXR1cykKKwkJRFJNX0RFQlVHX0tNUygiUFNSIHNpbmsgaW50ZXJuYWwgZXJyb3IsIGRpc2Fi bGluZyBQU1JcbiIpOworCWlmIChlcnJvcl9zdGF0dXMgJiBEUF9QU1JfUkZCX1NUT1JBR0VfRVJS T1IpCiAJCURSTV9ERUJVR19LTVMoIlBTUiBSRkIgc3RvcmFnZSBlcnJvciwgZGlzYWJsaW5nIFBT UlxuIik7Ci0JaWYgKHZhbCAmIERQX1BTUl9WU0NfU0RQX1VOQ09SUkVDVEFCTEVfRVJST1IpCisJ aWYgKGVycm9yX3N0YXR1cyAmIERQX1BTUl9WU0NfU0RQX1VOQ09SUkVDVEFCTEVfRVJST1IpCiAJ CURSTV9ERUJVR19LTVMoIlBTUiBWU0MgU0RQIHVuY29ycmVjdGFibGUgZXJyb3IsIGRpc2FibGlu ZyBQU1JcbiIpOwotCWlmICh2YWwgJiBEUF9QU1JfTElOS19DUkNfRVJST1IpCisJaWYgKGVycm9y X3N0YXR1cyAmIERQX1BTUl9MSU5LX0NSQ19FUlJPUikKIAkJRFJNX0RFQlVHX0tNUygiUFNSIExp bmsgQ1JDIGVycm9yLCBkaXNhYmxpbmcgUFNSXG4iKTsKIAotCWlmICh2YWwgJiB+ZXJyb3JzKQor CWlmIChlcnJvcl9zdGF0dXMgJiB+ZXJyb3JzKQogCQlEUk1fRVJST1IoIlBTUl9FUlJPUl9TVEFU VVMgdW5oYW5kbGVkIGVycm9ycyAleFxuIiwKLQkJCSAgdmFsICYgfmVycm9ycyk7Ci0JaWYgKHZh bCAmIGVycm9ycykgewotCQlpbnRlbF9wc3JfZGlzYWJsZV9sb2NrZWQoaW50ZWxfZHApOwotCQlw c3ItPnNpbmtfbm90X3JlbGlhYmxlID0gdHJ1ZTsKLQl9CisJCQkgIGVycm9yX3N0YXR1cyAmIH5l cnJvcnMpOwogCS8qIGNsZWFyIHN0YXR1cyByZWdpc3RlciAqLwotCWRybV9kcF9kcGNkX3dyaXRl YigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0VSUk9SX1NUQVRVUywgdmFsKTsKKwlkcm1fZHBfZHBj ZF93cml0ZWIoJmludGVsX2RwLT5hdXgsIERQX1BTUl9FUlJPUl9TVEFUVVMsIGVycm9yX3N0YXR1 cyk7CiBleGl0OgogCW11dGV4X3VubG9jaygmcHNyLT5sb2NrKTsKIH0KLS0gCjIuMjQuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 850AFC432C3 for ; Tue, 26 Nov 2019 00:54:08 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6563A2053B for ; Tue, 26 Nov 2019 00:54:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6563A2053B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 341926E1BB; Tue, 26 Nov 2019 00:54:05 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E84389BFF for ; Tue, 26 Nov 2019 00:54:03 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 16:54:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,243,1571727600"; d="scan'208";a="206308323" Received: from josouza-mobl.jf.intel.com (HELO josouza-MOBL.intel.com) ([10.24.8.225]) by fmsmga008.fm.intel.com with ESMTP; 25 Nov 2019 16:54:02 -0800 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Mon, 25 Nov 2019 16:53:57 -0800 Message-Id: <20191126005400.264480-2-jose.souza@intel.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191126005400.264480-1-jose.souza@intel.com> References: <20191126005400.264480-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 2/5] drm/i915/psr: Refactor psr short pulse handler X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191126005357.v1EQOQkSIeNYFW7kK04ENjkIhuUQooLMeDEtWauco_g@z> ZURQIHNwZWMgc3RhdGVzIHRoYXQgd2hlbiBzaW5rIGVuY29udGVycyBhIHByb2JsZW0gdGhhdCBw cmV2ZW50cyBpdAp0byBrZWVwIFBTUiBydW5uaW5nIGl0IHNob3VsZCBzZXQgUFNSIHN0YXR1cyB0 byBpbnRlcm5hbCBlcnJvciBhbmQKc2V0IHRoZSByZWFzb24gd2h5IGl0IGhhcHBlbiB0byBQU1Jf RVJST1JfU1RBVFVTIGJ1dCBpdCBpcyBub3QgaG93IGl0CndhcyBpbXBsZW1lbnRlZC4KQnV0IGFs c28gSSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGlzIGJlaGF2aW9yLCB3aG8ga25vd3MgaWYgdGhl cmUgaXMKYSBwYW5lbCBvdXQgdGhlcmUgdGhhdCBvbmx5IHNldCB0aGUgUFNSX0VSUk9SX1NUQVRV Uy4KClNvIGhlcmUgcmVmYWN0b3JpbmcgdGhlIGNvZGUgYSBiaXQgdG8gbWFrZSBtb3JlIGVhc3kg dG8gcmVhZCB3aGF0IHdhcwpzdGF0ZSBhYm92ZSBhcyBtb3JlIGNoZWNrcyB3aWxsIGJlIGFkZGVk IHRvIHRoaXMgZnVuY3Rpb24uCgp2MjoKcmV0dXJuaW5nIGEgaW50IGluc3RlYWQgb2YgYSBib29s IGluIHBzcl9nZXRfc3RhdHVzX2FuZF9lcnJvcl9zdGF0dXMoKQoKQ2M6IEd3YW4tZ3llb25nIE11 biA8Z3dhbi1neWVvbmcubXVuQGludGVsLmNvbT4KQ2M6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5y b3BlckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpv c2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfcHNyLmMgfCA1MSArKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz MSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9wc3IuYwppbmRleCAwZDg0ZWEyOGJjNmYuLjFhMWFjM2Y0NmJmNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCkBAIC0xMzg2LDExICsxMzg2LDMw IEBAIHZvaWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCW11dGV4X2luaXQoJmRldl9wcml2LT5wc3IubG9jayk7CiB9CiAKK3N0YXRpYyBpbnQgcHNy X2dldF9zdGF0dXNfYW5kX2Vycm9yX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAor CQkJCQkgICB1OCAqc3RhdHVzLCB1OCAqZXJyb3Jfc3RhdHVzKQoreworCXN0cnVjdCBkcm1fZHBf YXV4ICphdXggPSAmaW50ZWxfZHAtPmF1eDsKKwlpbnQgcmV0OworCisJcmV0ID0gZHJtX2RwX2Rw Y2RfcmVhZGIoYXV4LCBEUF9QU1JfU1RBVFVTLCBzdGF0dXMpOworCWlmIChyZXQgIT0gMSkKKwkJ cmV0dXJuIHJldDsKKworCXJldCA9IGRybV9kcF9kcGNkX3JlYWRiKGF1eCwgRFBfUFNSX0VSUk9S X1NUQVRVUywgZXJyb3Jfc3RhdHVzKTsKKwlpZiAocmV0ICE9IDEpCisJCXJldHVybiByZXQ7CisK Kwkqc3RhdHVzID0gKnN0YXR1cyAmIERQX1BTUl9TSU5LX1NUQVRFX01BU0s7CisKKwlyZXR1cm4g MDsKK30KKwogdm9pZCBpbnRlbF9wc3Jfc2hvcnRfcHVsc2Uoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1 KGludGVsX2RwKTsKIAlzdHJ1Y3QgaTkxNV9wc3IgKnBzciA9ICZkZXZfcHJpdi0+cHNyOwotCXU4 IHZhbDsKKwl1OCBzdGF0dXMsIGVycm9yX3N0YXR1czsKIAljb25zdCB1OCBlcnJvcnMgPSBEUF9Q U1JfUkZCX1NUT1JBR0VfRVJST1IgfAogCQkJICBEUF9QU1JfVlNDX1NEUF9VTkNPUlJFQ1RBQkxF X0VSUk9SIHwKIAkJCSAgRFBfUFNSX0xJTktfQ1JDX0VSUk9SOwpAQCAtMTQwMywzOCArMTQyMiwz MCBAQCB2b2lkIGludGVsX3Bzcl9zaG9ydF9wdWxzZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogCWlmICghcHNyLT5lbmFibGVkIHx8IHBzci0+ZHAgIT0gaW50ZWxfZHApCiAJCWdvdG8gZXhp dDsKIAotCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX1NUQVRV UywgJnZhbCkgIT0gMSkgewotCQlEUk1fRVJST1IoIlBTUl9TVEFUVVMgZHBjZCByZWFkIGZhaWxl ZFxuIik7CisJaWYgKHBzcl9nZXRfc3RhdHVzX2FuZF9lcnJvcl9zdGF0dXMoaW50ZWxfZHAsICZz dGF0dXMsICZlcnJvcl9zdGF0dXMpKSB7CisJCURSTV9FUlJPUigiRXJyb3IgcmVhZGluZyBQU1Ig c3RhdHVzIG9yIGVycm9yIHN0YXR1c1xuIik7CiAJCWdvdG8gZXhpdDsKIAl9CiAKLQlpZiAoKHZh bCAmIERQX1BTUl9TSU5LX1NUQVRFX01BU0spID09IERQX1BTUl9TSU5LX0lOVEVSTkFMX0VSUk9S KSB7Ci0JCURSTV9ERUJVR19LTVMoIlBTUiBzaW5rIGludGVybmFsIGVycm9yLCBkaXNhYmxpbmcg UFNSXG4iKTsKKwlpZiAoc3RhdHVzID09IERQX1BTUl9TSU5LX0lOVEVSTkFMX0VSUk9SIHx8IChl cnJvcl9zdGF0dXMgJiBlcnJvcnMpKSB7CiAJCWludGVsX3Bzcl9kaXNhYmxlX2xvY2tlZChpbnRl bF9kcCk7CiAJCXBzci0+c2lua19ub3RfcmVsaWFibGUgPSB0cnVlOwogCX0KIAotCWlmIChkcm1f ZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0VSUk9SX1NUQVRVUywgJnZhbCkg IT0gMSkgewotCQlEUk1fRVJST1IoIlBTUl9FUlJPUl9TVEFUVVMgZHBjZCByZWFkIGZhaWxlZFxu Iik7Ci0JCWdvdG8gZXhpdDsKLQl9Ci0KLQlpZiAodmFsICYgRFBfUFNSX1JGQl9TVE9SQUdFX0VS Uk9SKQorCWlmIChzdGF0dXMgPT0gRFBfUFNSX1NJTktfSU5URVJOQUxfRVJST1IgJiYgIWVycm9y X3N0YXR1cykKKwkJRFJNX0RFQlVHX0tNUygiUFNSIHNpbmsgaW50ZXJuYWwgZXJyb3IsIGRpc2Fi bGluZyBQU1JcbiIpOworCWlmIChlcnJvcl9zdGF0dXMgJiBEUF9QU1JfUkZCX1NUT1JBR0VfRVJS T1IpCiAJCURSTV9ERUJVR19LTVMoIlBTUiBSRkIgc3RvcmFnZSBlcnJvciwgZGlzYWJsaW5nIFBT UlxuIik7Ci0JaWYgKHZhbCAmIERQX1BTUl9WU0NfU0RQX1VOQ09SUkVDVEFCTEVfRVJST1IpCisJ aWYgKGVycm9yX3N0YXR1cyAmIERQX1BTUl9WU0NfU0RQX1VOQ09SUkVDVEFCTEVfRVJST1IpCiAJ CURSTV9ERUJVR19LTVMoIlBTUiBWU0MgU0RQIHVuY29ycmVjdGFibGUgZXJyb3IsIGRpc2FibGlu ZyBQU1JcbiIpOwotCWlmICh2YWwgJiBEUF9QU1JfTElOS19DUkNfRVJST1IpCisJaWYgKGVycm9y X3N0YXR1cyAmIERQX1BTUl9MSU5LX0NSQ19FUlJPUikKIAkJRFJNX0RFQlVHX0tNUygiUFNSIExp bmsgQ1JDIGVycm9yLCBkaXNhYmxpbmcgUFNSXG4iKTsKIAotCWlmICh2YWwgJiB+ZXJyb3JzKQor CWlmIChlcnJvcl9zdGF0dXMgJiB+ZXJyb3JzKQogCQlEUk1fRVJST1IoIlBTUl9FUlJPUl9TVEFU VVMgdW5oYW5kbGVkIGVycm9ycyAleFxuIiwKLQkJCSAgdmFsICYgfmVycm9ycyk7Ci0JaWYgKHZh bCAmIGVycm9ycykgewotCQlpbnRlbF9wc3JfZGlzYWJsZV9sb2NrZWQoaW50ZWxfZHApOwotCQlw c3ItPnNpbmtfbm90X3JlbGlhYmxlID0gdHJ1ZTsKLQl9CisJCQkgIGVycm9yX3N0YXR1cyAmIH5l cnJvcnMpOwogCS8qIGNsZWFyIHN0YXR1cyByZWdpc3RlciAqLwotCWRybV9kcF9kcGNkX3dyaXRl YigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0VSUk9SX1NUQVRVUywgdmFsKTsKKwlkcm1fZHBfZHBj ZF93cml0ZWIoJmludGVsX2RwLT5hdXgsIERQX1BTUl9FUlJPUl9TVEFUVVMsIGVycm9yX3N0YXR1 cyk7CiBleGl0OgogCW11dGV4X3VubG9jaygmcHNyLT5sb2NrKTsKIH0KLS0gCjIuMjQuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4