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=-9.7 required=3.0 tests=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 D611AC43603 for ; Wed, 11 Dec 2019 02:09:11 +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 B6AE020652 for ; Wed, 11 Dec 2019 02:09:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6AE020652 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 1A24F6EA44; Wed, 11 Dec 2019 02:09:05 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 83BFA6EA39 for ; Wed, 11 Dec 2019 02:09:02 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Dec 2019 18:09:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,301,1571727600"; d="scan'208";a="210618386" Received: from josouza-mobl.jf.intel.com (HELO josouza-MOBL.intel.com) ([10.98.40.69]) by fmsmga008.fm.intel.com with ESMTP; 10 Dec 2019 18:09:01 -0800 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Tue, 10 Dec 2019 18:08:54 -0800 Message-Id: <20191211020858.423049-7-jose.souza@intel.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191211020858.423049-1-jose.souza@intel.com> References: <20191211020858.423049-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 07/11] drm/i915/tgl: Select master transcoder for MST stream 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: Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVEdMIHRoZSBibGVuZGluZyBvZiBhbGwgdGhlIHN0cmVhbXMgaGF2ZSBtb3ZlZCBmcm9tIERE SSB0bwp0cmFuc2NvZGVyLCBzbyBub3cgZXZlcnkgdHJhbnNjb2RlciB3b3JraW5nIG92ZXIgdGhl IHNhbWUgTVNUIHBvcnQgbXVzdApzZW5kIGl0cyBzdHJlYW0gdG8gYSBtYXN0ZXIgdHJhbnNjb2Rl ciBhbmQgbWFzdGVyIHdpbGwgc2VuZCB0byBEREkKcmVzcGVjdGluZyB0aGUgdGltZSBzbG90cy4K ClNvIGhlcmUgYWRkaW5nIGFsbCB0aGUgQ1JUQ3MgdGhhdCBzaGFyZXMgdGhlIHNhbWUgTVNUIHN0 cmVhbSBpZgpuZWVkZWQgYW5kIGNvbXB1dGluZyB0aGVpciBzdGF0ZSBhZ2FpbiwgaXQgd2lsbCBw aWNrIHRoZSBsb3dlc3QKcGlwZS90cmFuc2NvZGVyIGFtb25nIHRoZSBvbmVzIGluIHRoZSBzYW1l IHN0cmVhbSB0byBiZSBtYXN0ZXIuCgpNb3N0IG9mIHRoZSB0aW1lIHNrbF9jb21taXRfbW9kZXNl dF9lbmFibGVzKCkgZW5hYmxlcyBwaXBlcyBpbiBhCmNyZXNjZW50IG9yZGVyIGJ1dCBkdWUgRERC IG92ZXJsYXBwaW5nIGl0IG1pZ2h0IG5vdCBoYXBwZW4sIHRoaXMKc2NlbmFyaW9zIHdpbGwgYmUg aGFuZGxlZCBpbiB0aGUgbmV4dCBwYXRjaC4KCnYyOgotIFVzaW5nIHJlY2VudGx5IGFkZGVkIGlu dGVsX2NydGNfc3RhdGVfcmVzZXQoKSB0byBzZXQKbXN0X21hc3Rlcl90cmFuc2NvZGVyIHRvIGlu dmFsaWQgdHJhbnNjb2RlciBmb3IgYWxsIG5vbiBnZW4xMiAmIE1TVApjb2RlIHBhdGhzCi0gU2V0 dGluZyBsb3dlc3QgcGlwZS90cmFuc2NvZGVyIGFzIG1hc3RlciwgcHJldmlvdXNseSBpdCB3YXMg dGhlCmZpcnN0IG9uZSBidXQgc2V0dGluZyBhIHByZWRpY3RhYmxlIG9uZSB3aWxsIGhlbHAgaW4g ZnV0dXJlIE1TVCBlCnBvcnQgc3luYyBpbnRlZ3JhdGlvbgotIE1vdmluZyB0byBpbnRlbCB0eXBl IGFzIG11Y2ggYXMgd2UgY2FuCgpCU3BlYzogNTA0OTMKQlNwZWM6IDQ5MTkwCkNjOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTHVjYXMgRGUgTWFy Y2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVy dG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8ICAxNCArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaCAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgICB8ICAxNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgIDEzICstCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgIDMgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcF9tc3QuYyAgIHwgMTM5ICsrKysrKysrKysrKysrKystLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaCAgIHwgICA1ICsKIDcgZmlsZXMgY2hh bmdlZCwgMTc4IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCmluZGV4IDZlOTNhMzlhNmZlYy4uNjlhMDQz MGM0NjM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0 b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMK QEAgLTIwNiw2ICsyMDYsMjAgQEAgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfbmVlZHNfbW9kZXNl dChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkgICAgICAgKG5ld19jcnRjICYm IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0ZS0+dWFwaSkpOwog fQogCitzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKgoraW50ZWxfYXRvbWlj X2dldF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSwKKwkJCQkJIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRlOworCisJY29ubmVjdG9yX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKCZzdGF0ZS0+YmFzZSwKKwkJCQkJ CQkgJmNvbm5lY3Rvci0+YmFzZSk7CisJaWYgKElTX0VSUihjb25uZWN0b3Jfc3RhdGUpKQorCQly ZXR1cm4gRVJSX0NBU1QoY29ubmVjdG9yX3N0YXRlKTsKKworCXJldHVybiB0b19pbnRlbF9kaWdp dGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uZWN0b3Jfc3RhdGUpOworfQorCiAvKioKICAqIGludGVs X2NydGNfZHVwbGljYXRlX3N0YXRlIC0gZHVwbGljYXRlIGNydGMgc3RhdGUKICAqIEBjcnRjOiBk cm0gY3J0YwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9h dG9taWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKaW5k ZXggYmE5Y2MyOWE1ODY1Li42ZTg2MzhkODNkMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9hdG9taWMuaApAQCAtMzUsNiArMzUsOSBAQCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqCiBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiBib29sIGludGVsX2RpZ2l0YWxfY29ubmVj dG9yX25lZWRzX21vZGVzZXQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJ CSAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CitzdHJ1Y3QgaW50ZWxfZGln aXRhbF9jb25uZWN0b3Jfc3RhdGUgKgoraW50ZWxfYXRvbWljX2dldF9kaWdpdGFsX2Nvbm5lY3Rv cl9zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkJIHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiAKIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqaW50 ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgaW50 ZWxfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmluZGV4IDNlODFjNTRjMzQ5ZS4uZTI5YmRlMjEw NjZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKQEAgLTE5MDMs OCArMTkwMywxMyBAQCBpbnRlbF9kZGlfdHJhbnNjb2Rlcl9mdW5jX3JlZ192YWxfZ2V0KGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQl0ZW1wIHw9IFRSQU5TX0RE SV9NT0RFX1NFTEVDVF9EUF9NU1Q7CiAJCXRlbXAgfD0gRERJX1BPUlRfV0lEVEgoY3J0Y19zdGF0 ZS0+bGFuZV9jb3VudCk7CiAKLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIpCi0JCQl0 ZW1wIHw9IFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NFTEVDVChjcnRjX3N0YXRlLT5jcHVfdHJh bnNjb2Rlcik7CisJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyKSB7CisJCQllbnVtIHRy YW5zY29kZXIgbWFzdGVyOworCisJCQltYXN0ZXIgPSBjcnRjX3N0YXRlLT5tc3RfbWFzdGVyX3Ry YW5zY29kZXI7CisJCQlXQVJOX09OKG1hc3RlciA9PSBJTlZBTElEX1RSQU5TQ09ERVIpOworCQkJ dGVtcCB8PSBUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1QobWFzdGVyKTsKKwkJfQogCX0g ZWxzZSB7CiAJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0RQX1NTVDsKIAkJdGVtcCB8 PSBERElfUE9SVF9XSURUSChjcnRjX3N0YXRlLT5sYW5lX2NvdW50KTsKQEAgLTQzNzUsNiArNDM4 MCwxMSBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQlwaXBlX2NvbmZpZy0+b3V0cHV0X3R5cGVzIHw9IEJJVChJTlRFTF9PVVRQVVRf RFBfTVNUKTsKIAkJcGlwZV9jb25maWctPmxhbmVfY291bnQgPQogCQkJKCh0ZW1wICYgRERJX1BP UlRfV0lEVEhfTUFTSykgPj4gRERJX1BPUlRfV0lEVEhfU0hJRlQpICsgMTsKKworCQlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMikKKwkJCXBpcGVfY29uZmlnLT5tc3RfbWFzdGVyX3RyYW5z Y29kZXIgPQorCQkJCQlSRUdfRklFTERfR0VUKFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NFTEVD VF9NQVNLLCB0ZW1wKTsKKwogCQlpbnRlbF9kcF9nZXRfbV9uKGludGVsX2NydGMsIHBpcGVfY29u ZmlnKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZmU4NjNmOTYxMDY3Li5kMDU5OTQ4ZWVjOWEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC00Niw2ICs0 Niw3IEBACiAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9jcnQuaCIKICNpbmNsdWRlICJkaXNwbGF5 L2ludGVsX2RkaS5oIgogI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHAuaCIKKyNpbmNsdWRlICJk aXNwbGF5L2ludGVsX2RwX21zdC5oIgogI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHNpLmgiCiAj aW5jbHVkZSAiZGlzcGxheS9pbnRlbF9kdm8uaCIKICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2dt YnVzLmgiCkBAIC0xMTY2Nyw2ICsxMTY2OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfc3Rh dGVfcmVzZXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJY3J0Y19zdGF0 ZS0+aHN3X3dvcmthcm91bmRfcGlwZSA9IElOVkFMSURfUElQRTsKIAljcnRjX3N0YXRlLT5vdXRw dXRfZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9JTlZBTElEOwogCWNydGNfc3RhdGUtPnNj YWxlcl9zdGF0ZS5zY2FsZXJfaWQgPSAtMTsKKwljcnRjX3N0YXRlLT5tc3RfbWFzdGVyX3RyYW5z Y29kZXIgPSBJTlZBTElEX1RSQU5TQ09ERVI7CiB9CiAKIC8qIFJldHVybnMgdGhlIGN1cnJlbnRs eSBwcm9ncmFtbWVkIG1vZGUgb2YgdGhlIGdpdmVuIGVuY29kZXIuICovCkBAIC0xMjUxNCw2ICsx MjUxNiw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJICAgICAgcGlwZV9jb25maWctPmNz Y19tb2RlLCBwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSwKIAkJCSAgICAgIHBpcGVfY29uZmlnLT5n YW1tYV9lbmFibGUsIHBpcGVfY29uZmlnLT5jc2NfZW5hYmxlKTsKIAorCURSTV9ERUJVR19LTVMo Ik1TVCBtYXN0ZXIgdHJhbnNjb2RlcjogJXNcbiIsCisJCSAgICAgIHRyYW5zY29kZXJfbmFtZShw aXBlX2NvbmZpZy0+bXN0X21hc3Rlcl90cmFuc2NvZGVyKSk7CisKIGR1bXBfcGxhbmVzOgogCWlm ICghc3RhdGUpCiAJCXJldHVybjsKQEAgLTEyNjU1LDYgKzEyNjYwLDcgQEAgaW50ZWxfY3J0Y19w cmVwYXJlX2NsZWFyZWRfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiAJbWVtY3B5KHNhdmVkX3N0YXRlLT5pY2xfcG9ydF9kcGxscywgY3J0Y19zdGF0ZS0+aWNsX3Bv cnRfZHBsbHMsCiAJICAgICAgIHNpemVvZihzYXZlZF9zdGF0ZS0+aWNsX3BvcnRfZHBsbHMpKTsK IAlzYXZlZF9zdGF0ZS0+Y3JjX2VuYWJsZWQgPSBjcnRjX3N0YXRlLT5jcmNfZW5hYmxlZDsKKwlz YXZlZF9zdGF0ZS0+bXN0X21hc3Rlcl90cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVSOwog CWlmIChJU19HNFgoZGV2X3ByaXYpIHx8CiAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8 IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQogCQlzYXZlZF9zdGF0ZS0+d20gPSBjcnRjX3N0YXRl LT53bTsKQEAgLTEzMjkwLDYgKzEzMjk2LDggQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3VycmVudF9jb25maWcsCiAJUElQRV9DT05G X0NIRUNLX0koc3luY19tb2RlX3NsYXZlc19tYXNrKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShtYXN0 ZXJfdHJhbnNjb2Rlcik7CiAKKwlQSVBFX0NPTkZfQ0hFQ0tfSShtc3RfbWFzdGVyX3RyYW5zY29k ZXIpOworCiAjdW5kZWYgUElQRV9DT05GX0NIRUNLX1gKICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tf SQogI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19CT09MCkBAIC0xNDM3NCw3ICsxNDM4Miw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlKQogCXUzMiBoYW5kbGVkID0gMDsKIAlpbnQgaTsKIAotCS8qIE9ubHkg ZGlzYWJsZSBwb3J0IHN5bmMgc2xhdmVzICovCisJLyogT25seSBkaXNhYmxlIHBvcnQgc3luYyBh bmQgTVNUIHNsYXZlcyAqLwogCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0 YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKIAkJCQkJICAgIG5ld19jcnRjX3N0YXRlLCBpKSB7 CiAJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCkBAIC0xNDM4OCw3ICsxNDM5 Niw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkgKiBzbGF2ZSBDUlRDcyBhcmUgZGlzYWJsZWQg Zmlyc3QgYW5kIHRoZW4gbWFzdGVyIENSVEMgc2luY2UKIAkJICogU2xhdmUgdmJsYW5rcyBhcmUg bWFza2VkIHRpbGwgTWFzdGVyIFZibGFua3MuCiAJCSAqLwotCQlpZiAoIWlzX3RyYW5zX3BvcnRf c3luY19zbGF2ZShvbGRfY3J0Y19zdGF0ZSkpCisJCWlmICghaXNfdHJhbnNfcG9ydF9zeW5jX3Ns YXZlKG9sZF9jcnRjX3N0YXRlKSAmJgorCQkgICAgIWludGVsX2RwX21zdF9pc19zbGF2ZV90cmFu cyhvbGRfY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsKIAogCQlpbnRlbF9wcmVfcGxhbmVfdXBk YXRlKHN0YXRlLCBjcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggODNlYTA0MTQ5Yjc3Li42MzBhOTQ4OTJiN2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oCkBAIC0xMDU0LDYgKzEwNTQsOSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAKIAkv KiBCaXRtYXNrIHRvIGluZGljYXRlIHNsYXZlcyBhdHRhY2hlZCAqLwogCXU4IHN5bmNfbW9kZV9z bGF2ZXNfbWFzazsKKworCS8qIE9ubHkgdmFsaWQgb24gVEdMKyAqLworCWVudW0gdHJhbnNjb2Rl ciBtc3RfbWFzdGVyX3RyYW5zY29kZXI7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfY3J0YyB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwppbmRleCA5MjZlNDlmNDQ5 YTYuLjEyZjVlNzk5ZDkxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5jCkBAIC04Nyw2ICs4Nyw0OSBAQCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9jb21w dXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiAw OwogfQogCisvKgorICogSXRlcmF0ZSBvdmVyIGFsbCBjb25uZWN0b3JzIGFuZCBzZXQgbXN0X21h c3Rlcl90cmFuc2NvZGVyIHRvIHRoZSBzbWFsbGVzdAorICogdHJhbnNjb2RlciBpZCB0aGF0IHNo YXJlcyB0aGUgc2FtZSBNU1QgY29ubmVjdG9yLgorICovCitzdGF0aWMgaW50CitpbnRlbF9kcF9t c3RfbWFzdGVyX3RyYW5zX2NvbXB1dGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJ CQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCQkgIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGUpCit7CisJc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gdG9faW50ZWxf Y29ubmVjdG9yKGNvbm5lY3Rvcl9zdGF0ZS0+Y29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKml0ZXJfY29ubmVjdG9yX3N0YXRlOworCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKml0ZXJfY29ubmVjdG9yOworCWludCBpOworCisJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPCAxMikKKwkJcmV0dXJuIDA7CisKKwljcnRjX3N0YXRlLT5tc3Rf bWFzdGVyX3RyYW5zY29kZXIgPSBJOTE1X01BWF9UUkFOU0NPREVSUzsKKworCWZvcl9lYWNoX25l d19pbnRlbF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGl0ZXJfY29ubmVjdG9yLAorCQkJCQkg ICAgICBpdGVyX2Nvbm5lY3Rvcl9zdGF0ZSwgaSkgeworCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqaXRlcl9jcnRjX3N0YXRlOworCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaXRlcl9jcnRjOworCisJ CWlmIChjb25uZWN0b3ItPm1zdF9wb3J0ICE9IGl0ZXJfY29ubmVjdG9yLT5tc3RfcG9ydCB8fAor CQkgICAgIWl0ZXJfY29ubmVjdG9yX3N0YXRlLT5iYXNlLmNydGMpCisJCQljb250aW51ZTsKKwor CQlpdGVyX2NydGMgPSB0b19pbnRlbF9jcnRjKGl0ZXJfY29ubmVjdG9yX3N0YXRlLT5iYXNlLmNy dGMpOworCQlpdGVyX2NydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRl KHN0YXRlLAorCQkJCQkJCQkgIGl0ZXJfY3J0Yyk7CisJCWlmICghaXRlcl9jcnRjX3N0YXRlLT51 YXBpLmFjdGl2ZSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChpdGVyX2NydGNfc3RhdGUtPmNwdV90 cmFuc2NvZGVyIDwgY3J0Y19zdGF0ZS0+bXN0X21hc3Rlcl90cmFuc2NvZGVyKQorCQkJY3J0Y19z dGF0ZS0+bXN0X21hc3Rlcl90cmFuc2NvZGVyID0gaXRlcl9jcnRjX3N0YXRlLT5jcHVfdHJhbnNj b2RlcjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgICAgICAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCkBAIC0xNTQsMjQgKzE5Nyw4OCBAQCBzdGF0 aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAogCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlX2xldmVsKGRldl9wcml2 LCBwaXBlX2NvbmZpZyk7CiAKKwlyZXQgPSBpbnRlbF9kcF9tc3RfbWFzdGVyX3RyYW5zX2NvbXB1 dGUoZW5jb2RlciwgcGlwZV9jb25maWcsCisJCQkJCQljb25uX3N0YXRlKTsKKwlpZiAocmV0KQor CQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBJZiBvbmUgb2YgdGhlIGNv bm5lY3RvcnMgaW4gYSBNU1Qgc3RyZWFtIG5lZWRzIGEgbW9kZXNldCwgbWFyayBhbGwgQ1JUQ3MK KyAqIHRoYXQgaGF2ZSBhIGNvbm5lY3RvciBpbiB0aGUgc2FtZSBNU1Qgc3RyZWFtIGFzIG1vZGUg Y2hhbmdlZCwKKyAqIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoKStpbnRlbF9jcnRjX2NoZWNr X2Zhc3RzZXQoKSB3aWxsIHRha2UgdG8gZG8gYQorICogZmFzdHNldCB3aGVuIHBvc3NpYmxlLgor ICovCitzdGF0aWMgaW50CitpbnRlbF9kcF9tc3RfYXRvbWljX21hc3Rlcl90cmFuc19jaGVjayhz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkJICAgICAgIHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9s aXN0X2l0ZXIgY29ubmVjdG9yX2xpc3RfaXRlcjsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3JfaXRlcjsKKworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTIpCisJCXJldHVy biAgMDsKKworCWlmICghaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfbmVlZHNfbW9kZXNldChzdGF0 ZSwgY29ubmVjdG9yKSkKKwkJcmV0dXJuIDA7CisKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9i ZWdpbigmZGV2X3ByaXYtPmRybSwgJmNvbm5lY3Rvcl9saXN0X2l0ZXIpOworCWZvcl9lYWNoX2lu dGVsX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3Rvcl9pdGVyLCAmY29ubmVjdG9yX2xpc3RfaXRlcikg eworCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9pdGVy X3N0YXRlOworCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwkJc3RydWN0 IGludGVsX2NydGMgKmNydGM7CisKKwkJaWYgKGNvbm5lY3Rvcl9pdGVyLT5tc3RfcG9ydCAhPSBj b25uZWN0b3ItPm1zdF9wb3J0KQorCQkJY29udGludWU7CisKKwkJY29ubmVjdG9yX2l0ZXJfc3Rh dGUgPQorCQkJaW50ZWxfYXRvbWljX2dldF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwK KwkJCQkJCQkJIGNvbm5lY3Rvcl9pdGVyKTsKKwkJaWYgKElTX0VSUihjb25uZWN0b3JfaXRlcl9z dGF0ZSkpIHsKKwkJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubmVjdG9yX2xpc3Rf aXRlcik7CisJCQlyZXR1cm4gUFRSX0VSUihjb25uZWN0b3JfaXRlcl9zdGF0ZSk7CisJCX0KKwor CQlpZiAoIWNvbm5lY3Rvcl9pdGVyX3N0YXRlLT5iYXNlLmNydGMpCisJCQljb250aW51ZTsKKwor CQljcnRjID0gdG9faW50ZWxfY3J0Yyhjb25uZWN0b3JfaXRlcl9zdGF0ZS0+YmFzZS5jcnRjKTsK KwkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZSgmc3RhdGUtPmJhc2Us IGNydGMpOworCQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKSB7CisJCQlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9lbmQoJmNvbm5lY3Rvcl9saXN0X2l0ZXIpOworCQkJcmV0dXJuIFBUUl9FUlIoY3J0 Y19zdGF0ZSk7CisJCX0KKworCQljcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IHRydWU7 CisJfQorCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubmVjdG9yX2xpc3RfaXRlcik7 CisKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludAogaW50ZWxfZHBfbXN0X2F0b21pY19jaGVj ayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkJICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCisJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpfc3RhdGUpCiB7 CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3Rh dGUoX3N0YXRlKTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUg PQotCQlkcm1fYXRvbWljX2dldF9uZXdfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3Ip OworCQlkcm1fYXRvbWljX2dldF9uZXdfY29ubmVjdG9yX3N0YXRlKCZzdGF0ZS0+YmFzZSwgY29u bmVjdG9yKTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUgPQot CQlkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwor CQlkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRlKCZzdGF0ZS0+YmFzZSwgY29ubmVj dG9yKTsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPQogCQl0b19p bnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgZHJtX2NydGMgKm5ld19jcnRjID0g bmV3X2Nvbm5fc3RhdGUtPmNydGM7CiAJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICpt Z3I7CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2F0b21pY19j aGVjayhjb25uZWN0b3IsIHN0YXRlKTsKKwlyZXQgPSBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9h dG9taWNfY2hlY2soY29ubmVjdG9yLCAmc3RhdGUtPmJhc2UpOworCWlmIChyZXQpCisJCXJldHVy biByZXQ7CisKKwlyZXQgPSBpbnRlbF9kcF9tc3RfYXRvbWljX21hc3Rlcl90cmFuc19jaGVjayhp bnRlbF9jb25uZWN0b3IsIHN0YXRlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0x ODIsMTIgKzI4OSw5IEBAIGludGVsX2RwX21zdF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKIAkgKiBjb25uZWN0b3IKIAkgKi8KIAlpZiAobmV3X2NydGMpIHsK LQkJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPQotCQkJdG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKTsKIAkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKG5ld19jcnRjKTsKIAkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUgPQotCQkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShpbnRlbF9zdGF0ZSwK LQkJCQkJCQlpbnRlbF9jcnRjKTsKKwkJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUo c3RhdGUsIGludGVsX2NydGMpOwogCiAJCWlmICghY3J0Y19zdGF0ZSB8fAogCQkgICAgIWRybV9h dG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT51YXBpKSB8fApAQCAtMTk2LDcg KzMwMCw3IEBAIGludGVsX2RwX21zdF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKIAl9CiAKIAltZ3IgPSAmZW5jX3RvX21zdChvbGRfY29ubl9zdGF0ZS0+YmVz dF9lbmNvZGVyKS0+cHJpbWFyeS0+ZHAubXN0X21ncjsKLQlyZXQgPSBkcm1fZHBfYXRvbWljX3Jl bGVhc2VfdmNwaV9zbG90cyhzdGF0ZSwgbWdyLAorCXJldCA9IGRybV9kcF9hdG9taWNfcmVsZWFz ZV92Y3BpX3Nsb3RzKCZzdGF0ZS0+YmFzZSwgbWdyLAogCQkJCQkgICAgICAgaW50ZWxfY29ubmVj dG9yLT5wb3J0KTsKIAogCXJldHVybiByZXQ7CkBAIC0yNDEsNiArMzQ1LDkgQEAgc3RhdGljIHZv aWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAlpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcy0tOwogCWxhc3RfbXN0X3N0cmVhbSA9IGlu dGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzID09IDA7CiAKKwlXQVJOX09OKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTIgJiYgbGFzdF9tc3Rfc3RyZWFtICYmCisJCSFpbnRlbF9kcF9tc3RfaXNfbWFz dGVyX3RyYW5zKG9sZF9jcnRjX3N0YXRlKSk7CisKIAkvKgogCSAqIEZyb20gVEdMIHNwZWM6ICJJ ZiBtdWx0aS1zdHJlYW0gc2xhdmUgdHJhbnNjb2RlcjogQ29uZmlndXJlCiAJICogVHJhbnNjb2Rl ciBDbG9jayBTZWxlY3QgdG8gZGlyZWN0IG5vIGNsb2NrIHRvIHRoZSB0cmFuc2NvZGVyIgpAQCAt MzIxLDYgKzQyOCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5hYmxlX2RwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWludGVsX21zdC0+Y29ubmVjdG9yID0gY29ubmVj dG9yOwogCWZpcnN0X21zdF9zdHJlYW0gPSBpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAw OwogCisJV0FSTl9PTihJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyICYmIGZpcnN0X21zdF9zdHJl YW0gJiYKKwkJIWludGVsX2RwX21zdF9pc19tYXN0ZXJfdHJhbnMocGlwZV9jb25maWcpKTsKKwog CURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAlZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3Rf bGlua3MpOwogCiAJaWYgKGZpcnN0X21zdF9zdHJlYW0pCkBAIC03MjYsMyArODM2LDE0IEBAIGlu dGVsX2RwX21zdF9lbmNvZGVyX2NsZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQpCiAJZHJtX2RwX21zdF90b3BvbG9neV9tZ3JfZGVzdHJveSgmaW50ZWxfZHAt Pm1zdF9tZ3IpOwogCS8qIGVuY29kZXJzIHdpbGwgZ2V0IGtpbGxlZCBieSBub3JtYWwgY2xlYW51 cCAqLwogfQorCitib29sIGludGVsX2RwX21zdF9pc19tYXN0ZXJfdHJhbnMoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCit7CisJcmV0dXJuIGNydGNfc3RhdGUtPm1z dF9tYXN0ZXJfdHJhbnNjb2RlciA9PSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKK30KKwor Ym9vbCBpbnRlbF9kcF9tc3RfaXNfc2xhdmVfdHJhbnMoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCit7CisJcmV0dXJuIGNydGNfc3RhdGUtPm1zdF9tYXN0ZXJfdHJh bnNjb2RlciAhPSBJTlZBTElEX1RSQU5TQ09ERVIgJiYKKwkgICAgICAgY3J0Y19zdGF0ZS0+bXN0 X21hc3Rlcl90cmFuc2NvZGVyICE9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOworfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmgKaW5kZXggZjY2MGFkODBk YjA0Li5lNDA3NjdmNzgzNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHBfbXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcF9tc3QuaApAQCAtNiwxMCArNiwxNSBAQAogI2lmbmRlZiBfX0lOVEVMX0RQX01TVF9IX18K ICNkZWZpbmUgX19JTlRFTF9EUF9NU1RfSF9fCiAKKyNpbmNsdWRlIDxzdGRib29sLmg+CisKIHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQ7CitzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZTsKIAogaW50 IGludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsIGludCBjb25uX2lkKTsKIHZvaWQgaW50ZWxfZHBfbXN0X2VuY29kZXJfY2xl YW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCk7CiBpbnQgaW50 ZWxfZHBfbXN0X2VuY29kZXJfYWN0aXZlX2xpbmtzKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0KTsKK2Jvb2wgaW50ZWxfZHBfbXN0X2lzX21hc3Rlcl90cmFucyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Citib29sIGludGVsX2RwX21z dF9pc19zbGF2ZV90cmFucyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSk7CiAKICNlbmRpZiAvKiBfX0lOVEVMX0RQX01TVF9IX18gKi8KLS0gCjIuMjQuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==