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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 9612EC433E1 for ; Thu, 25 Mar 2021 18:08:26 +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 4FDA561A33 for ; Thu, 25 Mar 2021 18:08:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4FDA561A33 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 E1D6B6EE2E; Thu, 25 Mar 2021 18:08:23 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0324D6EE23 for ; Thu, 25 Mar 2021 18:07:32 +0000 (UTC) IronPort-SDR: igndVAeomHAGzd6qwhjhyJ3Za6jgj5HiXEBBCPE8HTVKWmBftiqEbwDainbs7ty7urKIqtqbrO m0PGpFjQXVRg== X-IronPort-AV: E=McAfee;i="6000,8403,9934"; a="178112550" X-IronPort-AV: E=Sophos;i="5.81,278,1610438400"; d="scan'208";a="178112550" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 11:07:32 -0700 IronPort-SDR: A/zD+auJgr4+RVKGQxj6GyKEA8oyNpDVG1IhRVhAJfIohYNTMwqmm7SAgHzX9szNXVe9IErX42 itM74N464H1A== X-IronPort-AV: E=Sophos;i="5.81,278,1610438400"; d="scan'208";a="453176656" Received: from mdroper-desk1.fm.intel.com ([10.1.27.168]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 11:07:32 -0700 From: Matt Roper To: intel-gfx@lists.freedesktop.org Date: Thu, 25 Mar 2021 11:06:58 -0700 Message-Id: <20210325180720.401410-29-matthew.d.roper@intel.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210325180720.401410-1-matthew.d.roper@intel.com> References: <20210325180720.401410-1-matthew.d.roper@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 28/50] drm/i915/adl_p: Implement TC sequences 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: me@freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+CgpBREwt UCBoYXZlIGJhc2ljYWxseSB0aGUgc2FtZSBUQyBjb25uZWN0aW9uIGFuZCBkaXNjb25uZWN0aW9u CnNlcXVlbmNlcyBhcyBJQ0wgYW5kIFRHTCwgdGhlIG1ham9yIGRpZmZlcmVuY2UgaXMgdGhlIG5l dyByZWdpc3RlcnMuCgpTbyBoZXJlIGFkZGluZyBmdW5jdGlvbnMgd2l0aG91dCB0aGUgaWNsIHBy ZWZpeCBpbiB0aGUgbmFtZSBhbmQKbWFraW5nIHRoZSBuZXcgZnVuY3Rpb25zIGNhbGwgdGhlIHBs YXRmb3JtIHNwZWNpZmljIGZ1bmN0aW9uIHRvIGFjY2Vzcwp0aGUgY29ycmVjdCByZWdpc3Rlci4K CkJTcGVjOiA1NTQ4MApDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogQ2xpbnRvbiBUYXlsb3IgPENsaW50b24uQS5UYXlsb3JAaW50ZWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYyB8IDEzMiArKysrKysrKysr KysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8 ICAxMCArKwogMiBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCmluZGV4IGMwMDc4MDNj ZmQzMC4uN2JhZTAxOTNhYTBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90 Yy5jCkBAIC0yMDUsNyArMjA1LDcgQEAgc3RhdGljIHZvaWQgdGNfcG9ydF9maXh1cF9sZWdhY3lf ZmxhZyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKIAlkaWdfcG9ydC0+dGNf bGVnYWN5X3BvcnQgPSAhZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0OwogfQogCi1zdGF0aWMgdTMy IHRjX3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdf cG9ydCkKK3N0YXRpYyB1MzIgaWNsX3RjX3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF91 bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CkBAIC0yMzgsNiArMjM4LDQwIEBAIHN0YXRp YyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0KQogCXJldHVybiBtYXNrOwogfQogCitzdGF0aWMgdTMyIGFkbF90Y19wb3J0X2xp dmVfc3RhdHVzX21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCit7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwg ZGlnX3BvcnQtPmJhc2UucG9ydCk7CisJdTMyIGlzcl9iaXQgPSBpOTE1LT5ob3RwbHVnLnBjaF9o cGRbZGlnX3BvcnQtPmJhc2UuaHBkX3Bpbl07CisJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3Jl ID0gJmk5MTUtPnVuY29yZTsKKwl1MzIgdmFsLCBtYXNrID0gMDsKKworCXZhbCA9IGludGVsX3Vu Y29yZV9yZWFkKHVuY29yZSwgVENTU19ERElfU1RBVFVTKHRjX3BvcnQpKTsKKwlpZiAodmFsICYg VENTU19ERElfU1RBVFVTX0hQRF9MSVZFX1NUQVRVU19BTFQpCisJCW1hc2sgfD0gQklUKFRDX1BP UlRfRFBfQUxUKTsKKwlpZiAodmFsICYgVENTU19ERElfU1RBVFVTX0hQRF9MSVZFX1NUQVRVU19U QlQpCisJCW1hc2sgfD0gQklUKFRDX1BPUlRfVEJUX0FMVCk7CisKKwlpZiAoaW50ZWxfdW5jb3Jl X3JlYWQodW5jb3JlLCBTREVJU1IpICYgaXNyX2JpdCkKKwkJbWFzayB8PSBCSVQoVENfUE9SVF9M RUdBQ1kpOworCisJLyogVGhlIHNpbmsgY2FuIGJlIGNvbm5lY3RlZCBvbmx5IGluIGEgc2luZ2xl IG1vZGUuICovCisJaWYgKCFkcm1fV0FSTl9PTigmaTkxNS0+ZHJtLCBod2VpZ2h0MzIobWFzaykg PiAxKSkKKwkJdGNfcG9ydF9maXh1cF9sZWdhY3lfZmxhZyhkaWdfcG9ydCwgbWFzayk7CisKKwly ZXR1cm4gbWFzazsKK30KKworc3RhdGljIHUzMiB0Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKKworCWlmIChJ U19BTERFUkxBS0VfUChpOTE1KSkKKwkJcmV0dXJuIGFkbF90Y19wb3J0X2xpdmVfc3RhdHVzX21h c2soZGlnX3BvcnQpOworCisJcmV0dXJuIGljbF90Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soZGln X3BvcnQpOworfQorCiBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwpAQCAtMjU2LDYg KzI5MCwzMyBAQCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKIAlyZXR1cm4gdmFsICYgRFBfUEhZX01PREVf U1RBVFVTX0NPTVBMRVRFRChkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogfQogCitzdGF0aWMg Ym9vbCBhZGxfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9 ICZpOTE1LT51bmNvcmU7CisJdTMyIHZhbDsKKworCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVu Y29yZSwgVENTU19ERElfU1RBVFVTKGRpZ19wb3J0LT50Y19waHlfZmlhX2lkeCkpOworCWlmICh2 YWwgPT0gMHhmZmZmZmZmZikgeworCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAorCQkJICAgICJQ b3J0ICVzOiBQSFkgaW4gVENDT0xELCBhc3N1bWluZyBub3QgY29tcGxldGVcbiIsCisJCQkgICAg ZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4g dmFsICYgVENTU19ERElfU1RBVFVTX1JFQURZOworfQorCitzdGF0aWMgYm9vbCB0Y19waHlfc3Rh dHVzX2NvbXBsZXRlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQoreworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNl LmRldik7CisKKwlpZiAoSVNfQUxERVJMQUtFX1AoaTkxNSkpCisJCXJldHVybiBhZGxfdGNfcGh5 X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCk7CisKKwlyZXR1cm4gaWNsX3RjX3BoeV9zdGF0dXNf Y29tcGxldGUoZGlnX3BvcnQpOworfQorCiBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3Rha2Vfb3du ZXJzaGlwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAogCQkJCSAgICAgIGJv b2wgdGFrZSkKIHsKQEAgLTI4MCw3ICszNDEsNyBAQCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3Rh a2Vfb3duZXJzaGlwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAogCWludGVs X3VuY29yZV93cml0ZSh1bmNvcmUsCiAJCQkgICBQT1JUX1RYX0RGTEVYRFBDU1NTKGRpZ19wb3J0 LT50Y19waHlfZmlhKSwgdmFsKTsKIAotCWlmICghdGFrZSAmJiB3YWl0X2ZvcighaWNsX3RjX3Bo eV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpLCAxMCkpCisJaWYgKCF0YWtlICYmIHdhaXRfZm9y KCF0Y19waHlfc3RhdHVzX2NvbXBsZXRlKGRpZ19wb3J0KSwgMTApKQogCQlkcm1fZGJnX2ttcygm aTkxNS0+ZHJtLAogCQkJICAgICJQb3J0ICVzOiBQSFkgY29tcGxldGUgY2xlYXIgdGltZWQgb3V0 XG4iLAogCQkJICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOwpAQCAtMjg4LDYgKzM0OSwzNCBA QCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3Rha2Vfb3duZXJzaGlwKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0LAogCXJldHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBhZGxf dGNfcGh5X3Rha2Vfb3duZXJzaGlwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 LAorCQkJCSAgICAgIGJvb2wgdGFrZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF91bmNv cmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CisJZW51bSBwb3J0IHBvcnQgPSBkaWdfcG9ydC0+ YmFzZS5wb3J0OworCXUzMiB2YWw7CisKKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUs IERESV9CVUZfQ1RMKHBvcnQpKTsKKwlpZiAodGFrZSkKKwkJdmFsIHw9IERESV9CVUZfQ1RMX1RD X1BIWV9PV05FUlNISVA7CisJZWxzZQorCQl2YWwgJj0gfkRESV9CVUZfQ1RMX1RDX1BIWV9PV05F UlNISVA7CisJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwgRERJX0JVRl9DVEwocG9ydCksIHZh bCk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGJvb2wgdGNfcGh5X3Rha2Vfb3duZXJz aGlwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LCBib29sIHRha2UpCit7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKKworCWlmIChJU19BTERFUkxBS0VfUChpOTE1KSkKKwkJcmV0dXJuIGFkbF90Y19w aHlfdGFrZV9vd25lcnNoaXAoZGlnX3BvcnQsIHRha2UpOworCisJcmV0dXJuIGljbF90Y19waHlf dGFrZV9vd25lcnNoaXAoZGlnX3BvcnQsIHRha2UpOworfQorCiBzdGF0aWMgYm9vbCBpY2xfdGNf cGh5X2lzX293bmVkKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNl LmRldik7CkBAIC0zMDYsNiArMzk1LDI3IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfaXNfb3du ZWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCiAJcmV0dXJuIHZhbCAmIERQ X1BIWV9NT0RFX1NUQVRVU19OT1RfU0FGRShkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogfQog CitzdGF0aWMgYm9vbCBhZGxfdGNfcGh5X2lzX293bmVkKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkx NShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3Jl ID0gJmk5MTUtPnVuY29yZTsKKwllbnVtIHBvcnQgcG9ydCA9IGRpZ19wb3J0LT5iYXNlLnBvcnQ7 CisJdTMyIHZhbDsKKworCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgRERJX0JVRl9D VEwocG9ydCkpOworCXJldHVybiB2YWwgJiBERElfQlVGX0NUTF9UQ19QSFlfT1dORVJTSElQOwor fQorCitzdGF0aWMgYm9vbCB0Y19waHlfaXNfb3duZWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZGlnX3BvcnQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1 KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKKworCWlmIChJU19BTERFUkxBS0VfUChpOTE1KSkK KwkJcmV0dXJuIGFkbF90Y19waHlfaXNfb3duZWQoZGlnX3BvcnQpOworCisJcmV0dXJuIGljbF90 Y19waHlfaXNfb3duZWQoZGlnX3BvcnQpOworfQorCiAvKgogICogVGhpcyBmdW5jdGlvbiBpbXBs ZW1lbnRzIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBDb25uZWN0IEZsb3cgZGVzY3JpYmVkIGJ5IG91 cgogICogc3BlY2lmaWNhdGlvbiwgR2VuMTEgVHlwZUMgUHJvZ3JhbW1pbmcgY2hhcHRlci4gVGhl IHJlc3Qgb2YgdGhlIGZsb3cgKHJlYWRpbmcKQEAgLTMyMywxMyArNDMzLDEzIEBAIHN0YXRpYyB2 b2lkIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJh c2UuYmFzZS5kZXYpOwogCWludCBtYXhfbGFuZXM7CiAKLQlpZiAoIWljbF90Y19waHlfc3RhdHVz X2NvbXBsZXRlKGRpZ19wb3J0KSkgeworCWlmICghdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdf cG9ydCkpIHsKIAkJZHJtX2RiZ19rbXMoJmk5MTUtPmRybSwgIlBvcnQgJXM6IFBIWSBub3QgcmVh ZHlcbiIsCiAJCQkgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7CiAJCWdvdG8gb3V0X3NldF90 YnRfYWx0X21vZGU7CiAJfQogCi0JaWYgKCFpY2xfdGNfcGh5X3Rha2Vfb3duZXJzaGlwKGRpZ19w b3J0LCB0cnVlKSAmJgorCWlmICghdGNfcGh5X3Rha2Vfb3duZXJzaGlwKGRpZ19wb3J0LCB0cnVl KSAmJgogCSAgICAhZHJtX1dBUk5fT04oJmk5MTUtPmRybSwgZGlnX3BvcnQtPnRjX2xlZ2FjeV9w b3J0KSkKIAkJZ290byBvdXRfc2V0X3RidF9hbHRfbW9kZTsKIApAQCAtMzY0LDcgKzQ3NCw3IEBA IHN0YXRpYyB2b2lkIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCwKIAlyZXR1cm47CiAKIG91dF9yZWxlYXNlX3BoeToKLQlpY2xfdGNfcGh5X3Rh a2Vfb3duZXJzaGlwKGRpZ19wb3J0LCBmYWxzZSk7CisJdGNfcGh5X3Rha2Vfb3duZXJzaGlwKGRp Z19wb3J0LCBmYWxzZSk7CiBvdXRfc2V0X3RidF9hbHRfbW9kZToKIAlkaWdfcG9ydC0+dGNfbW9k ZSA9IFRDX1BPUlRfVEJUX0FMVDsKIH0KQEAgLTM4MCw3ICs0OTAsNyBAQCBzdGF0aWMgdm9pZCBp Y2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQp CiAJCS8qIE5vdGhpbmcgdG8gZG8sIHdlIG5ldmVyIGRpc2Nvbm5lY3QgZnJvbSBsZWdhY3kgbW9k ZSAqLwogCQlicmVhazsKIAljYXNlIFRDX1BPUlRfRFBfQUxUOgotCQlpY2xfdGNfcGh5X3Rha2Vf b3duZXJzaGlwKGRpZ19wb3J0LCBmYWxzZSk7CisJCXRjX3BoeV90YWtlX293bmVyc2hpcChkaWdf cG9ydCwgZmFsc2UpOwogCQlkaWdfcG9ydC0+dGNfbW9kZSA9IFRDX1BPUlRfVEJUX0FMVDsKIAkJ YnJlYWs7CiAJY2FzZSBUQ19QT1JUX1RCVF9BTFQ6CkBAIC0zOTUsMTMgKzUwNSwxMyBAQCBzdGF0 aWMgYm9vbCBpY2xfdGNfcGh5X2lzX2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwogCi0JaWYgKCFpY2xfdGNfcGh5X3N0YXR1c19jb21w bGV0ZShkaWdfcG9ydCkpIHsKKwlpZiAoIXRjX3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQp KSB7CiAJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJQb3J0ICVzOiBQSFkgc3RhdHVzIG5vdCBj b21wbGV0ZVxuIiwKIAkJCSAgICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lKTsKIAkJcmV0dXJuIGRp Z19wb3J0LT50Y19tb2RlID09IFRDX1BPUlRfVEJUX0FMVDsKIAl9CiAKLQlpZiAoIWljbF90Y19w aHlfaXNfb3duZWQoZGlnX3BvcnQpKSB7CisJaWYgKCF0Y19waHlfaXNfb3duZWQoZGlnX3BvcnQp KSB7CiAJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJQb3J0ICVzOiBQSFkgbm90IG93bmVkXG4i LAogCQkJICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOwogCkBAIC00MTksOCArNTI5LDggQEAg aW50ZWxfdGNfcG9ydF9nZXRfY3VycmVudF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0KQogCXUzMiBsaXZlX3N0YXR1c19tYXNrID0gdGNfcG9ydF9saXZlX3N0YXR1c19t YXNrKGRpZ19wb3J0KTsKIAllbnVtIHRjX3BvcnRfbW9kZSBtb2RlOwogCi0JaWYgKCFpY2xfdGNf cGh5X2lzX293bmVkKGRpZ19wb3J0KSB8fAotCSAgICBkcm1fV0FSTl9PTigmaTkxNS0+ZHJtLCAh aWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpKSkKKwlpZiAoIXRjX3BoeV9pc19v d25lZChkaWdfcG9ydCkgfHwKKwkgICAgZHJtX1dBUk5fT04oJmk5MTUtPmRybSwgIXRjX3BoeV9z dGF0dXNfY29tcGxldGUoZGlnX3BvcnQpKSkKIAkJcmV0dXJuIFRDX1BPUlRfVEJUX0FMVDsKIAog CW1vZGUgPSBkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQgPyBUQ19QT1JUX0xFR0FDWSA6IFRDX1BP UlRfRFBfQUxUOwpAQCAtNDQyLDcgKzU1Miw3IEBAIGludGVsX3RjX3BvcnRfZ2V0X3RhcmdldF9t b2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogCWlmIChsaXZlX3N0YXR1 c19tYXNrKQogCQlyZXR1cm4gZmxzKGxpdmVfc3RhdHVzX21hc2spIC0gMTsKIAotCXJldHVybiBp Y2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCkgJiYKKwlyZXR1cm4gdGNfcGh5X3N0 YXR1c19jb21wbGV0ZShkaWdfcG9ydCkgJiYKIAkgICAgICAgZGlnX3BvcnQtPnRjX2xlZ2FjeV9w b3J0ID8gVENfUE9SVF9MRUdBQ1kgOgogCQkJCQkgIFRDX1BPUlRfVEJUX0FMVDsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IDhhMDRkY2FmMDU2ZC4uNWIzNzhlNTA5MWZhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKQEAgLTEwMTUxLDYgKzEwMTUxLDcgQEAgZW51bSBza2xfcG93ZXJf Z2F0ZSB7CiAjZGVmaW5lICBERElfQlVGX0VNUF9NQVNLCQkJKDB4ZiA8PCAyNCkKICNkZWZpbmUg IERESV9CVUZfUE9SVF9SRVZFUlNBTAkJCSgxIDw8IDE2KQogI2RlZmluZSAgRERJX0JVRl9JU19J RExFCQkJKDEgPDwgNykKKyNkZWZpbmUgIERESV9CVUZfQ1RMX1RDX1BIWV9PV05FUlNISVAJCVJF R19CSVQoNikKICNkZWZpbmUgIERESV9BXzRfTEFORVMJCQkJKDEgPDwgNCkKICNkZWZpbmUgIERE SV9QT1JUX1dJRFRIKHdpZHRoKQkJCSgoKHdpZHRoKSAtIDEpIDw8IDEpCiAjZGVmaW5lICBERElf UE9SVF9XSURUSF9NQVNLCQkJKDcgPDwgMSkKQEAgLTEyNTgzLDYgKzEyNTg0LDE1IEBAIGVudW0g c2tsX3Bvd2VyX2dhdGUgewogI2RlZmluZSAgIERQX1BJTl9BU1NJR05NRU5UX01BU0soaWR4KQkJ KDB4ZiA8PCAoKGlkeCkgKiA0KSkKICNkZWZpbmUgICBEUF9QSU5fQVNTSUdOTUVOVChpZHgsIHgp CQkoKHgpIDw8ICgoaWR4KSAqIDQpKQogCisjZGVmaW5lIF9UQ1NTX0RESV9TVEFUVVNfMQkJCTB4 MTYxNTAwCisjZGVmaW5lIF9UQ1NTX0RESV9TVEFUVVNfMgkJCTB4MTYxNTA0CisjZGVmaW5lIFRD U1NfRERJX1NUQVRVUyh0YykJCQlfTU1JTyhfUElDS19FVkVOKHRjLCBcCisJCQkJCQkJCSBfVENT U19ERElfU1RBVFVTXzEsIFwKKwkJCQkJCQkJIF9UQ1NTX0RESV9TVEFUVVNfMikpCisjZGVmaW5l ICBUQ1NTX0RESV9TVEFUVVNfUkVBRFkJCQlSRUdfQklUKDIpCisjZGVmaW5lICBUQ1NTX0RESV9T VEFUVVNfSFBEX0xJVkVfU1RBVFVTX1RCVAlSRUdfQklUKDEpCisjZGVmaW5lICBUQ1NTX0RESV9T VEFUVVNfSFBEX0xJVkVfU1RBVFVTX0FMVAlSRUdfQklUKDApCisKIC8qIFRoaXMgcmVnaXN0ZXIg Y29udHJvbHMgdGhlIERpc3BsYXkgU3RhdGUgQnVmZmVyIChEU0IpIGVuZ2luZXMuICovCiAjZGVm aW5lIF9EU0JTTF9JTlNUQU5DRV9CQVNFCQkweDcwQjAwCiAjZGVmaW5lIERTQlNMX0lOU1RBTkNF KHBpcGUsIGlkKQkoX0RTQlNMX0lOU1RBTkNFX0JBU0UgKyBcCi0tIAoyLjI1LjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=