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.7 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 A0348C433DF for ; Mon, 19 Oct 2020 21:43:59 +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 3904F2231B for ; Mon, 19 Oct 2020 21:43:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3904F2231B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.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 B3DCD6EB35; Mon, 19 Oct 2020 21:43:58 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 838296EB35 for ; Mon, 19 Oct 2020 21:43:57 +0000 (UTC) IronPort-SDR: TV0ZkWRNde/t43mHyki50MhPo9OaevEl6ndkw3MxIwieoalNKMOBi0xR0hSf0FwCdwEbYQRMtr sYePKvheMxfQ== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="167196912" X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="167196912" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2020 14:43:52 -0700 IronPort-SDR: N5B9//TsQJVWTtfJk7DOgQylI9IpMLxWFFHX0064qW8iMvIrq2mLMMkPZ71dpN938v/o4oQWsZ eHUmpMe441fg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="301526147" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga007.fm.intel.com with SMTP; 19 Oct 2020 14:43:49 -0700 Received: by stinkbox (sSMTP sendmail emulation); Tue, 20 Oct 2020 00:43:49 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 20 Oct 2020 00:43:35 +0300 Message-Id: <20201019214337.19330-5-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201019214337.19330-1-ville.syrjala@linux.intel.com> References: <20201019214337.19330-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 5/7] drm/i915: Pimp HSW+ transcoder state readout 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk anVzdCB0aGUgSFNXKyB0cmFuc2NvZGVyIHN0YXRlIHJlYWRvdXQgdG8ganVzdCByZWFkIHRocm91 Z2gKYWxsIHRoZSBwb3NzaWJsZSB0cmFuc2NvZGVycyBmb3IgdGhlIHBpcGUsIGFuZCBzdHVmZiB0 aGUgcmVzdWx0cwppbiBhIGJpdG1hc2suCgpXZSBjYW4gY29udmVuaWVudGx5IGNyb3NzIGNoZWNr IHRoZSBiaXRtYXNrIGZvciBpbnZhbGlkCmNvbWJpbmF0aW9ucyBvZiBlbmFibGVkIHRyYW5zY29k ZXJzLCBhbmQgbGF0ZXIgd2UgY2FuIGVhc2lseQpleHRlbmQgdGhlIGJpdG1hc2sgcmVhZG91dCB0 byBoYW5kbGUgdGhlIGJpZ2pvaW5lciBjYXNlLgoKT25lIHNsaWdodCBjaGFuZ2UgaW4gYmVoYXZp b3VyIGlzIHRoYXQgd2Ugbm8gbG9uZ2VyIHJlYWQgb3V0CnRoZSBBT05PRkYtPmZvcmNlX3BmaXQu cGZpdCBiaXQgZm9yIGFsbCB0aGUgZW5hYmxlZCAicGFuZWwKdHJhbnNjb2RlcnMiLiBCdXQgaGF2 aW5nIG1vcmUgdGhhbiBvbmUgZW5hYmxlZCB3b3VsZCBhbnl3YXkKYmUgaWxsZWdhbCBzbyBubyBi aWcgbG9zcy4gQWxzbyB0aGUgQU9OT0ZGIHNlbGVjdGlvbiBzaG91bGQKb25seSBldmVyIGJlIHVz ZWQgb24gSFNXLCB3aGljaCBvbmx5IGhhcyB0aGUgRURQIHRyYW5zY29kZXIKYW4gbm8gRFNJIHRy YW5zY29kZXJzLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXkuYyB8IDEzOCArKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAw IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMjQyNmE0NTJiM2JiLi41NmZkNWU4Y2E1NTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0x MTAzMiw2ICsxMTAzMiwyMSBAQCBzdGF0aWMgdm9pZCBoc3dfZ2V0X2RkaV9wbGwoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCwKIAlwaXBlX2NvbmZpZy0+ c2hhcmVkX2RwbGwgPSBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfYnlfaWQoZGV2X3ByaXYsIGlkKTsK IH0KIAorc3RhdGljIGJvb2wgdHJhbnNjb2Rlcl9kZGlfZnVuY19pc19lbmFibGVkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICAgZW51bSB0cmFuc2NvZGVyIGNwdV90 cmFuc2NvZGVyKQoreworCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9t YWluOworCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCXUzMiB0bXAgPSAwOworCisJcG93ZXJf ZG9tYWluID0gUE9XRVJfRE9NQUlOX1RSQU5TQ09ERVIoY3B1X3RyYW5zY29kZXIpOworCisJd2l0 aF9pbnRlbF9kaXNwbGF5X3Bvd2VyX2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbiwg d2FrZXJlZikKKwkJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgVFJBTlNfRERJX0ZVTkNf Q1RMKGNwdV90cmFuc2NvZGVyKSk7CisKKwlyZXR1cm4gdG1wICYgVFJBTlNfRERJX0ZVTkNfRU5B QkxFOworfQorCiBzdGF0aWMgdTggaHN3X3BhbmVsX3RyYW5zY29kZXJzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogewogCXU4IHBhbmVsX3RyYW5zY29kZXJfbWFzayA9IEJJVChUUkFO U0NPREVSX0VEUCk7CkBAIC0xMTA0Miw1OCArMTEwNTcsMzkgQEAgc3RhdGljIHU4IGhzd19wYW5l bF90cmFuc2NvZGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlyZXR1cm4gcGFu ZWxfdHJhbnNjb2Rlcl9tYXNrOwogfQogCi1zdGF0aWMgYm9vbCBoc3dfZ2V0X3RyYW5zY29kZXJf c3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCi0JCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqcGlwZV9jb25maWcsCi0JCQkJICAgICB1NjQgKnBvd2VyX2RvbWFpbl9tYXNrLAot CQkJCSAgICAgaW50ZWxfd2FrZXJlZl90ICp3YWtlcmVmcykKK3N0YXRpYyB1OCBoc3dfZW5hYmxl ZF90cmFuc2NvZGVycyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4g cG93ZXJfZG9tYWluOwogCXU4IHBhbmVsX3RyYW5zY29kZXJfbWFzayA9IGhzd19wYW5lbF90cmFu c2NvZGVycyhkZXZfcHJpdik7Ci0JdW5zaWduZWQgbG9uZyBlbmFibGVkX3BhbmVsX3RyYW5zY29k ZXJzID0gMDsKLQllbnVtIHRyYW5zY29kZXIgcGFuZWxfdHJhbnNjb2RlcjsKLQlpbnRlbF93YWtl cmVmX3Qgd2Y7Ci0JdTMyIHRtcDsKLQotCS8qCi0JICogVGhlIHBpcGUtPnRyYW5zY29kZXIgbWFw cGluZyBpcyBmaXhlZCB3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGVEUAotCSAqIGFuZCBEU0kg dHJhbnNjb2RlcnMgaGFuZGxlZCBiZWxvdy4KLQkgKi8KLQlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5z Y29kZXIgPSAoZW51bSB0cmFuc2NvZGVyKSBjcnRjLT5waXBlOworCWVudW0gdHJhbnNjb2RlciBj cHVfdHJhbnNjb2RlcjsKKwl1OCBlbmFibGVkX3RyYW5zY29kZXJzID0gMDsKIAogCS8qCiAJICog WFhYOiBEbyBpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkIGJlZm9yZSByZWFkaW5n IHRoaXMgKGZvcgogCSAqIGNvbnNpc3RlbmN5IGFuZCBsZXNzIHN1cnByaXNpbmcgY29kZTsgaXQn cyBpbiBhbHdheXMgb24gcG93ZXIpLgogCSAqLwotCWZvcl9lYWNoX2NwdV90cmFuc2NvZGVyX21h c2tlZChkZXZfcHJpdiwgcGFuZWxfdHJhbnNjb2RlciwKKwlmb3JfZWFjaF9jcHVfdHJhbnNjb2Rl cl9tYXNrZWQoZGV2X3ByaXYsIGNwdV90cmFuc2NvZGVyLAogCQkJCSAgICAgICBwYW5lbF90cmFu c2NvZGVyX21hc2spIHsKLQkJYm9vbCBmb3JjZV90aHJ1ID0gZmFsc2U7CisJCWVudW0gaW50ZWxf ZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOworCQlpbnRlbF93YWtlcmVmX3Qgd2Fr ZXJlZjsKIAkJZW51bSBwaXBlIHRyYW5zX3BpcGU7CisJCXUzMiB0bXAgPSAwOworCisJCXBvd2Vy X2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9UUkFOU0NPREVSKGNwdV90cmFuc2NvZGVyKTsKKwkJd2l0 aF9pbnRlbF9kaXNwbGF5X3Bvd2VyX2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbiwg d2FrZXJlZikKKwkJCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFRSQU5TX0RESV9GVU5D X0NUTChjcHVfdHJhbnNjb2RlcikpOwogCi0JCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYs Ci0JCQkJICAgIFRSQU5TX0RESV9GVU5DX0NUTChwYW5lbF90cmFuc2NvZGVyKSk7CiAJCWlmICgh KHRtcCAmIFRSQU5TX0RESV9GVU5DX0VOQUJMRSkpCiAJCQljb250aW51ZTsKIAotCQkvKgotCQkg KiBMb2cgYWxsIGVuYWJsZWQgb25lcywgb25seSB1c2UgdGhlIGZpcnN0IG9uZS4KLQkJICoKLQkJ ICogRklYTUU6IFRoaXMgd29uJ3Qgd29yayBmb3IgdHdvIHNlcGFyYXRlIERTSSBkaXNwbGF5cy4K LQkJICovCi0JCWVuYWJsZWRfcGFuZWxfdHJhbnNjb2RlcnMgfD0gQklUKHBhbmVsX3RyYW5zY29k ZXIpOwotCQlpZiAoZW5hYmxlZF9wYW5lbF90cmFuc2NvZGVycyAhPSBCSVQocGFuZWxfdHJhbnNj b2RlcikpCi0JCQljb250aW51ZTsKLQogCQlzd2l0Y2ggKHRtcCAmIFRSQU5TX0RESV9FRFBfSU5Q VVRfTUFTSykgewogCQlkZWZhdWx0OgogCQkJZHJtX1dBUk4oZGV2LCAxLAogCQkJCSAidW5rbm93 biBwaXBlIGxpbmtlZCB0byB0cmFuc2NvZGVyICVzXG4iLAotCQkJCSB0cmFuc2NvZGVyX25hbWUo cGFuZWxfdHJhbnNjb2RlcikpOworCQkJCSB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIp KTsKIAkJCWZhbGx0aHJvdWdoOwogCQljYXNlIFRSQU5TX0RESV9FRFBfSU5QVVRfQV9PTk9GRjoK LQkJCWZvcmNlX3RocnUgPSB0cnVlOwotCQkJZmFsbHRocm91Z2g7CiAJCWNhc2UgVFJBTlNfRERJ X0VEUF9JTlBVVF9BX09OOgogCQkJdHJhbnNfcGlwZSA9IFBJUEVfQTsKIAkJCWJyZWFrOwpAQCAt MTExMDgsMTcgKzExMTA0LDc2IEBAIHN0YXRpYyBib29sIGhzd19nZXRfdHJhbnNjb2Rlcl9zdGF0 ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCWJyZWFrOwogCQl9CiAKLQkJaWYgKHRyYW5z X3BpcGUgPT0gY3J0Yy0+cGlwZSkgewotCQkJcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0g cGFuZWxfdHJhbnNjb2RlcjsKLQkJCXBpcGVfY29uZmlnLT5wY2hfcGZpdC5mb3JjZV90aHJ1ID0g Zm9yY2VfdGhydTsKLQkJfQorCQlpZiAodHJhbnNfcGlwZSA9PSBjcnRjLT5waXBlKQorCQkJZW5h YmxlZF90cmFuc2NvZGVycyB8PSBCSVQoY3B1X3RyYW5zY29kZXIpOwogCX0KIAorCWNwdV90cmFu c2NvZGVyID0gKGVudW0gdHJhbnNjb2RlcikgY3J0Yy0+cGlwZTsKKwlpZiAodHJhbnNjb2Rlcl9k ZGlfZnVuY19pc19lbmFibGVkKGRldl9wcml2LCBjcHVfdHJhbnNjb2RlcikpCisJCWVuYWJsZWRf dHJhbnNjb2RlcnMgfD0gQklUKGNwdV90cmFuc2NvZGVyKTsKKworCXJldHVybiBlbmFibGVkX3Ry YW5zY29kZXJzOworfQorCitzdGF0aWMgYm9vbCBoYXNfZWRwX3RyYW5zY29kZXJzKHU4IGVuYWJs ZWRfdHJhbnNjb2RlcnMpCit7CisJcmV0dXJuIGVuYWJsZWRfdHJhbnNjb2RlcnMgJiBCSVQoVFJB TlNDT0RFUl9FRFApOworfQorCitzdGF0aWMgYm9vbCBoYXNfZHNpX3RyYW5zY29kZXJzKHU4IGVu YWJsZWRfdHJhbnNjb2RlcnMpCit7CisJcmV0dXJuIGVuYWJsZWRfdHJhbnNjb2RlcnMgJiAoQklU KFRSQU5TQ09ERVJfRFNJXzApIHwKKwkJCQkgICAgICBCSVQoVFJBTlNDT0RFUl9EU0lfMSkpOwor fQorCitzdGF0aWMgYm9vbCBoYXNfcGlwZV90cmFuc2NvZGVycyh1OCBlbmFibGVkX3RyYW5zY29k ZXJzKQoreworCXJldHVybiBlbmFibGVkX3RyYW5zY29kZXJzICYgfihCSVQoVFJBTlNDT0RFUl9F RFApIHwKKwkJCQkgICAgICAgQklUKFRSQU5TQ09ERVJfRFNJXzApIHwKKwkJCQkgICAgICAgQklU KFRSQU5TQ09ERVJfRFNJXzEpKTsKK30KKworc3RhdGljIHZvaWQgYXNzZXJ0X2VuYWJsZWRfdHJh bnNjb2RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCQkJICAgICAgIHU4IGVu YWJsZWRfdHJhbnNjb2RlcnMpCit7CisJLyogT25seSBvbmUgdHlwZSBvZiB0cmFuc2NvZGVyIHBs ZWFzZSAqLworCWRybV9XQVJOX09OKCZpOTE1LT5kcm0sCisJCSAgICBoYXNfZWRwX3RyYW5zY29k ZXJzKGVuYWJsZWRfdHJhbnNjb2RlcnMpICsKKwkJICAgIGhhc19kc2lfdHJhbnNjb2RlcnMoZW5h YmxlZF90cmFuc2NvZGVycykgKworCQkgICAgaGFzX3BpcGVfdHJhbnNjb2RlcnMoZW5hYmxlZF90 cmFuc2NvZGVycykgPiAxKTsKKworCS8qIE9ubHkgRFNJIHRyYW5zY29kZXJzIGNhbiBiZSBnYW5n ZWQgKi8KKwlkcm1fV0FSTl9PTigmaTkxNS0+ZHJtLAorCQkgICAgIWhhc19kc2lfdHJhbnNjb2Rl cnMoZW5hYmxlZF90cmFuc2NvZGVycykgJiYKKwkJICAgICFpc19wb3dlcl9vZl8yKGVuYWJsZWRf dHJhbnNjb2RlcnMpKTsKK30KKworc3RhdGljIGJvb2wgaHN3X2dldF90cmFuc2NvZGVyX3N0YXRl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAorCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnLAorCQkJCSAgICAgdTY0ICpwb3dlcl9kb21haW5fbWFzaywKKwkJCQkg ICAgIGludGVsX3dha2VyZWZfdCAqd2FrZXJlZnMpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKKwllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBvd2VyX2Rv bWFpbjsKKwl1bnNpZ25lZCBsb25nIGVuYWJsZWRfdHJhbnNjb2RlcnM7CisJaW50ZWxfd2FrZXJl Zl90IHdmOworCXUzMiB0bXA7CisKKwllbmFibGVkX3RyYW5zY29kZXJzID0gaHN3X2VuYWJsZWRf dHJhbnNjb2RlcnMoY3J0Yyk7CisJaWYgKCFlbmFibGVkX3RyYW5zY29kZXJzKQorCQlyZXR1cm4g ZmFsc2U7CisKKwlhc3NlcnRfZW5hYmxlZF90cmFuc2NvZGVycyhkZXZfcHJpdiwgZW5hYmxlZF90 cmFuc2NvZGVycyk7CisKIAkvKgotCSAqIFZhbGlkIGNvbWJvczogbm9uZSwgZURQLCBEU0kwLCBE U0kxLCBEU0kwK0RTSTEKKwkgKiBXaXRoIHRoZSBleGNlcHRpb24gb2YgRFNJIHdlIHNob3VsZCBv bmx5IGV2ZXIgaGF2ZQorCSAqIGEgc2luZ2xlIGVuYWJsZWQgdHJhbnNjb2Rlci4gV2l0aCBEU0kg bGV0J3MganVzdAorCSAqIHBpY2sgdGhlIGZpcnN0IG9uZS4KKwkgKgorCSAqIEZJWE1FOiBUaGlz IHdvbid0IHdvcmsgZm9yIHR3byBzZXBhcmF0ZSBEU0kgZGlzcGxheXMuCiAJICovCi0JZHJtX1dB Uk5fT04oZGV2LCAoZW5hYmxlZF9wYW5lbF90cmFuc2NvZGVycyAmIEJJVChUUkFOU0NPREVSX0VE UCkpICYmCi0JCSAgICBlbmFibGVkX3BhbmVsX3RyYW5zY29kZXJzICE9IEJJVChUUkFOU0NPREVS X0VEUCkpOworCXBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlciA9IGZmcyhlbmFibGVkX3RyYW5z Y29kZXJzKSAtIDE7CiAKIAlwb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5fVFJBTlNDT0RFUihw aXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIpOwogCWRybV9XQVJOX09OKGRldiwgKnBvd2VyX2Rv bWFpbl9tYXNrICYgQklUX1VMTChwb3dlcl9kb21haW4pKTsKQEAgLTExMTI3LDYgKzExMTgyLDEz IEBAIHN0YXRpYyBib29sIGhzd19nZXRfdHJhbnNjb2Rlcl9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKIAlpZiAoIXdmKQogCQlyZXR1cm4gZmFsc2U7CiAKKwlpZiAoaHN3X3BhbmVsX3Ry YW5zY29kZXJzKGRldl9wcml2KSAmIEJJVChwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIpKSB7 CisJCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFRSQU5TX0RESV9GVU5DX0NUTChwaXBl X2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIpKTsKKworCQlpZiAoKHRtcCAmIFRSQU5TX0RESV9FRFBf SU5QVVRfTUFTSykgPT0gVFJBTlNfRERJX0VEUF9JTlBVVF9BX09OT0ZGKQorCQkJcGlwZV9jb25m aWctPnBjaF9wZml0LmZvcmNlX3RocnUgPSB0cnVlOworCX0KKwogCXdha2VyZWZzW3Bvd2VyX2Rv bWFpbl0gPSB3ZjsKIAkqcG93ZXJfZG9tYWluX21hc2sgfD0gQklUX1VMTChwb3dlcl9kb21haW4p OwogCi0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=