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=-14.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, 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 425B7C433E6 for ; Thu, 14 Jan 2021 11:14:40 +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 E9C51238A1 for ; Thu, 14 Jan 2021 11:14:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9C51238A1 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 4DCB36E215; Thu, 14 Jan 2021 11:14:39 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D4646E215 for ; Thu, 14 Jan 2021 11:14:38 +0000 (UTC) IronPort-SDR: pLMiCqJePuAXYxWOeHQ8XmccSut8ZVaanI1Zk6S5Mw0paB9QjcDrvS5wYC80PT9EJxp84S0gNp J2dRtU7CHIJw== X-IronPort-AV: E=McAfee;i="6000,8403,9863"; a="239893303" X-IronPort-AV: E=Sophos;i="5.79,347,1602572400"; d="scan'208";a="239893303" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jan 2021 03:14:37 -0800 IronPort-SDR: ZQHC7pu82DotmBkuYwtxlygb2iqEsYjFdn+NIXMMyadzrImg3C+Rt3Bnp1wcfiSpyyGt9DHphG QK/FHDjG4kqA== X-IronPort-AV: E=Sophos;i="5.79,347,1602572400"; d="scan'208";a="465220957" Received: from dforourk-mobl1.ger.corp.intel.com (HELO localhost) ([10.213.254.146]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jan 2021 03:14:34 -0800 From: Jani Nikula To: intel-gfx@lists.freedesktop.org Date: Thu, 14 Jan 2021 13:13:49 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 05/11] drm/i915: migrate hsw fdi code to new file. 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: jani.nikula@intel.com, Dave Airlie Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkRhbmllbCBhc2tlZCBmb3Ig dGhpcywgYnV0IGl0J3MgYSBiaXQgbWVzc3kgYW5kIEknbSBub3Qgc3VyZQpob3cgYmVzdCB0byBj bGVhbiBpdCB1cCB5ZXQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRo YXQuY29tPgpbSmFuaTogYWxzbyBtb3ZlZCBmZGkgYnVmIHRyYW5zIHRvIGludGVsX2ZkaS5jLl0K U2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jIHwgICAxICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgfCAxNTEgKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmggfCAgIDggKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmMgfCAxMzkgKysrKysrKysr KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5oIHwg ICAzICsKIDUgZmlsZXMgY2hhbmdlZCwgMTU2IGluc2VydGlvbnMoKyksIDE0NiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYwppbmRleCA0OTM0ZWRk NTFjYjAuLjA3N2ViYzdlNjM5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9jcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2NydC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiaW50ZWxfY3J0LmgiCiAjaW5jbHVk ZSAiaW50ZWxfZGRpLmgiCiAjaW5jbHVkZSAiaW50ZWxfZGlzcGxheV90eXBlcy5oIgorI2luY2x1 ZGUgImludGVsX2ZkaS5oIgogI2luY2x1ZGUgImludGVsX2ZpZm9fdW5kZXJydW4uaCIKICNpbmNs dWRlICJpbnRlbF9nbWJ1cy5oIgogI2luY2x1ZGUgImludGVsX2hvdHBsdWcuaCIKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmluZGV4IDFjYWY2NDNlNjQwMC4uNjFhYzFl MWI3YjU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rk aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKQEAgLTM2 LDEwICszNiwxMSBAQAogI2luY2x1ZGUgImludGVsX2RkaV9idWZfdHJhbnMuaCIKICNpbmNsdWRl ICJpbnRlbF9kaXNwbGF5X3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfZHAuaCIKLSNpbmNsdWRl ICJpbnRlbF9kcF9tc3QuaCIKICNpbmNsdWRlICJpbnRlbF9kcF9saW5rX3RyYWluaW5nLmgiCisj aW5jbHVkZSAiaW50ZWxfZHBfbXN0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZHBpb19waHkuaCIKICNp bmNsdWRlICJpbnRlbF9kc2kuaCIKKyNpbmNsdWRlICJpbnRlbF9mZGkuaCIKICNpbmNsdWRlICJp bnRlbF9maWZvX3VuZGVycnVuLmgiCiAjaW5jbHVkZSAiaW50ZWxfZ21idXMuaCIKICNpbmNsdWRl ICJpbnRlbF9oZGNwLmgiCkBAIC05MCw4ICs5MSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfZGRpX2hk bWlfbGV2ZWwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAgKiB2YWx1ZXMgaW4gYWR2 YW5jZS4gVGhpcyBmdW5jdGlvbiBwcm9ncmFtcyB0aGUgY29ycmVjdCB2YWx1ZXMgZm9yCiAgKiBE UC9lRFAvRkRJIHVzZSBjYXNlcy4KICAqLwotc3RhdGljIHZvaWQgaW50ZWxfcHJlcGFyZV9kcF9k ZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKLQkJCQkJIGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQordm9pZCBpbnRlbF9wcmVwYXJlX2Rw X2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJdTMyIGli b29zdF9iaXQgPSAwOwpAQCAtMTUzLDggKzE1NCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZXBh cmVfaGRtaV9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAg ICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLnRyYW5zMik7CiB9CiAKLXN0YXRpYyB2b2lkIGlu dGVsX3dhaXRfZGRpX2J1Zl9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK LQkJCQkgICAgZW51bSBwb3J0IHBvcnQpCit2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9pZGxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICAgZW51bSBwb3J0IHBvcnQp CiB7CiAJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7CiAJCXVkZWxheSgxNik7CkBAIC0xODIs NyArMTgzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfd2FpdF9kZGlfYnVmX2FjdGl2ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQlwb3J0X25hbWUocG9ydCkpOwogfQogCi1z dGF0aWMgdTMyIGhzd19wbGxfdG9fZGRpX3BsbF9zZWwoY29uc3Qgc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICpwbGwpCit1MzIgaHN3X3BsbF90b19kZGlfcGxsX3NlbChjb25zdCBzdHJ1Y3QgaW50 ZWxfc2hhcmVkX2RwbGwgKnBsbCkKIHsKIAlzd2l0Y2ggKHBsbC0+aW5mby0+aWQpIHsKIAljYXNl IERQTExfSURfV1JQTEwxOgpAQCAtMjQyLDE0NCArMjQzLDYgQEAgc3RhdGljIHUzMiBpY2xfcGxs X3RvX2RkaV9jbGtfc2VsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCX0KIH0KIAot LyogU3RhcnRpbmcgd2l0aCBIYXN3ZWxsLCBkaWZmZXJlbnQgRERJIHBvcnRzIGNhbiB3b3JrIGlu IEZESSBtb2RlIGZvcgotICogY29ubmVjdGlvbiB0byB0aGUgUENILWxvY2F0ZWQgY29ubmVjdG9y cy4gRm9yIHRoaXMsIGl0IGlzIG5lY2Vzc2FyeSB0byB0cmFpbgotICogYm90aCB0aGUgRERJIHBv cnQgYW5kIFBDSCByZWNlaXZlciBmb3IgdGhlIGRlc2lyZWQgRERJIGJ1ZmZlciBzZXR0aW5ncy4K LSAqCi0gKiBUaGUgcmVjb21tZW5kZWQgcG9ydCB0byB3b3JrIGluIEZESSBtb2RlIGlzIERESSBF LCB3aGljaCB3ZSB1c2UgaGVyZS4gQWxzbywKLSAqIHBsZWFzZSBub3RlIHRoYXQgd2hlbiBGREkg bW9kZSBpcyBhY3RpdmUgb24gRERJIEUsIGl0IHNoYXJlcyAyIGxpbmVzIHdpdGgKLSAqIERESSBB ICh3aGljaCBpcyB1c2VkIGZvciBlRFApCi0gKi8KLQotdm9pZCBoc3dfZmRpX2xpbmtfdHJhaW4o c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCi0JCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKLXsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKLQl1MzIgdGVtcCwgaSwgcnhf Y3RsX3ZhbCwgZGRpX3BsbF9zZWw7Ci0JaW50IG5fZW50cmllczsKLQotCWludGVsX2RkaV9nZXRf YnVmX3RyYW5zX2ZkaShkZXZfcHJpdiwgJm5fZW50cmllcyk7Ci0KLQlpbnRlbF9wcmVwYXJlX2Rw X2RkaV9idWZmZXJzKGVuY29kZXIsIGNydGNfc3RhdGUpOwotCi0JLyogU2V0IHRoZSBGRElfUlhf TUlTQyBwd3JkbiBsYW5lcyBhbmQgdGhlIDIgd29ya2Fyb3VuZHMgbGlzdGVkIGF0IHRoZQotCSAq IG1vZGUgc2V0ICJzZXF1ZW5jZSBmb3IgQ1JUIHBvcnQiIGRvY3VtZW50OgotCSAqIC0gVFAxIHRv IFRQMiB0aW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUKLQkgKiAtIEZESSBkZWxheSB0byA5MGgK LQkgKgotCSAqIFdhRkRJQXV0b0xpbmtTZXRUaW1pbmdPdmVycnJpZGU6aHN3Ci0JICovCi0JaW50 ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9NSVNDKFBJUEVfQSksCi0JCSAgICAgICBGRElf UlhfUFdSRE5fTEFORTFfVkFMKDIpIHwgRkRJX1JYX1BXUkROX0xBTkUwX1ZBTCgyKSB8IEZESV9S WF9UUDFfVE9fVFAyXzQ4IHwgRkRJX1JYX0ZESV9ERUxBWV85MCk7Ci0KLQkvKiBFbmFibGUgdGhl IFBDSCBSZWNlaXZlciBGREkgUExMICovCi0JcnhfY3RsX3ZhbCA9IGRldl9wcml2LT5mZGlfcnhf Y29uZmlnIHwgRkRJX1JYX0VOSEFOQ0VfRlJBTUVfRU5BQkxFIHwKLQkJICAgICBGRElfUlhfUExM X0VOQUJMRSB8Ci0JCSAgICAgRkRJX0RQX1BPUlRfV0lEVEgoY3J0Y19zdGF0ZS0+ZmRpX2xhbmVz KTsKLQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpLCByeF9jdGxf dmFsKTsKLQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9B KSk7Ci0JdWRlbGF5KDIyMCk7Ci0KLQkvKiBTd2l0Y2ggZnJvbSBSYXdjbGsgdG8gUENEY2xrICov Ci0JcnhfY3RsX3ZhbCB8PSBGRElfUENEQ0xLOwotCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBG RElfUlhfQ1RMKFBJUEVfQSksIHJ4X2N0bF92YWwpOwotCi0JLyogQ29uZmlndXJlIFBvcnQgQ2xv Y2sgU2VsZWN0ICovCi0JZGRpX3BsbF9zZWwgPSBoc3dfcGxsX3RvX2RkaV9wbGxfc2VsKGNydGNf c3RhdGUtPnNoYXJlZF9kcGxsKTsKLQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgUE9SVF9DTEtf U0VMKFBPUlRfRSksIGRkaV9wbGxfc2VsKTsKLQlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwg ZGRpX3BsbF9zZWwgIT0gUE9SVF9DTEtfU0VMX1NQTEwpOwotCi0JLyogU3RhcnQgdGhlIHRyYWlu aW5nIGl0ZXJhdGluZyB0aHJvdWdoIGF2YWlsYWJsZSB2b2x0YWdlcyBhbmQgZW1waGFzaXMsCi0J ICogdGVzdGluZyBlYWNoIHZhbHVlIHR3aWNlLiAqLwotCWZvciAoaSA9IDA7IGkgPCBuX2VudHJp ZXMgKiAyOyBpKyspIHsKLQkJLyogQ29uZmlndXJlIERQX1RQX0NUTCB3aXRoIGF1dG8tdHJhaW5p bmcgKi8KLQkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0UpLAotCQkJ ICAgICAgIERQX1RQX0NUTF9GRElfQVVUT1RSQUlOIHwKLQkJCSAgICAgICBEUF9UUF9DVExfRU5I QU5DRURfRlJBTUVfRU5BQkxFIHwKLQkJCSAgICAgICBEUF9UUF9DVExfTElOS19UUkFJTl9QQVQx IHwKLQkJCSAgICAgICBEUF9UUF9DVExfRU5BQkxFKTsKLQotCQkvKiBDb25maWd1cmUgYW5kIGVu YWJsZSBERElfQlVGX0NUTCBmb3IgRERJIEUgd2l0aCBuZXh0IHZvbHRhZ2UuCi0JCSAqIERESSBF IGRvZXMgbm90IHN1cHBvcnQgcG9ydCByZXZlcnNhbCwgdGhlIGZ1bmN0aW9uYWxpdHkgaXMKLQkJ ICogYWNoaWV2ZWQgb24gdGhlIFBDSCBzaWRlIGluIEZESV9SWF9DVEwsIHNvIG5vIG5lZWQgdG8g c2V0IHRoZQotCQkgKiBwb3J0IHJldmVyc2FsIGJpdCAqLwotCQlpbnRlbF9kZV93cml0ZShkZXZf cHJpdiwgRERJX0JVRl9DVEwoUE9SVF9FKSwKLQkJCSAgICAgICBERElfQlVGX0NUTF9FTkFCTEUg fCAoKGNydGNfc3RhdGUtPmZkaV9sYW5lcyAtIDEpIDw8IDEpIHwgRERJX0JVRl9UUkFOU19TRUxF Q1QoaSAvIDIpKTsKLQkJaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBERElfQlVGX0NU TChQT1JUX0UpKTsKLQotCQl1ZGVsYXkoNjAwKTsKLQotCQkvKiBQcm9ncmFtIFBDSCBGREkgUmVj ZWl2ZXIgVFUgKi8KLQkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9UVVNJWkUxKFBJ UEVfQSksIFRVX1NJWkUoNjQpKTsKLQotCQkvKiBFbmFibGUgUENIIEZESSBSZWNlaXZlciB3aXRo IGF1dG8tdHJhaW5pbmcgKi8KLQkJcnhfY3RsX3ZhbCB8PSBGRElfUlhfRU5BQkxFIHwgRkRJX0xJ TktfVFJBSU5fQVVUTzsKLQkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQ RV9BKSwgcnhfY3RsX3ZhbCk7Ci0JCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJ X1JYX0NUTChQSVBFX0EpKTsKLQotCQkvKiBXYWl0IGZvciBGREkgcmVjZWl2ZXIgbGFuZSBjYWxp YnJhdGlvbiAqLwotCQl1ZGVsYXkoMzApOwotCi0JCS8qIFVuc2V0IEZESV9SWF9NSVNDIHB3cmRu IGxhbmVzICovCi0JCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBGRElfUlhfTUlTQyhQ SVBFX0EpKTsKLQkJdGVtcCAmPSB+KEZESV9SWF9QV1JETl9MQU5FMV9NQVNLIHwgRkRJX1JYX1BX UkROX0xBTkUwX01BU0spOwotCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX01JU0Mo UElQRV9BKSwgdGVtcCk7Ci0JCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJX1JY X01JU0MoUElQRV9BKSk7Ci0KLQkJLyogV2FpdCBmb3IgRkRJIGF1dG8gdHJhaW5pbmcgdGltZSAq LwotCQl1ZGVsYXkoNSk7Ci0KLQkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERQX1RQ X1NUQVRVUyhQT1JUX0UpKTsKLQkJaWYgKHRlbXAgJiBEUF9UUF9TVEFUVVNfQVVUT1RSQUlOX0RP TkUpIHsKLQkJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAotCQkJCSAgICAiRkRJIGxpbmsg dHJhaW5pbmcgZG9uZSBvbiBzdGVwICVkXG4iLCBpKTsKLQkJCWJyZWFrOwotCQl9Ci0KLQkJLyoK LQkJICogTGVhdmUgdGhpbmdzIGVuYWJsZWQgZXZlbiBpZiB3ZSBmYWlsZWQgdG8gdHJhaW4gRkRJ LgotCQkgKiBSZXN1bHRzIGluIGxlc3MgZmlyZXdvcmtzIGZyb20gdGhlIHN0YXRlIGNoZWNrZXIu Ci0JCSAqLwotCQlpZiAoaSA9PSBuX2VudHJpZXMgKiAyIC0gMSkgewotCQkJZHJtX2VycigmZGV2 X3ByaXYtPmRybSwgIkZESSBsaW5rIHRyYWluaW5nIGZhaWxlZCFcbiIpOwotCQkJYnJlYWs7Ci0J CX0KLQotCQlyeF9jdGxfdmFsICY9IH5GRElfUlhfRU5BQkxFOwotCQlpbnRlbF9kZV93cml0ZShk ZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpLCByeF9jdGxfdmFsKTsKLQkJaW50ZWxfZGVfcG9z dGluZ19yZWFkKGRldl9wcml2LCBGRElfUlhfQ1RMKFBJUEVfQSkpOwotCi0JCXRlbXAgPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBERElfQlVGX0NUTChQT1JUX0UpKTsKLQkJdGVtcCAmPSB+RERJ X0JVRl9DVExfRU5BQkxFOwotCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JVRl9DVEwo UE9SVF9FKSwgdGVtcCk7Ci0JCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRERJX0JV Rl9DVEwoUE9SVF9FKSk7Ci0KLQkJLyogRGlzYWJsZSBEUF9UUF9DVEwgYW5kIEZESV9SWF9DVEwg YW5kIHJldHJ5ICovCi0JCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBEUF9UUF9DVEwo UE9SVF9FKSk7Ci0JCXRlbXAgJj0gfihEUF9UUF9DVExfRU5BQkxFIHwgRFBfVFBfQ1RMX0xJTktf VFJBSU5fTUFTSyk7Ci0JCXRlbXAgfD0gRFBfVFBfQ1RMX0xJTktfVFJBSU5fUEFUMTsKLQkJaW50 ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0UpLCB0ZW1wKTsKLQkJaW50ZWxf ZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBEUF9UUF9DVEwoUE9SVF9FKSk7Ci0KLQkJaW50ZWxf d2FpdF9kZGlfYnVmX2lkbGUoZGV2X3ByaXYsIFBPUlRfRSk7Ci0KLQkJLyogUmVzZXQgRkRJX1JY X01JU0MgcHdyZG4gbGFuZXMgKi8KLQkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIEZE SV9SWF9NSVNDKFBJUEVfQSkpOwotCQl0ZW1wICY9IH4oRkRJX1JYX1BXUkROX0xBTkUxX01BU0sg fCBGRElfUlhfUFdSRE5fTEFORTBfTUFTSyk7Ci0JCXRlbXAgfD0gRkRJX1JYX1BXUkROX0xBTkUx X1ZBTCgyKSB8IEZESV9SWF9QV1JETl9MQU5FMF9WQUwoMik7Ci0JCWludGVsX2RlX3dyaXRlKGRl dl9wcml2LCBGRElfUlhfTUlTQyhQSVBFX0EpLCB0ZW1wKTsKLQkJaW50ZWxfZGVfcG9zdGluZ19y ZWFkKGRldl9wcml2LCBGRElfUlhfTUlTQyhQSVBFX0EpKTsKLQl9Ci0KLQkvKiBFbmFibGUgbm9y bWFsIHBpeGVsIHNlbmRpbmcgZm9yIEZESSAqLwotCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBE UF9UUF9DVEwoUE9SVF9FKSwKLQkJICAgICAgIERQX1RQX0NUTF9GRElfQVVUT1RSQUlOIHwKLQkJ ICAgICAgIERQX1RQX0NUTF9MSU5LX1RSQUlOX05PUk1BTCB8Ci0JCSAgICAgICBEUF9UUF9DVExf RU5IQU5DRURfRlJBTUVfRU5BQkxFIHwKLQkJICAgICAgIERQX1RQX0NUTF9FTkFCTEUpOwotfQot CiBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfaW5pdF9kcF9idWZfcmVnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGkuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmgKaW5k ZXggYTRkZDgxNWMwMDAwLi5mOWE5MTZjYWQ3ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kZGkuaApAQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZTsKIHN0cnVjdCBpbnRlbF9kcDsKIHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlOwogc3RydWN0 IGludGVsX2VuY29kZXI7CitzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGw7CiBlbnVtIHRyYW5zY29k ZXI7CiAKIGk5MTVfcmVnX3QgZHBfdHBfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKQEAgLTI3LDggKzI4LDExIEBAIHZvaWQgaW50ZWxfZGRpX2ZkaV9wb3N0X2Rpc2FibGUo c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJc3RydWN0IGludGVsX2VuY29k ZXIgKmludGVsX2VuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlLAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRf Y29ubl9zdGF0ZSk7Ci12b2lkIGhzd19mZGlfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKLQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KTsKK3UzMiBoc3dfcGxsX3RvX2RkaV9wbGxfc2VsKGNvbnN0IHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsKTsKK3ZvaWQgaW50ZWxfcHJlcGFyZV9kcF9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKK3ZvaWQgaW50ZWxfd2FpdF9kZGlfYnVmX2lkbGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICBlbnVtIHBvcnQgcG9ydCk7CiB2b2lkIGlu dGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0 IHBvcnQpOwogYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLCBlbnVtIHBpcGUgKnBpcGUpOwogdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5z Y29kZXJfZnVuYyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5jCmluZGV4IGIyZWI5NmFlMTBhMi4uNzdkZjY3NWU2MDdl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmMKQEAgLTMsNiArMyw4 IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAjaW5jbHVk ZSAiaW50ZWxfYXRvbWljLmgiCisjaW5jbHVkZSAiaW50ZWxfZGRpLmgiCisjaW5jbHVkZSAiaW50 ZWxfZGRpX2J1Zl90cmFucy5oIgogI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKICNp bmNsdWRlICJpbnRlbF9mZGkuaCIKIApAQCAtNTUwLDYgKzU1MiwxNDMgQEAgc3RhdGljIHZvaWQg aXZiX21hbnVhbF9mZGlfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAlkcm1f ZGJnX2ttcygmZGV2X3ByaXYtPmRybSwgIkZESSB0cmFpbiBkb25lLlxuIik7CiB9CiAKKy8qIFN0 YXJ0aW5nIHdpdGggSGFzd2VsbCwgZGlmZmVyZW50IERESSBwb3J0cyBjYW4gd29yayBpbiBGREkg bW9kZSBmb3IKKyAqIGNvbm5lY3Rpb24gdG8gdGhlIFBDSC1sb2NhdGVkIGNvbm5lY3RvcnMuIEZv ciB0aGlzLCBpdCBpcyBuZWNlc3NhcnkgdG8gdHJhaW4KKyAqIGJvdGggdGhlIERESSBwb3J0IGFu ZCBQQ0ggcmVjZWl2ZXIgZm9yIHRoZSBkZXNpcmVkIERESSBidWZmZXIgc2V0dGluZ3MuCisgKgor ICogVGhlIHJlY29tbWVuZGVkIHBvcnQgdG8gd29yayBpbiBGREkgbW9kZSBpcyBEREkgRSwgd2hp Y2ggd2UgdXNlIGhlcmUuIEFsc28sCisgKiBwbGVhc2Ugbm90ZSB0aGF0IHdoZW4gRkRJIG1vZGUg aXMgYWN0aXZlIG9uIERESSBFLCBpdCBzaGFyZXMgMiBsaW5lcyB3aXRoCisgKiBEREkgQSAod2hp Y2ggaXMgdXNlZCBmb3IgZURQKQorICovCit2b2lkIGhzd19mZGlfbGlua190cmFpbihzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCXUzMiB0ZW1wLCBpLCByeF9jdGxfdmFs LCBkZGlfcGxsX3NlbDsKKwlpbnQgbl9lbnRyaWVzOworCisJaW50ZWxfZGRpX2dldF9idWZfdHJh bnNfZmRpKGRldl9wcml2LCAmbl9lbnRyaWVzKTsKKworCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1 ZmZlcnMoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisKKwkvKiBTZXQgdGhlIEZESV9SWF9NSVNDIHB3 cmRuIGxhbmVzIGFuZCB0aGUgMiB3b3JrYXJvdW5kcyBsaXN0ZWQgYXQgdGhlCisJICogbW9kZSBz ZXQgInNlcXVlbmNlIGZvciBDUlQgcG9ydCIgZG9jdW1lbnQ6CisJICogLSBUUDEgdG8gVFAyIHRp bWUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZQorCSAqIC0gRkRJIGRlbGF5IHRvIDkwaAorCSAqCisJ ICogV2FGRElBdXRvTGlua1NldFRpbWluZ092ZXJycmlkZTpoc3cKKwkgKi8KKwlpbnRlbF9kZV93 cml0ZShkZXZfcHJpdiwgRkRJX1JYX01JU0MoUElQRV9BKSwKKwkJICAgICAgIEZESV9SWF9QV1JE Tl9MQU5FMV9WQUwoMikgfCBGRElfUlhfUFdSRE5fTEFORTBfVkFMKDIpIHwgRkRJX1JYX1RQMV9U T19UUDJfNDggfCBGRElfUlhfRkRJX0RFTEFZXzkwKTsKKworCS8qIEVuYWJsZSB0aGUgUENIIFJl Y2VpdmVyIEZESSBQTEwgKi8KKwlyeF9jdGxfdmFsID0gZGV2X3ByaXYtPmZkaV9yeF9jb25maWcg fCBGRElfUlhfRU5IQU5DRV9GUkFNRV9FTkFCTEUgfAorCQkgICAgIEZESV9SWF9QTExfRU5BQkxF IHwKKwkJICAgICBGRElfRFBfUE9SVF9XSURUSChjcnRjX3N0YXRlLT5mZGlfbGFuZXMpOworCWlu dGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElfUlhfQ1RMKFBJUEVfQSksIHJ4X2N0bF92YWwpOwor CWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpKTsKKwl1 ZGVsYXkoMjIwKTsKKworCS8qIFN3aXRjaCBmcm9tIFJhd2NsayB0byBQQ0RjbGsgKi8KKwlyeF9j dGxfdmFsIHw9IEZESV9QQ0RDTEs7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9D VEwoUElQRV9BKSwgcnhfY3RsX3ZhbCk7CisKKwkvKiBDb25maWd1cmUgUG9ydCBDbG9jayBTZWxl Y3QgKi8KKwlkZGlfcGxsX3NlbCA9IGhzd19wbGxfdG9fZGRpX3BsbF9zZWwoY3J0Y19zdGF0ZS0+ c2hhcmVkX2RwbGwpOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBQT1JUX0NMS19TRUwoUE9S VF9FKSwgZGRpX3BsbF9zZWwpOworCWRybV9XQVJOX09OKCZkZXZfcHJpdi0+ZHJtLCBkZGlfcGxs X3NlbCAhPSBQT1JUX0NMS19TRUxfU1BMTCk7CisKKwkvKiBTdGFydCB0aGUgdHJhaW5pbmcgaXRl cmF0aW5nIHRocm91Z2ggYXZhaWxhYmxlIHZvbHRhZ2VzIGFuZCBlbXBoYXNpcywKKwkgKiB0ZXN0 aW5nIGVhY2ggdmFsdWUgdHdpY2UuICovCisJZm9yIChpID0gMDsgaSA8IG5fZW50cmllcyAqIDI7 IGkrKykgeworCQkvKiBDb25maWd1cmUgRFBfVFBfQ1RMIHdpdGggYXV0by10cmFpbmluZyAqLwor CQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRFBfVFBfQ1RMKFBPUlRfRSksCisJCQkgICAgICAg RFBfVFBfQ1RMX0ZESV9BVVRPVFJBSU4gfAorCQkJICAgICAgIERQX1RQX0NUTF9FTkhBTkNFRF9G UkFNRV9FTkFCTEUgfAorCQkJICAgICAgIERQX1RQX0NUTF9MSU5LX1RSQUlOX1BBVDEgfAorCQkJ ICAgICAgIERQX1RQX0NUTF9FTkFCTEUpOworCisJCS8qIENvbmZpZ3VyZSBhbmQgZW5hYmxlIERE SV9CVUZfQ1RMIGZvciBEREkgRSB3aXRoIG5leHQgdm9sdGFnZS4KKwkJICogRERJIEUgZG9lcyBu b3Qgc3VwcG9ydCBwb3J0IHJldmVyc2FsLCB0aGUgZnVuY3Rpb25hbGl0eSBpcworCQkgKiBhY2hp ZXZlZCBvbiB0aGUgUENIIHNpZGUgaW4gRkRJX1JYX0NUTCwgc28gbm8gbmVlZCB0byBzZXQgdGhl CisJCSAqIHBvcnQgcmV2ZXJzYWwgYml0ICovCisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBE RElfQlVGX0NUTChQT1JUX0UpLAorCQkJICAgICAgIERESV9CVUZfQ1RMX0VOQUJMRSB8ICgoY3J0 Y19zdGF0ZS0+ZmRpX2xhbmVzIC0gMSkgPDwgMSkgfCBERElfQlVGX1RSQU5TX1NFTEVDVChpIC8g MikpOworCQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYsIERESV9CVUZfQ1RMKFBPUlRf RSkpOworCisJCXVkZWxheSg2MDApOworCisJCS8qIFByb2dyYW0gUENIIEZESSBSZWNlaXZlciBU VSAqLworCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX1RVU0laRTEoUElQRV9BKSwg VFVfU0laRSg2NCkpOworCisJCS8qIEVuYWJsZSBQQ0ggRkRJIFJlY2VpdmVyIHdpdGggYXV0by10 cmFpbmluZyAqLworCQlyeF9jdGxfdmFsIHw9IEZESV9SWF9FTkFCTEUgfCBGRElfTElOS19UUkFJ Tl9BVVRPOworCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpLCBy eF9jdGxfdmFsKTsKKwkJaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBGRElfUlhfQ1RM KFBJUEVfQSkpOworCisJCS8qIFdhaXQgZm9yIEZESSByZWNlaXZlciBsYW5lIGNhbGlicmF0aW9u ICovCisJCXVkZWxheSgzMCk7CisKKwkJLyogVW5zZXQgRkRJX1JYX01JU0MgcHdyZG4gbGFuZXMg Ki8KKwkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIEZESV9SWF9NSVNDKFBJUEVfQSkp OworCQl0ZW1wICY9IH4oRkRJX1JYX1BXUkROX0xBTkUxX01BU0sgfCBGRElfUlhfUFdSRE5fTEFO RTBfTUFTSyk7CisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElfUlhfTUlTQyhQSVBFX0Ep LCB0ZW1wKTsKKwkJaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBGRElfUlhfTUlTQyhQ SVBFX0EpKTsKKworCQkvKiBXYWl0IGZvciBGREkgYXV0byB0cmFpbmluZyB0aW1lICovCisJCXVk ZWxheSg1KTsKKworCQl0ZW1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFBfVFBfU1RBVFVT KFBPUlRfRSkpOworCQlpZiAodGVtcCAmIERQX1RQX1NUQVRVU19BVVRPVFJBSU5fRE9ORSkgewor CQkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sCisJCQkJICAgICJGREkgbGluayB0cmFpbmlu ZyBkb25lIG9uIHN0ZXAgJWRcbiIsIGkpOworCQkJYnJlYWs7CisJCX0KKworCQkvKgorCQkgKiBM ZWF2ZSB0aGluZ3MgZW5hYmxlZCBldmVuIGlmIHdlIGZhaWxlZCB0byB0cmFpbiBGREkuCisJCSAq IFJlc3VsdHMgaW4gbGVzcyBmaXJld29ya3MgZnJvbSB0aGUgc3RhdGUgY2hlY2tlci4KKwkJICov CisJCWlmIChpID09IG5fZW50cmllcyAqIDIgLSAxKSB7CisJCQlkcm1fZXJyKCZkZXZfcHJpdi0+ ZHJtLCAiRkRJIGxpbmsgdHJhaW5pbmcgZmFpbGVkIVxuIik7CisJCQlicmVhazsKKwkJfQorCisJ CXJ4X2N0bF92YWwgJj0gfkZESV9SWF9FTkFCTEU7CisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2 LCBGRElfUlhfQ1RMKFBJUEVfQSksIHJ4X2N0bF92YWwpOworCQlpbnRlbF9kZV9wb3N0aW5nX3Jl YWQoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9BKSk7CisKKwkJdGVtcCA9IGludGVsX2RlX3Jl YWQoZGV2X3ByaXYsIERESV9CVUZfQ1RMKFBPUlRfRSkpOworCQl0ZW1wICY9IH5ERElfQlVGX0NU TF9FTkFCTEU7CisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBERElfQlVGX0NUTChQT1JUX0Up LCB0ZW1wKTsKKwkJaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBERElfQlVGX0NUTChQ T1JUX0UpKTsKKworCQkvKiBEaXNhYmxlIERQX1RQX0NUTCBhbmQgRkRJX1JYX0NUTCBhbmQgcmV0 cnkgKi8KKwkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0Up KTsKKwkJdGVtcCAmPSB+KERQX1RQX0NUTF9FTkFCTEUgfCBEUF9UUF9DVExfTElOS19UUkFJTl9N QVNLKTsKKwkJdGVtcCB8PSBEUF9UUF9DVExfTElOS19UUkFJTl9QQVQxOworCQlpbnRlbF9kZV93 cml0ZShkZXZfcHJpdiwgRFBfVFBfQ1RMKFBPUlRfRSksIHRlbXApOworCQlpbnRlbF9kZV9wb3N0 aW5nX3JlYWQoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0UpKTsKKworCQlpbnRlbF93YWl0X2Rk aV9idWZfaWRsZShkZXZfcHJpdiwgUE9SVF9FKTsKKworCQkvKiBSZXNldCBGRElfUlhfTUlTQyBw d3JkbiBsYW5lcyAqLworCQl0ZW1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRkRJX1JYX01J U0MoUElQRV9BKSk7CisJCXRlbXAgJj0gfihGRElfUlhfUFdSRE5fTEFORTFfTUFTSyB8IEZESV9S WF9QV1JETl9MQU5FMF9NQVNLKTsKKwkJdGVtcCB8PSBGRElfUlhfUFdSRE5fTEFORTFfVkFMKDIp IHwgRkRJX1JYX1BXUkROX0xBTkUwX1ZBTCgyKTsKKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYs IEZESV9SWF9NSVNDKFBJUEVfQSksIHRlbXApOworCQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2 X3ByaXYsIEZESV9SWF9NSVNDKFBJUEVfQSkpOworCX0KKworCS8qIEVuYWJsZSBub3JtYWwgcGl4 ZWwgc2VuZGluZyBmb3IgRkRJICovCisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERQX1RQX0NU TChQT1JUX0UpLAorCQkgICAgICAgRFBfVFBfQ1RMX0ZESV9BVVRPVFJBSU4gfAorCQkgICAgICAg RFBfVFBfQ1RMX0xJTktfVFJBSU5fTk9STUFMIHwKKwkJICAgICAgIERQX1RQX0NUTF9FTkhBTkNF RF9GUkFNRV9FTkFCTEUgfAorCQkgICAgICAgRFBfVFBfQ1RMX0VOQUJMRSk7Cit9CisKIHZvaWQg aWxrX2ZkaV9wbGxfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9mZGkuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZmRpLmgKaW5kZXggYTljZDIxNjYzZWI4Li5hZjAxZDJjMTczYTggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9mZGkuaApAQCAtOSw2ICs5LDcgQEAKIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlOwogc3RydWN0IGludGVsX2NydGM7CiBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZTsK K3N0cnVjdCBpbnRlbF9lbmNvZGVyOwogCiAjZGVmaW5lIEk5MTVfRElTUExBWV9DT05GSUdfUkVU UlkgMQogaW50IGlsa19mZGlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCkBAIC0xOCw1ICsxOSw3IEBAIHZvaWQgaWxrX2ZkaV9kaXNhYmxlKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKTsKIHZvaWQgaWxrX2ZkaV9wbGxfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0Yyk7CiB2b2lkIGlsa19mZGlfcGxsX2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiB2b2lkIGludGVsX2ZkaV9pbml0X2hvb2soc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaHN3X2ZkaV9saW5rX3RyYWlu KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpOwogCiAjZW5kaWYKLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==