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=-12.8 required=3.0 tests=BAYES_00, 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 A4D8BC43465 for ; Mon, 21 Sep 2020 11:29:00 +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 6C7C0207BC for ; Mon, 21 Sep 2020 11:29:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6C7C0207BC 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 70A9C6E27C; Mon, 21 Sep 2020 11:28:59 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7767B6E279; Mon, 21 Sep 2020 11:28:37 +0000 (UTC) IronPort-SDR: 7hqRauCYiFuxsJcQ/zRiZKAE2tUb6ZiPlw47SopphzXb8mQMhdp14H7UaiNZd14FldhhhOIuTE SJCYL4UVI5MA== X-IronPort-AV: E=McAfee;i="6000,8403,9750"; a="245190777" X-IronPort-AV: E=Sophos;i="5.77,286,1596524400"; d="scan'208";a="245190777" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2020 04:28:34 -0700 IronPort-SDR: YDshiuJShMqiPlCzhvyVvsBNgbDKsnBcVuy48moc3dCxJVmpSuP2AWh8utEPcFB0DpkJfKOLL7 w42UgwKDC3OA== X-IronPort-AV: E=Sophos;i="5.77,286,1596524400"; d="scan'208";a="454009142" Received: from karthik-2012-client-platform.iind.intel.com ([10.223.74.217]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 21 Sep 2020 04:28:31 -0700 From: Karthik B S To: intel-gfx@lists.freedesktop.org Date: Mon, 21 Sep 2020 16:32:05 +0530 Message-Id: <20200921110210.21182-4-karthik.b.s@intel.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20200921110210.21182-1-karthik.b.s@intel.com> References: <20200921110210.21182-1-karthik.b.s@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v11 3/8] drm/i915: Add checks specific to async flips X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: paulo.r.zanoni@intel.com, michel@daenzer.net, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com, harry.wentland@amd.com, nicholas.kazlauskas@amd.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SWYgZmxpcCBpcyByZXF1ZXN0ZWQgb24gYW55IG90aGVyIHBsYW5lLCByZWplY3QgaXQuCgpNYWtl IHN1cmUgdGhlcmUgaXMgbm8gY2hhbmdlIGluIGZiYywgb2Zmc2V0IGFuZCBmcmFtZWJ1ZmZlciBt b2RpZmllcnMKd2hlbiBhc3luYyBmbGlwIGlzIHJlcXVlc3RlZC4KCklmIGFueSBvZiB0aGVzZSBh cmUgbW9kaWZpZWQsIHJlamVjdCBhc3luYyBmbGlwLgoKdjI6IC1SZXBsYWNlIERSTV9FUlJPUiAo UGF1bG8pCiAgICAtQWRkIGNoZWNrIGZvciBjaGFuZ2VzIGluIE9GRlNFVCwgRkJDLCBSQyhQYXVs bykKCnYzOiAtUmVtb3ZlZCBUT0RPIGFzIGJlbmNobWFya2luZyB0ZXN0cyBoYXZlIGJlZW4gcnVu IG5vdy4KCnY0OiAtQWRkZWQgbW9yZSBzdGF0ZSBjaGVja3MgZm9yIGFzeW5jIGZsaXAgKFZpbGxl KQogICAgLU1vdmVkIGludGVsX2F0b21pY19jaGVja19hc3luYyB0byB0aGUgZW5kIG9mIGludGVs X2F0b21pY19jaGVjawogICAgIGFzIHRoZSBwbGFuZSBjaGVja3MgbmVlZHMgdG8gcGFzcyBiZWZv cmUgdGhpcy4gKFZpbGxlKQogICAgLVJlbW92ZWQgY3J0Y19zdGF0ZS0+ZW5hYmxlX2ZiYyBjaGVj ay4gKFZpbGxlKQogICAgLVNldCB0aGUgSTkxNV9NT0RFX0ZMQUdfR0VUX1NDQU5MSU5FX0ZST01f VElNRVNUQU1QIGZsYWcgZm9yIGFzeW5jCiAgICAgZmxpcCBjYXNlIGFzIHNjYW5saW5lIGNvdW50 ZXIgaXMgbm90IHJlbGlhYmxlIGhlcmUuCgp2NTogLUZpeCB0eXBvIGFuZCBvdGhlciBjaGVjayBw YXRjaCBlcnJvcnMgc2VlbiBpbiBDSQogICAgIGluICdpbnRlbF9hdG9taWNfY2hlY2tfYXN5bmMn IGZ1bmN0aW9uLgoKdjY6IC1Eb24ndCBjYWxsIGludGVsX2F0b21pY19jaGVja19hc3luYyBtdWx0 aXBsZSB0aW1lcy4gKFZpbGxlKQogICAgLVJlbW92ZSB0aGUgY2hlY2sgZm9yIG5fcGxhbmVzIGlu IGludGVsX2F0b21pY19jaGVja19hc3luYwogICAgLUFkZGVkIGRvY3VtZW50YXRpb24gZm9yIGFz eW5jIGZsaXBzLiAoUGF1bG8pCgp2NzogLVJlcGxhY2UgJ2ludGVsX3BsYW5lJyB3aXRoICdwbGFu ZScuIChWaWxsZSkKICAgIC1SZXBsYWNlIGFsbCB1YXBpLmZvbyBhcyBody5mb28uIChWaWxsZSkK ICAgIC1EbyBub3QgdXNlIGludGVsX3dtX25lZWRfdXBkYXRlIGZ1bmN0aW9uLiAoVmlsbGUpCiAg ICAtQWRkIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGUgY2hlY2suIChWaWxsZSkKICAgIC1EbyBub3Qg YWxsb3cgYXN5bmMgZmxpcCB3aXRoIGxpbmVhciBidWZmZXIKICAgICBvbiBvbGRlciBodyBhcyBp dCBoYXMgaXNzdWVzIHdpdGggdGhpcy4gKFZpbGxlKQogICAgLVJlbW92ZSBicmVhayBhZnRlciBp bnRlbF9hdG9taWNfY2hlY2tfYXN5bmMuIChWaWxsZSkKCnY4OiAtUmViYXNlZC4KCnY5OiAtUmVw bGFjZSBEUk1fREVCVUdfS01TIHdpdGggZHJtX2RiZ19rbXMoKS4gKFZpbGxlKQogICAgLUZpeCBj b21tZW50IGZvcm1hdHRpbmcuIChWaWxsZSkKICAgIC1SZW1vdmUgZ2VuIHNwZWNpZmljIGNoZWNr cy4gKFZpbGxlKQogICAgLVJlbW92ZSBpcnJlbGV2YW50IEZCIHNpemUgY2hlY2suIChWaWxsZSkK ICAgIC1BZGQgbWlzc2luZyBzdHJpZGUgY2hlY2suIChWaWxsZSkKICAgIC1Vc2UgZHJtX3JlY3Rf ZXF1YWxzKCkgaW5zdGVhZCBvZiBpbmRpdmlkdWFsIGNoZWNrcy4gKFZpbGxlKQogICAgLUNhbGwg aW50ZWxfYXRvbWljX2NoZWNrX2FzeW5jIGJlZm9yZSBzdGF0ZSBkdW1wLiAoVmlsbGUpCgp2MTA6 IC1GaXggdGhlIGNoZWNrcGF0Y2ggZXJyb3JzIHNlZW4gb24gQ0kuCgp2MTE6IC1Vc2UgY29uc3Qg Zm9yIGFsbCBwbGFuZS9jcnRjIHN0YXRlcy4gKFZpbGxlKQogICAgIC1Vc2UgJ3N3aXRjaCcgaW5z dGVhZCBvZiAnaWYnIGZvciBtb2RpZmllciBjaGVjay4gKFZpbGxlKQogICAgIC1Nb3ZlIGRvY3Vt ZW50YXRpb24gY2hhbmdlcyB0byBhIHNpbmdsZSBwYXRjaC4gKFZpbGxlKQoKU2lnbmVkLW9mZi1i eTogS2FydGhpayBCIFMgPGthcnRoaWsuYi5zQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmFu ZGl0YSBLdWxrYXJuaSA8dmFuZGl0YS5rdWxrYXJuaUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMTIxICsrKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMzBlODkwOGVlMjYzLi5i M2VjMDhmMTdjNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5jCkBAIC0xNDg3Nyw2ICsxNDg3NywxMjEgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3B1X3Ry YW5zY29kZXJzX25lZWRfbW9kZXNldChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK IAlyZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrX2FzeW5j KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOworCWNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwgKm5ld19jcnRjX3N0YXRlOworCWNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3BsYW5lX3N0YXRlLCAqb2xkX3BsYW5lX3N0 YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOworCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxh bmU7CisJaW50IGk7CisKKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0 ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCisJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewor CQlpZiAobmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpIHsKKwkJCWRybV9kYmdfa21zKCZp OTE1LT5kcm0sICJNb2Rlc2V0IFJlcXVpcmVkLiBBc3luYyBmbGlwIG5vdCBzdXBwb3J0ZWRcbiIp OworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5ody5h Y3RpdmUpIHsKKwkJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJDUlRDIGluYWN0aXZlXG4iKTsK KwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWlmIChvbGRfY3J0Y19zdGF0ZS0+YWN0aXZlX3Bs YW5lcyAhPSBuZXdfY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcykgeworCQkJZHJtX2RiZ19rbXMo Jmk5MTUtPmRybSwKKwkJCQkgICAgIkFjdGl2ZSBwbGFuZXMgY2Fubm90IGJlIGNoYW5nZWQgZHVy aW5nIGFzeW5jIGZsaXBcbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisKKwlmb3Jf ZWFjaF9vbGRuZXdfaW50ZWxfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVf c3RhdGUsCisJCQkJCSAgICAgbmV3X3BsYW5lX3N0YXRlLCBpKSB7CisJCS8qCisJCSAqIFRPRE86 IEFzeW5jIGZsaXAgaXMgb25seSBzdXBwb3J0ZWQgdGhyb3VnaCB0aGUgcGFnZSBmbGlwIElPQ1RM CisJCSAqIGFzIG9mIG5vdy4gU28gc3VwcG9ydCBjdXJyZW50bHkgYWRkZWQgZm9yIHByaW1hcnkg cGxhbmUgb25seS4KKwkJICogU3VwcG9ydCBmb3Igb3RoZXIgcGxhbmVzIG9uIHBsYXRmb3JtcyBv biB3aGljaCBzdXBwb3J0cworCQkgKiB0aGlzKHZsdi9jaHYgYW5kIGljbCspIHNob3VsZCBiZSBh ZGRlZCB3aGVuIGFzeW5jIGZsaXAgaXMKKwkJICogZW5hYmxlZCBpbiB0aGUgYXRvbWljIElPQ1RM IHBhdGguCisJCSAqLworCQlpZiAocGxhbmUtPmlkICE9IFBMQU5FX1BSSU1BUlkpCisJCQlyZXR1 cm4gLUVJTlZBTDsKKworCQkvKgorCQkgKiBGSVhNRTogVGhpcyBjaGVjayBpcyBrZXB0IGdlbmVy aWMgZm9yIGFsbCBwbGF0Zm9ybXMuCisJCSAqIE5lZWQgdG8gdmVyaWZ5IHRoaXMgZm9yIGFsbCBn ZW45IGFuZCBnZW4xMCBwbGF0Zm9ybXMgdG8gZW5hYmxlCisJCSAqIHRoaXMgc2VsZWN0aXZlbHkg aWYgcmVxdWlyZWQuCisJCSAqLworCQlzd2l0Y2ggKG5ld19wbGFuZV9zdGF0ZS0+aHcuZmItPm1v ZGlmaWVyKSB7CisJCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6CisJCWNhc2UgSTkxNV9G T1JNQVRfTU9EX1lfVElMRUQ6CisJCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEOgorCQkJ YnJlYWs7CisJCWRlZmF1bHQ6CisJCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAorCQkJCSAgICAi TGluZWFyIG1lbW9yeS9DQ1MgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBmbGlwc1xuIik7CisJCQly ZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCWlmIChvbGRfcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5l WzBdLnN0cmlkZSAhPQorCQkgICAgbmV3X3BsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVswXS5zdHJp ZGUpIHsKKwkJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJTdHJpZGUgY2Fubm90IGJlIGNoYW5n ZWQgaW4gYXN5bmMgZmxpcFxuIik7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCWlmIChv bGRfcGxhbmVfc3RhdGUtPmh3LmZiLT5tb2RpZmllciAhPQorCQkgICAgbmV3X3BsYW5lX3N0YXRl LT5ody5mYi0+bW9kaWZpZXIpIHsKKwkJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sCisJCQkJICAg ICJGcmFtZWJ1ZmZlciBtb2RpZmllcnMgY2Fubm90IGJlIGNoYW5nZWQgaW4gYXN5bmMgZmxpcFxu Iik7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCWlmIChvbGRfcGxhbmVfc3RhdGUtPmh3 LmZiLT5mb3JtYXQgIT0KKwkJICAgIG5ld19wbGFuZV9zdGF0ZS0+aHcuZmItPmZvcm1hdCkgewor CQkJZHJtX2RiZ19rbXMoJmk5MTUtPmRybSwKKwkJCQkgICAgIkZyYW1lYnVmZmVyIGZvcm1hdCBj YW5ub3QgYmUgY2hhbmdlZCBpbiBhc3luYyBmbGlwXG4iKTsKKwkJCXJldHVybiAtRUlOVkFMOwor CQl9CisKKwkJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+aHcucm90YXRpb24gIT0KKwkJICAgIG5ld19w bGFuZV9zdGF0ZS0+aHcucm90YXRpb24pIHsKKwkJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJS b3RhdGlvbiBjYW5ub3QgYmUgY2hhbmdlZCBpbiBhc3luYyBmbGlwXG4iKTsKKwkJCXJldHVybiAt RUlOVkFMOworCQl9CisKKwkJaWYgKCFkcm1fcmVjdF9lcXVhbHMoJm9sZF9wbGFuZV9zdGF0ZS0+ dWFwaS5zcmMsICZuZXdfcGxhbmVfc3RhdGUtPnVhcGkuc3JjKSB8fAorCQkgICAgIWRybV9yZWN0 X2VxdWFscygmb2xkX3BsYW5lX3N0YXRlLT51YXBpLmRzdCwgJm5ld19wbGFuZV9zdGF0ZS0+dWFw aS5kc3QpKSB7CisJCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAorCQkJCSAgICAiUGxhbmUgc2l6 ZS9jby1vcmRpbmF0ZXMgY2Fubm90IGJlIGNoYW5nZWQgaW4gYXN5bmMgZmxpcFxuIik7CisJCQly ZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCWlmIChvbGRfcGxhbmVfc3RhdGUtPmh3LmFscGhhICE9 IG5ld19wbGFuZV9zdGF0ZS0+aHcuYWxwaGEpIHsKKwkJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0s ICJBbHBoYSB2YWx1ZSBjYW5ub3QgYmUgY2hhbmdlZCBpbiBhc3luYyBmbGlwXG4iKTsKKwkJCXJl dHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+aHcucGl4ZWxfYmxl bmRfbW9kZSAhPQorCQkgICAgbmV3X3BsYW5lX3N0YXRlLT5ody5waXhlbF9ibGVuZF9tb2RlKSB7 CisJCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAorCQkJCSAgICAiUGl4ZWwgYmxlbmQgbW9kZSBj YW5ub3QgYmUgY2hhbmdlZCBpbiBhc3luYyBmbGlwXG4iKTsKKwkJCXJldHVybiAtRUlOVkFMOwor CQl9CisKKwkJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+aHcuY29sb3JfZW5jb2RpbmcgIT0gbmV3X3Bs YW5lX3N0YXRlLT5ody5jb2xvcl9lbmNvZGluZykgeworCQkJZHJtX2RiZ19rbXMoJmk5MTUtPmRy bSwKKwkJCQkgICAgIkNvbG9yIGVuY29kaW5nIGNhbm5vdCBiZSBjaGFuZ2VkIGluIGFzeW5jIGZs aXBcbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQlpZiAob2xkX3BsYW5lX3N0YXRl LT5ody5jb2xvcl9yYW5nZSAhPSBuZXdfcGxhbmVfc3RhdGUtPmh3LmNvbG9yX3JhbmdlKSB7CisJ CQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLCAiQ29sb3IgcmFuZ2UgY2Fubm90IGJlIGNoYW5nZWQg aW4gYXN5bmMgZmxpcFxuIik7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCXJldHVy biAwOworfQorCiAvKioKICAqIGludGVsX2F0b21pY19jaGVjayAtIHZhbGlkYXRlIHN0YXRlIG9i amVjdAogICogQGRldjogZHJtIGRldmljZQpAQCAtMTUwNDUsNiArMTUxNjAsMTIgQEAgc3RhdGlj IGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWZvcl9l YWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0 ZSwKIAkJCQkJICAgIG5ld19jcnRjX3N0YXRlLCBpKSB7CisJCWlmIChuZXdfY3J0Y19zdGF0ZS0+ dWFwaS5hc3luY19mbGlwKSB7CisJCQlyZXQgPSBpbnRlbF9hdG9taWNfY2hlY2tfYXN5bmMoc3Rh dGUpOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIGZhaWw7CisJCX0KKwogCQlpZiAoIW5lZWRzX21v ZGVzZXQobmV3X2NydGNfc3RhdGUpICYmCiAJCSAgICAhbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9w aXBlKQogCQkJY29udGludWU7Ci0tIAoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=