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=-7.9 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED 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 98866C433E9 for ; Wed, 27 Jan 2021 03:06:07 +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 520A0205F4 for ; Wed, 27 Jan 2021 03:06:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 520A0205F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 BEF2C6E4EA; Wed, 27 Jan 2021 03:06:05 +0000 (UTC) Received: from us-smtp-delivery-44.mimecast.com (us-smtp-delivery-44.mimecast.com [205.139.111.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id C524D6E11F for ; Wed, 27 Jan 2021 03:06:01 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-400-0StLT7EnMI6jScrzD2ZokA-1; Tue, 26 Jan 2021 22:05:56 -0500 X-MC-Unique: 0StLT7EnMI6jScrzD2ZokA-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 65EF059; Wed, 27 Jan 2021 03:05:55 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (unknown [10.64.32.209]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3093760C05; Wed, 27 Jan 2021 03:05:54 +0000 (UTC) From: Dave Airlie To: intel-gfx@lists.freedesktop.org Date: Wed, 27 Jan 2021 13:05:40 +1000 Message-Id: <20210127030548.29296-3-airlied@gmail.com> In-Reply-To: <20210127030548.29296-1-airlied@gmail.com> References: <20210127030548.29296-1-airlied@gmail.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: gmail.com Subject: [Intel-gfx] [PATCH 02/10] 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 , 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 UmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYyB8ICAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIHwgMTUxICsrLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5oIHwgICA4 ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5jIHwgMTM5ICsrKysr KysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mZGku aCB8ICAgMyArCiA1IGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25zKCspLCAxNDYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9j cnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMKaW5kZXggNDkz NGVkZDUxY2IwLi4wNzdlYmM3ZTYzOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfY3J0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9jcnQuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgImludGVsX2NydC5oIgogI2lu Y2x1ZGUgImludGVsX2RkaS5oIgogI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKKyNp bmNsdWRlICJpbnRlbF9mZGkuaCIKICNpbmNsdWRlICJpbnRlbF9maWZvX3VuZGVycnVuLmgiCiAj aW5jbHVkZSAiaW50ZWxfZ21idXMuaCIKICNpbmNsdWRlICJpbnRlbF9ob3RwbHVnLmgiCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwppbmRleCAwMzY2MGZjNzBjZDYuLmI2 Y2RlNjQ2MzcxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCkBA IC0zNiwxMCArMzYsMTEgQEAKICNpbmNsdWRlICJpbnRlbF9kZGlfYnVmX3RyYW5zLmgiCiAjaW5j bHVkZSAiaW50ZWxfZGlzcGxheV90eXBlcy5oIgogI2luY2x1ZGUgImludGVsX2RwLmgiCi0jaW5j bHVkZSAiaW50ZWxfZHBfbXN0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZHBfbGlua190cmFpbmluZy5o IgorI2luY2x1ZGUgImludGVsX2RwX21zdC5oIgogI2luY2x1ZGUgImludGVsX2RwaW9fcGh5Lmgi CiAjaW5jbHVkZSAiaW50ZWxfZHNpLmgiCisjaW5jbHVkZSAiaW50ZWxfZmRpLmgiCiAjaW5jbHVk ZSAiaW50ZWxfZmlmb191bmRlcnJ1bi5oIgogI2luY2x1ZGUgImludGVsX2dtYnVzLmgiCiAjaW5j bHVkZSAiaW50ZWxfaGRjcC5oIgpAQCAtOTEsOCArOTIsOCBAQCBzdGF0aWMgaW50IGludGVsX2Rk aV9oZG1pX2xldmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogICogdmFsdWVzIGlu IGFkdmFuY2UuIFRoaXMgZnVuY3Rpb24gcHJvZ3JhbXMgdGhlIGNvcnJlY3QgdmFsdWVzIGZvcgog ICogRFAvZURQL0ZESSB1c2UgY2FzZXMuCiAgKi8KLXN0YXRpYyB2b2lkIGludGVsX3ByZXBhcmVf ZHBfZGRpX2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCi0JCQkJCSBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3ZvaWQgaW50ZWxfcHJlcGFy ZV9kcF9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXUz MiBpYm9vc3RfYml0ID0gMDsKQEAgLTE1NCw4ICsxNTUsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9w cmVwYXJlX2hkbWlfZGRpX2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CSAgICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS50cmFuczIpOwogfQogCi1zdGF0aWMgdm9p ZCBpbnRlbF93YWl0X2RkaV9idWZfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCi0JCQkJICAgIGVudW0gcG9ydCBwb3J0KQordm9pZCBpbnRlbF93YWl0X2RkaV9idWZfaWRs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAgIGVudW0gcG9ydCBw b3J0KQogewogCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkgewogCQl1ZGVsYXkoMTYpOwpAQCAt MTgzLDcgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9hY3RpdmUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJcG9ydF9uYW1lKHBvcnQpKTsKIH0K IAotc3RhdGljIHUzMiBoc3dfcGxsX3RvX2RkaV9wbGxfc2VsKGNvbnN0IHN0cnVjdCBpbnRlbF9z aGFyZWRfZHBsbCAqcGxsKQordTMyIGhzd19wbGxfdG9fZGRpX3BsbF9zZWwoY29uc3Qgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwpCiB7CiAJc3dpdGNoIChwbGwtPmluZm8tPmlkKSB7CiAJ Y2FzZSBEUExMX0lEX1dSUExMMToKQEAgLTI0MywxNDQgKzI0NCw2IEBAIHN0YXRpYyB1MzIgaWNs X3BsbF90b19kZGlfY2xrX3NlbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9 CiAKLS8qIFN0YXJ0aW5nIHdpdGggSGFzd2VsbCwgZGlmZmVyZW50IERESSBwb3J0cyBjYW4gd29y ayBpbiBGREkgbW9kZSBmb3IKLSAqIGNvbm5lY3Rpb24gdG8gdGhlIFBDSC1sb2NhdGVkIGNvbm5l Y3RvcnMuIEZvciB0aGlzLCBpdCBpcyBuZWNlc3NhcnkgdG8gdHJhaW4KLSAqIGJvdGggdGhlIERE SSBwb3J0IGFuZCBQQ0ggcmVjZWl2ZXIgZm9yIHRoZSBkZXNpcmVkIERESSBidWZmZXIgc2V0dGlu Z3MuCi0gKgotICogVGhlIHJlY29tbWVuZGVkIHBvcnQgdG8gd29yayBpbiBGREkgbW9kZSBpcyBE REkgRSwgd2hpY2ggd2UgdXNlIGhlcmUuIEFsc28sCi0gKiBwbGVhc2Ugbm90ZSB0aGF0IHdoZW4g RkRJIG1vZGUgaXMgYWN0aXZlIG9uIERESSBFLCBpdCBzaGFyZXMgMiBsaW5lcyB3aXRoCi0gKiBE REkgQSAod2hpY2ggaXMgdXNlZCBmb3IgZURQKQotICovCi0KLXZvaWQgaHN3X2ZkaV9saW5rX3Ry YWluKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotCQkJY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Ci0JdTMyIHRlbXAsIGks IHJ4X2N0bF92YWwsIGRkaV9wbGxfc2VsOwotCWludCBuX2VudHJpZXM7Ci0KLQlpbnRlbF9kZGlf Z2V0X2J1Zl90cmFuc19mZGkoZGV2X3ByaXYsICZuX2VudHJpZXMpOwotCi0JaW50ZWxfcHJlcGFy ZV9kcF9kZGlfYnVmZmVycyhlbmNvZGVyLCBjcnRjX3N0YXRlKTsKLQotCS8qIFNldCB0aGUgRkRJ X1JYX01JU0MgcHdyZG4gbGFuZXMgYW5kIHRoZSAyIHdvcmthcm91bmRzIGxpc3RlZCBhdCB0aGUK LQkgKiBtb2RlIHNldCAic2VxdWVuY2UgZm9yIENSVCBwb3J0IiBkb2N1bWVudDoKLQkgKiAtIFRQ MSB0byBUUDIgdGltZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlCi0JICogLSBGREkgZGVsYXkgdG8g OTBoCi0JICoKLQkgKiBXYUZESUF1dG9MaW5rU2V0VGltaW5nT3ZlcnJyaWRlOmhzdwotCSAqLwot CWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElfUlhfTUlTQyhQSVBFX0EpLAotCQkgICAgICAg RkRJX1JYX1BXUkROX0xBTkUxX1ZBTCgyKSB8IEZESV9SWF9QV1JETl9MQU5FMF9WQUwoMikgfCBG RElfUlhfVFAxX1RPX1RQMl80OCB8IEZESV9SWF9GRElfREVMQVlfOTApOwotCi0JLyogRW5hYmxl IHRoZSBQQ0ggUmVjZWl2ZXIgRkRJIFBMTCAqLwotCXJ4X2N0bF92YWwgPSBkZXZfcHJpdi0+ZmRp X3J4X2NvbmZpZyB8IEZESV9SWF9FTkhBTkNFX0ZSQU1FX0VOQUJMRSB8Ci0JCSAgICAgRkRJX1JY X1BMTF9FTkFCTEUgfAotCQkgICAgIEZESV9EUF9QT1JUX1dJRFRIKGNydGNfc3RhdGUtPmZkaV9s YW5lcyk7Ci0JaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9BKSwgcnhf Y3RsX3ZhbCk7Ci0JaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBGRElfUlhfQ1RMKFBJ UEVfQSkpOwotCXVkZWxheSgyMjApOwotCi0JLyogU3dpdGNoIGZyb20gUmF3Y2xrIHRvIFBDRGNs ayAqLwotCXJ4X2N0bF92YWwgfD0gRkRJX1BDRENMSzsKLQlpbnRlbF9kZV93cml0ZShkZXZfcHJp diwgRkRJX1JYX0NUTChQSVBFX0EpLCByeF9jdGxfdmFsKTsKLQotCS8qIENvbmZpZ3VyZSBQb3J0 IENsb2NrIFNlbGVjdCAqLwotCWRkaV9wbGxfc2VsID0gaHN3X3BsbF90b19kZGlfcGxsX3NlbChj cnRjX3N0YXRlLT5zaGFyZWRfZHBsbCk7Ci0JaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFBPUlRf Q0xLX1NFTChQT1JUX0UpLCBkZGlfcGxsX3NlbCk7Ci0JZHJtX1dBUk5fT04oJmRldl9wcml2LT5k cm0sIGRkaV9wbGxfc2VsICE9IFBPUlRfQ0xLX1NFTF9TUExMKTsKLQotCS8qIFN0YXJ0IHRoZSB0 cmFpbmluZyBpdGVyYXRpbmcgdGhyb3VnaCBhdmFpbGFibGUgdm9sdGFnZXMgYW5kIGVtcGhhc2lz LAotCSAqIHRlc3RpbmcgZWFjaCB2YWx1ZSB0d2ljZS4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgbl9l bnRyaWVzICogMjsgaSsrKSB7Ci0JCS8qIENvbmZpZ3VyZSBEUF9UUF9DVEwgd2l0aCBhdXRvLXRy YWluaW5nICovCi0JCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBEUF9UUF9DVEwoUE9SVF9FKSwK LQkJCSAgICAgICBEUF9UUF9DVExfRkRJX0FVVE9UUkFJTiB8Ci0JCQkgICAgICAgRFBfVFBfQ1RM X0VOSEFOQ0VEX0ZSQU1FX0VOQUJMRSB8Ci0JCQkgICAgICAgRFBfVFBfQ1RMX0xJTktfVFJBSU5f UEFUMSB8Ci0JCQkgICAgICAgRFBfVFBfQ1RMX0VOQUJMRSk7Ci0KLQkJLyogQ29uZmlndXJlIGFu ZCBlbmFibGUgRERJX0JVRl9DVEwgZm9yIERESSBFIHdpdGggbmV4dCB2b2x0YWdlLgotCQkgKiBE REkgRSBkb2VzIG5vdCBzdXBwb3J0IHBvcnQgcmV2ZXJzYWwsIHRoZSBmdW5jdGlvbmFsaXR5IGlz Ci0JCSAqIGFjaGlldmVkIG9uIHRoZSBQQ0ggc2lkZSBpbiBGRElfUlhfQ1RMLCBzbyBubyBuZWVk IHRvIHNldCB0aGUKLQkJICogcG9ydCByZXZlcnNhbCBiaXQgKi8KLQkJaW50ZWxfZGVfd3JpdGUo ZGV2X3ByaXYsIERESV9CVUZfQ1RMKFBPUlRfRSksCi0JCQkgICAgICAgRERJX0JVRl9DVExfRU5B QkxFIHwgKChjcnRjX3N0YXRlLT5mZGlfbGFuZXMgLSAxKSA8PCAxKSB8IERESV9CVUZfVFJBTlNf U0VMRUNUKGkgLyAyKSk7Ci0JCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRERJX0JV Rl9DVEwoUE9SVF9FKSk7Ci0KLQkJdWRlbGF5KDYwMCk7Ci0KLQkJLyogUHJvZ3JhbSBQQ0ggRkRJ IFJlY2VpdmVyIFRVICovCi0JCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElfUlhfVFVTSVpF MShQSVBFX0EpLCBUVV9TSVpFKDY0KSk7Ci0KLQkJLyogRW5hYmxlIFBDSCBGREkgUmVjZWl2ZXIg d2l0aCBhdXRvLXRyYWluaW5nICovCi0JCXJ4X2N0bF92YWwgfD0gRkRJX1JYX0VOQUJMRSB8IEZE SV9MSU5LX1RSQUlOX0FVVE87Ci0JCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElfUlhfQ1RM KFBJUEVfQSksIHJ4X2N0bF92YWwpOwotCQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYs IEZESV9SWF9DVEwoUElQRV9BKSk7Ci0KLQkJLyogV2FpdCBmb3IgRkRJIHJlY2VpdmVyIGxhbmUg Y2FsaWJyYXRpb24gKi8KLQkJdWRlbGF5KDMwKTsKLQotCQkvKiBVbnNldCBGRElfUlhfTUlTQyBw d3JkbiBsYW5lcyAqLwotCQl0ZW1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRkRJX1JYX01J U0MoUElQRV9BKSk7Ci0JCXRlbXAgJj0gfihGRElfUlhfUFdSRE5fTEFORTFfTUFTSyB8IEZESV9S WF9QV1JETl9MQU5FMF9NQVNLKTsKLQkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9N SVNDKFBJUEVfQSksIHRlbXApOwotCQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYsIEZE SV9SWF9NSVNDKFBJUEVfQSkpOwotCi0JCS8qIFdhaXQgZm9yIEZESSBhdXRvIHRyYWluaW5nIHRp bWUgKi8KLQkJdWRlbGF5KDUpOwotCi0JCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBE UF9UUF9TVEFUVVMoUE9SVF9FKSk7Ci0JCWlmICh0ZW1wICYgRFBfVFBfU1RBVFVTX0FVVE9UUkFJ Tl9ET05FKSB7Ci0JCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKLQkJCQkgICAgIkZESSBs aW5rIHRyYWluaW5nIGRvbmUgb24gc3RlcCAlZFxuIiwgaSk7Ci0JCQlicmVhazsKLQkJfQotCi0J CS8qCi0JCSAqIExlYXZlIHRoaW5ncyBlbmFibGVkIGV2ZW4gaWYgd2UgZmFpbGVkIHRvIHRyYWlu IEZESS4KLQkJICogUmVzdWx0cyBpbiBsZXNzIGZpcmV3b3JrcyBmcm9tIHRoZSBzdGF0ZSBjaGVj a2VyLgotCQkgKi8KLQkJaWYgKGkgPT0gbl9lbnRyaWVzICogMiAtIDEpIHsKLQkJCWRybV9lcnIo JmRldl9wcml2LT5kcm0sICJGREkgbGluayB0cmFpbmluZyBmYWlsZWQhXG4iKTsKLQkJCWJyZWFr OwotCQl9Ci0KLQkJcnhfY3RsX3ZhbCAmPSB+RkRJX1JYX0VOQUJMRTsKLQkJaW50ZWxfZGVfd3Jp dGUoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9BKSwgcnhfY3RsX3ZhbCk7Ci0JCWludGVsX2Rl X3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpKTsKLQotCQl0ZW1wID0g aW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRERJX0JVRl9DVEwoUE9SVF9FKSk7Ci0JCXRlbXAgJj0g fkRESV9CVUZfQ1RMX0VOQUJMRTsKLQkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERESV9CVUZf Q1RMKFBPUlRfRSksIHRlbXApOwotCQlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYsIERE SV9CVUZfQ1RMKFBPUlRfRSkpOwotCi0JCS8qIERpc2FibGUgRFBfVFBfQ1RMIGFuZCBGRElfUlhf Q1RMIGFuZCByZXRyeSAqLwotCQl0ZW1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFBfVFBf Q1RMKFBPUlRfRSkpOwotCQl0ZW1wICY9IH4oRFBfVFBfQ1RMX0VOQUJMRSB8IERQX1RQX0NUTF9M SU5LX1RSQUlOX01BU0spOwotCQl0ZW1wIHw9IERQX1RQX0NUTF9MSU5LX1RSQUlOX1BBVDE7Ci0J CWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBEUF9UUF9DVEwoUE9SVF9FKSwgdGVtcCk7Ci0JCWlu dGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRFBfVFBfQ1RMKFBPUlRfRSkpOwotCi0JCWlu dGVsX3dhaXRfZGRpX2J1Zl9pZGxlKGRldl9wcml2LCBQT1JUX0UpOwotCi0JCS8qIFJlc2V0IEZE SV9SWF9NSVNDIHB3cmRuIGxhbmVzICovCi0JCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2 LCBGRElfUlhfTUlTQyhQSVBFX0EpKTsKLQkJdGVtcCAmPSB+KEZESV9SWF9QV1JETl9MQU5FMV9N QVNLIHwgRkRJX1JYX1BXUkROX0xBTkUwX01BU0spOwotCQl0ZW1wIHw9IEZESV9SWF9QV1JETl9M QU5FMV9WQUwoMikgfCBGRElfUlhfUFdSRE5fTEFORTBfVkFMKDIpOwotCQlpbnRlbF9kZV93cml0 ZShkZXZfcHJpdiwgRkRJX1JYX01JU0MoUElQRV9BKSwgdGVtcCk7Ci0JCWludGVsX2RlX3Bvc3Rp bmdfcmVhZChkZXZfcHJpdiwgRkRJX1JYX01JU0MoUElQRV9BKSk7Ci0JfQotCi0JLyogRW5hYmxl IG5vcm1hbCBwaXhlbCBzZW5kaW5nIGZvciBGREkgKi8KLQlpbnRlbF9kZV93cml0ZShkZXZfcHJp diwgRFBfVFBfQ1RMKFBPUlRfRSksCi0JCSAgICAgICBEUF9UUF9DVExfRkRJX0FVVE9UUkFJTiB8 Ci0JCSAgICAgICBEUF9UUF9DVExfTElOS19UUkFJTl9OT1JNQUwgfAotCQkgICAgICAgRFBfVFBf Q1RMX0VOSEFOQ0VEX0ZSQU1FX0VOQUJMRSB8Ci0JCSAgICAgICBEUF9UUF9DVExfRU5BQkxFKTsK LX0KLQogc3RhdGljIHZvaWQgaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGRpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5o CmluZGV4IGE0ZGQ4MTVjMDAwMC4uZjlhOTE2Y2FkN2U3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGRpLmgKQEAgLTE3LDYgKzE3LDcgQEAgc3RydWN0IGludGVsX2NydGNf c3RhdGU7CiBzdHJ1Y3QgaW50ZWxfZHA7CiBzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZTsKIHN0 cnVjdCBpbnRlbF9lbmNvZGVyOworc3RydWN0IGludGVsX3NoYXJlZF9kcGxsOwogZW51bSB0cmFu c2NvZGVyOwogCiBpOTE1X3JlZ190IGRwX3RwX2N0bF9yZWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCkBAIC0yNyw4ICsyOCwxMSBAQCB2b2lkIGludGVsX2RkaV9mZGlfcG9zdF9kaXNh YmxlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCXN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAogCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq b2xkX2Nvbm5fc3RhdGUpOwotdm9pZCBoc3dfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCi0JCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSk7Cit1MzIgaHN3X3BsbF90b19kZGlfcGxsX3NlbChjb25zdCBzdHJ1Y3QgaW50ZWxfc2hh cmVkX2RwbGwgKnBsbCk7Cit2b2lkIGludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSk7Cit2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9pZGxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICAgZW51bSBwb3J0IHBvcnQpOwogdm9p ZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0g cG9ydCBwb3J0KTsKIGJvb2wgaW50ZWxfZGRpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwgZW51bSBwaXBlICpwaXBlKTsKIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90 cmFuc2NvZGVyX2Z1bmMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mZGkuYwppbmRleCBiMmViOTZhZTEwYTIuLjc3ZGY2NzVl NjA3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mZGku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5jCkBAIC0zLDYg KzMsOCBAQAogICogQ29weXJpZ2h0IMKpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KICAqLwogI2lu Y2x1ZGUgImludGVsX2F0b21pYy5oIgorI2luY2x1ZGUgImludGVsX2RkaS5oIgorI2luY2x1ZGUg ImludGVsX2RkaV9idWZfdHJhbnMuaCIKICNpbmNsdWRlICJpbnRlbF9kaXNwbGF5X3R5cGVzLmgi CiAjaW5jbHVkZSAiaW50ZWxfZmRpLmgiCiAKQEAgLTU1MCw2ICs1NTIsMTQzIEBAIHN0YXRpYyB2 b2lkIGl2Yl9tYW51YWxfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ ZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sICJGREkgdHJhaW4gZG9uZS5cbiIpOwogfQogCisv KiBTdGFydGluZyB3aXRoIEhhc3dlbGwsIGRpZmZlcmVudCBEREkgcG9ydHMgY2FuIHdvcmsgaW4g RkRJIG1vZGUgZm9yCisgKiBjb25uZWN0aW9uIHRvIHRoZSBQQ0gtbG9jYXRlZCBjb25uZWN0b3Jz LiBGb3IgdGhpcywgaXQgaXMgbmVjZXNzYXJ5IHRvIHRyYWluCisgKiBib3RoIHRoZSBEREkgcG9y dCBhbmQgUENIIHJlY2VpdmVyIGZvciB0aGUgZGVzaXJlZCBEREkgYnVmZmVyIHNldHRpbmdzLgor ICoKKyAqIFRoZSByZWNvbW1lbmRlZCBwb3J0IHRvIHdvcmsgaW4gRkRJIG1vZGUgaXMgRERJIEUs IHdoaWNoIHdlIHVzZSBoZXJlLiBBbHNvLAorICogcGxlYXNlIG5vdGUgdGhhdCB3aGVuIEZESSBt b2RlIGlzIGFjdGl2ZSBvbiBEREkgRSwgaXQgc2hhcmVzIDIgbGluZXMgd2l0aAorICogRERJIEEg KHdoaWNoIGlzIHVzZWQgZm9yIGVEUCkKKyAqLwordm9pZCBoc3dfZmRpX2xpbmtfdHJhaW4oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwl1MzIgdGVtcCwgaSwgcnhfY3Rs X3ZhbCwgZGRpX3BsbF9zZWw7CisJaW50IG5fZW50cmllczsKKworCWludGVsX2RkaV9nZXRfYnVm X3RyYW5zX2ZkaShkZXZfcHJpdiwgJm5fZW50cmllcyk7CisKKwlpbnRlbF9wcmVwYXJlX2RwX2Rk aV9idWZmZXJzKGVuY29kZXIsIGNydGNfc3RhdGUpOworCisJLyogU2V0IHRoZSBGRElfUlhfTUlT QyBwd3JkbiBsYW5lcyBhbmQgdGhlIDIgd29ya2Fyb3VuZHMgbGlzdGVkIGF0IHRoZQorCSAqIG1v ZGUgc2V0ICJzZXF1ZW5jZSBmb3IgQ1JUIHBvcnQiIGRvY3VtZW50OgorCSAqIC0gVFAxIHRvIFRQ MiB0aW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUKKwkgKiAtIEZESSBkZWxheSB0byA5MGgKKwkg KgorCSAqIFdhRkRJQXV0b0xpbmtTZXRUaW1pbmdPdmVycnJpZGU6aHN3CisJICovCisJaW50ZWxf ZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9NSVNDKFBJUEVfQSksCisJCSAgICAgICBGRElfUlhf UFdSRE5fTEFORTFfVkFMKDIpIHwgRkRJX1JYX1BXUkROX0xBTkUwX1ZBTCgyKSB8IEZESV9SWF9U UDFfVE9fVFAyXzQ4IHwgRkRJX1JYX0ZESV9ERUxBWV85MCk7CisKKwkvKiBFbmFibGUgdGhlIFBD SCBSZWNlaXZlciBGREkgUExMICovCisJcnhfY3RsX3ZhbCA9IGRldl9wcml2LT5mZGlfcnhfY29u ZmlnIHwgRkRJX1JYX0VOSEFOQ0VfRlJBTUVfRU5BQkxFIHwKKwkJICAgICBGRElfUlhfUExMX0VO QUJMRSB8CisJCSAgICAgRkRJX0RQX1BPUlRfV0lEVEgoY3J0Y19zdGF0ZS0+ZmRpX2xhbmVzKTsK KwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpLCByeF9jdGxfdmFs KTsKKwlpbnRlbF9kZV9wb3N0aW5nX3JlYWQoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9BKSk7 CisJdWRlbGF5KDIyMCk7CisKKwkvKiBTd2l0Y2ggZnJvbSBSYXdjbGsgdG8gUENEY2xrICovCisJ cnhfY3RsX3ZhbCB8PSBGRElfUENEQ0xLOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBGRElf UlhfQ1RMKFBJUEVfQSksIHJ4X2N0bF92YWwpOworCisJLyogQ29uZmlndXJlIFBvcnQgQ2xvY2sg U2VsZWN0ICovCisJZGRpX3BsbF9zZWwgPSBoc3dfcGxsX3RvX2RkaV9wbGxfc2VsKGNydGNfc3Rh dGUtPnNoYXJlZF9kcGxsKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgUE9SVF9DTEtfU0VM KFBPUlRfRSksIGRkaV9wbGxfc2VsKTsKKwlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwgZGRp X3BsbF9zZWwgIT0gUE9SVF9DTEtfU0VMX1NQTEwpOworCisJLyogU3RhcnQgdGhlIHRyYWluaW5n IGl0ZXJhdGluZyB0aHJvdWdoIGF2YWlsYWJsZSB2b2x0YWdlcyBhbmQgZW1waGFzaXMsCisJICog dGVzdGluZyBlYWNoIHZhbHVlIHR3aWNlLiAqLworCWZvciAoaSA9IDA7IGkgPCBuX2VudHJpZXMg KiAyOyBpKyspIHsKKwkJLyogQ29uZmlndXJlIERQX1RQX0NUTCB3aXRoIGF1dG8tdHJhaW5pbmcg Ki8KKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0UpLAorCQkJICAg ICAgIERQX1RQX0NUTF9GRElfQVVUT1RSQUlOIHwKKwkJCSAgICAgICBEUF9UUF9DVExfRU5IQU5D RURfRlJBTUVfRU5BQkxFIHwKKwkJCSAgICAgICBEUF9UUF9DVExfTElOS19UUkFJTl9QQVQxIHwK KwkJCSAgICAgICBEUF9UUF9DVExfRU5BQkxFKTsKKworCQkvKiBDb25maWd1cmUgYW5kIGVuYWJs ZSBERElfQlVGX0NUTCBmb3IgRERJIEUgd2l0aCBuZXh0IHZvbHRhZ2UuCisJCSAqIERESSBFIGRv ZXMgbm90IHN1cHBvcnQgcG9ydCByZXZlcnNhbCwgdGhlIGZ1bmN0aW9uYWxpdHkgaXMKKwkJICog YWNoaWV2ZWQgb24gdGhlIFBDSCBzaWRlIGluIEZESV9SWF9DVEwsIHNvIG5vIG5lZWQgdG8gc2V0 IHRoZQorCQkgKiBwb3J0IHJldmVyc2FsIGJpdCAqLworCQlpbnRlbF9kZV93cml0ZShkZXZfcHJp diwgRERJX0JVRl9DVEwoUE9SVF9FKSwKKwkJCSAgICAgICBERElfQlVGX0NUTF9FTkFCTEUgfCAo KGNydGNfc3RhdGUtPmZkaV9sYW5lcyAtIDEpIDw8IDEpIHwgRERJX0JVRl9UUkFOU19TRUxFQ1Qo aSAvIDIpKTsKKwkJaW50ZWxfZGVfcG9zdGluZ19yZWFkKGRldl9wcml2LCBERElfQlVGX0NUTChQ T1JUX0UpKTsKKworCQl1ZGVsYXkoNjAwKTsKKworCQkvKiBQcm9ncmFtIFBDSCBGREkgUmVjZWl2 ZXIgVFUgKi8KKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9UVVNJWkUxKFBJUEVf QSksIFRVX1NJWkUoNjQpKTsKKworCQkvKiBFbmFibGUgUENIIEZESSBSZWNlaXZlciB3aXRoIGF1 dG8tdHJhaW5pbmcgKi8KKwkJcnhfY3RsX3ZhbCB8PSBGRElfUlhfRU5BQkxFIHwgRkRJX0xJTktf VFJBSU5fQVVUTzsKKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEZESV9SWF9DVEwoUElQRV9B KSwgcnhfY3RsX3ZhbCk7CisJCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJX1JY X0NUTChQSVBFX0EpKTsKKworCQkvKiBXYWl0IGZvciBGREkgcmVjZWl2ZXIgbGFuZSBjYWxpYnJh dGlvbiAqLworCQl1ZGVsYXkoMzApOworCisJCS8qIFVuc2V0IEZESV9SWF9NSVNDIHB3cmRuIGxh bmVzICovCisJCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBGRElfUlhfTUlTQyhQSVBF X0EpKTsKKwkJdGVtcCAmPSB+KEZESV9SWF9QV1JETl9MQU5FMV9NQVNLIHwgRkRJX1JYX1BXUkRO X0xBTkUwX01BU0spOworCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRkRJX1JYX01JU0MoUElQ RV9BKSwgdGVtcCk7CisJCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRkRJX1JYX01J U0MoUElQRV9BKSk7CisKKwkJLyogV2FpdCBmb3IgRkRJIGF1dG8gdHJhaW5pbmcgdGltZSAqLwor CQl1ZGVsYXkoNSk7CisKKwkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERQX1RQX1NU QVRVUyhQT1JUX0UpKTsKKwkJaWYgKHRlbXAgJiBEUF9UUF9TVEFUVVNfQVVUT1RSQUlOX0RPTkUp IHsKKwkJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAorCQkJCSAgICAiRkRJIGxpbmsgdHJh aW5pbmcgZG9uZSBvbiBzdGVwICVkXG4iLCBpKTsKKwkJCWJyZWFrOworCQl9CisKKwkJLyoKKwkJ ICogTGVhdmUgdGhpbmdzIGVuYWJsZWQgZXZlbiBpZiB3ZSBmYWlsZWQgdG8gdHJhaW4gRkRJLgor CQkgKiBSZXN1bHRzIGluIGxlc3MgZmlyZXdvcmtzIGZyb20gdGhlIHN0YXRlIGNoZWNrZXIuCisJ CSAqLworCQlpZiAoaSA9PSBuX2VudHJpZXMgKiAyIC0gMSkgeworCQkJZHJtX2VycigmZGV2X3By aXYtPmRybSwgIkZESSBsaW5rIHRyYWluaW5nIGZhaWxlZCFcbiIpOworCQkJYnJlYWs7CisJCX0K KworCQlyeF9jdGxfdmFsICY9IH5GRElfUlhfRU5BQkxFOworCQlpbnRlbF9kZV93cml0ZShkZXZf cHJpdiwgRkRJX1JYX0NUTChQSVBFX0EpLCByeF9jdGxfdmFsKTsKKwkJaW50ZWxfZGVfcG9zdGlu Z19yZWFkKGRldl9wcml2LCBGRElfUlhfQ1RMKFBJUEVfQSkpOworCisJCXRlbXAgPSBpbnRlbF9k ZV9yZWFkKGRldl9wcml2LCBERElfQlVGX0NUTChQT1JUX0UpKTsKKwkJdGVtcCAmPSB+RERJX0JV Rl9DVExfRU5BQkxFOworCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JVRl9DVEwoUE9S VF9FKSwgdGVtcCk7CisJCWludGVsX2RlX3Bvc3RpbmdfcmVhZChkZXZfcHJpdiwgRERJX0JVRl9D VEwoUE9SVF9FKSk7CisKKwkJLyogRGlzYWJsZSBEUF9UUF9DVEwgYW5kIEZESV9SWF9DVEwgYW5k IHJldHJ5ICovCisJCXRlbXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBEUF9UUF9DVEwoUE9S VF9FKSk7CisJCXRlbXAgJj0gfihEUF9UUF9DVExfRU5BQkxFIHwgRFBfVFBfQ1RMX0xJTktfVFJB SU5fTUFTSyk7CisJCXRlbXAgfD0gRFBfVFBfQ1RMX0xJTktfVFJBSU5fUEFUMTsKKwkJaW50ZWxf ZGVfd3JpdGUoZGV2X3ByaXYsIERQX1RQX0NUTChQT1JUX0UpLCB0ZW1wKTsKKwkJaW50ZWxfZGVf cG9zdGluZ19yZWFkKGRldl9wcml2LCBEUF9UUF9DVEwoUE9SVF9FKSk7CisKKwkJaW50ZWxfd2Fp dF9kZGlfYnVmX2lkbGUoZGV2X3ByaXYsIFBPUlRfRSk7CisKKwkJLyogUmVzZXQgRkRJX1JYX01J U0MgcHdyZG4gbGFuZXMgKi8KKwkJdGVtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIEZESV9S WF9NSVNDKFBJUEVfQSkpOworCQl0ZW1wICY9IH4oRkRJX1JYX1BXUkROX0xBTkUxX01BU0sgfCBG RElfUlhfUFdSRE5fTEFORTBfTUFTSyk7CisJCXRlbXAgfD0gRkRJX1JYX1BXUkROX0xBTkUxX1ZB TCgyKSB8IEZESV9SWF9QV1JETl9MQU5FMF9WQUwoMik7CisJCWludGVsX2RlX3dyaXRlKGRldl9w cml2LCBGRElfUlhfTUlTQyhQSVBFX0EpLCB0ZW1wKTsKKwkJaW50ZWxfZGVfcG9zdGluZ19yZWFk KGRldl9wcml2LCBGRElfUlhfTUlTQyhQSVBFX0EpKTsKKwl9CisKKwkvKiBFbmFibGUgbm9ybWFs IHBpeGVsIHNlbmRpbmcgZm9yIEZESSAqLworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBEUF9U UF9DVEwoUE9SVF9FKSwKKwkJICAgICAgIERQX1RQX0NUTF9GRElfQVVUT1RSQUlOIHwKKwkJICAg ICAgIERQX1RQX0NUTF9MSU5LX1RSQUlOX05PUk1BTCB8CisJCSAgICAgICBEUF9UUF9DVExfRU5I QU5DRURfRlJBTUVfRU5BQkxFIHwKKwkJICAgICAgIERQX1RQX0NUTF9FTkFCTEUpOworfQorCiB2 b2lkIGlsa19mZGlfcGxsX2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2ZkaS5oCmluZGV4IGE5Y2QyMTY2M2ViOC4uYWYwMWQyYzE3M2E4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZkaS5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmRpLmgKQEAgLTksNiArOSw3IEBACiBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZTsKIHN0cnVjdCBpbnRlbF9jcnRjOwogc3RydWN0IGludGVsX2NydGNfc3Rh dGU7CitzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKIAogI2RlZmluZSBJOTE1X0RJU1BMQVlfQ09ORklH X1JFVFJZIDEKIGludCBpbGtfZmRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjLApAQCAtMTgsNSArMTksNyBAQCB2b2lkIGlsa19mZGlfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0Yyk7CiB2b2lkIGlsa19mZGlfcGxsX2Rpc2FibGUoc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMpOwogdm9pZCBpbGtfZmRpX3BsbF9lbmFibGUoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwogdm9pZCBpbnRlbF9mZGlfaW5pdF9ob29r KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGhzd19mZGlfbGlua190 cmFpbihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCWNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIAogI2VuZGlmCi0tIAoyLjI3LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=