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 AB043C433DF for ; Thu, 14 May 2020 07:53:05 +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 9318720575 for ; Thu, 14 May 2020 07:53:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9318720575 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 137CE6EADD; Thu, 14 May 2020 07:53:05 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 508516EADB for ; Thu, 14 May 2020 07:53:03 +0000 (UTC) IronPort-SDR: lcqoX7kqc+m3lpUphYArhw9AI1AgndqOe4Lhn0Yfp1OxqIhouldmniQTDjSuxaBiUfMLK4tsED E11qE0RpRouQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2020 00:53:03 -0700 IronPort-SDR: Rl0mUMfZ4K4MCIyl8Ffk/PjEf/f65eJKNItDjRTGnJpo4P4FLuuM/6mdS6MCjvuQhvgLH9zQL9 Re34EVjkE1JQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,390,1583222400"; d="scan'208";a="372160495" Received: from unknown (HELO slisovsk-Lenovo-ideapad-720S-13IKB.fi.intel.com) ([10.237.72.89]) by fmsmga001.fm.intel.com with ESMTP; 14 May 2020 00:53:01 -0700 From: Stanislav Lisovskiy To: intel-gfx@lists.freedesktop.org Date: Thu, 14 May 2020 10:48:52 +0300 Message-Id: <20200514074853.9508-3-stanislav.lisovskiy@intel.com> X-Mailer: git-send-email 2.24.1.485.gad05a3d8e5 In-Reply-To: <20200514074853.9508-1-stanislav.lisovskiy@intel.com> References: <20200514074853.9508-1-stanislav.lisovskiy@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v30 2/3] drm/i915: Restrict qgv points which don't have enough bandwidth. 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" QWNjb3JkaW5nIHRvIEJTcGVjIDUzOTk4LCB3ZSBzaG91bGQgdHJ5IHRvCnJlc3RyaWN0IHFndiBw b2ludHMsIHdoaWNoIGNhbid0IHByb3ZpZGUKZW5vdWdoIGJhbmR3aWR0aCBmb3IgZGVzaXJlZCBk aXNwbGF5IGNvbmZpZ3VyYXRpb24uCgpDdXJyZW50bHkgd2UgYXJlIGp1c3QgY29tcGFyaW5nIGFn YWluc3QgYWxsIG9mCnRob3NlIGFuZCB0YWtlIG1pbmltdW0od29yc3QgY2FzZSkuCgp2MjogRml4 ZWQgd3JvbmcgUENvZGUgcmVwbHkgbWFzaywgcmVtb3ZlZCBoYXJkY29kZWQKICAgIHZhbHVlcy4K CnYzOiBGb3JiaWQgc2ltdWx0YW5lb3VzIGxlZ2FjeSBTQUdWIFBDb2RlIHJlcXVlc3RzIGFuZAog ICAgcmVzdHJpY3RpbmcgcWd2IHBvaW50cy4gUHV0IHRoZSBhY3R1YWwgcmVzdHJpY3Rpb24KICAg IHRvIGNvbW1pdCBmdW5jdGlvbiwgYWRkZWQgc2VyaWFsaXphdGlvbih0aGFua3MgdG8gVmlsbGUp CiAgICB0byBwcmV2ZW50IGNvbW1pdCBiZWluZyBhcHBsaWVkIG91dCBvZiBvcmRlciBpbiBjYXNl IG9mCiAgICBub25ibG9ja2luZyBhbmQvb3Igbm9tb2Rlc2V0IGNvbW1pdHMuCgp2NDoKICAgIC0g TWlub3IgY29kZSByZWZhY3RvcmluZywgZml4ZWQgZmV3IHR5cG9zKHRoYW5rcyB0byBKYW1lcyBB dXNtdXMpCiAgICAtIENoYW5nZSB0aGUgbmFtaW5nIG9mIHFndiBwb2ludAogICAgICBtYXNraW5n L3VubWFza2luZyBmdW5jdGlvbnMoSmFtZXMgQXVzbXVzKS4KICAgIC0gU2ltcGxpZnkgdGhlIG1h c2tpbmcvdW5tYXNraW5nIG9wZXJhdGlvbiBpdHNlbGYsCiAgICAgIGFzIHdlIGRvbid0IG5lZWQg dG8gbWFzayBvbmx5IHNpbmdsZSBwb2ludCBwZXIgcmVxdWVzdChKYW1lcyBBdXNtdXMpCiAgICAt IFJlamVjdCBhbmQgc3RpY2sgdG8gaGlnaGVzdCBiYW5kd2lkdGggcG9pbnQgaWYgU0FHVgogICAg ICBjYW4ndCBiZSBlbmFibGVkKEJTcGVjKQoKdjU6CiAgICAtIEFkZCBuZXcgbWFpbGJveCByZXBs eSBjb2Rlcywgd2hpY2ggc2VlbXMgdG8gaGFwcGVuIGR1cmluZyBib290CiAgICAgIHRpbWUgZm9y IFRHTCBhbmQgaW5kaWNhdGUgdGhhdCBRR1Ygc2V0dGluZyBpcyBub3QgeWV0IGF2YWlsYWJsZS4K CnY2OgogICAgLSBJbmNyZWFzZSBudW1iZXIgb2Ygc3VwcG9ydGVkIFFHViBwb2ludHMgdG8gYmUg aW4gc3luYyB3aXRoIEJTcGVjLgoKdjc6IC0gUmViYXNlZCBhbmQgcmVzb2x2ZWQgY29uZmxpY3Qg dG8gZml4IGJ1aWxkIGZhaWx1cmUuCiAgICAtIEZpeCBOVU1fUUdWX1BPSU5UUyB0byA4IGFuZCBt b3ZlZCB0aGF0IHRvIGhlYWRlciBmaWxlKEphbWVzIEF1c211cykKCnY4OiAtIERvbid0IHJlcG9y dCBhbiBlcnJvciBpZiB3ZSBjYW4ndCByZXN0cmljdCBxZ3YgcG9pbnRzLCBhcyBTQUdWCiAgICAg IGNhbiBiZSBkaXNhYmxlZCBieSBCSU9TLCB3aGljaCBpcyBjb21wbGV0ZWx5IGxlZ2FsLiBTbyBk b24ndAogICAgICBtYWtlIENJIHBhbmljLiBJbnN0ZWFkIGlmIHdlIGRldGVjdCB0aGF0IHRoZXJl IGlzIG9ubHkgMSBRR1YKICAgICAgcG9pbnQgYWNjZXNzaWJsZSBqdXN0IGFuYWx5emUgaWYgd2Ug Y2FuIGZpdCB0aGUgcmVxdWlyZWQgYmFuZHdpZHRoCiAgICAgIHJlcXVpcmVtZW50cywgYnV0IG5v IG5lZWQgaW4gcmVzdHJpY3RpbmcuCgp2OTogLSBGaXggd3JvbmcgUUdWIHRyYW5zaXRpb24gaWYg d2UgaGF2ZSAwIHBsYW5lcyBhbmQgbm8gU0FHVgogICAgICBzaW11bHRhbmVvdXNseS4KCnYxMDog LSBGaXggQ0RDTEsgY29ycnVwdGlvbiwgYmVjYXVzZSBvZiBnbG9iYWwgc3RhdGUgZ2V0dGluZyBz ZXJpYWxpemVkCiAgICAgICB3aXRob3V0IG1vZGVzZXQsIHdoaWNoIGNhdXNlZCBjb3B5aW5nIG9m IG5vbi1jYWxjdWxhdGVkIGNkY2xrCiAgICAgICB0byBiZSBjb3BpZWQgdG8gZGV2X3ByaXYodGhh bmtzIHRvIFZpbGxlIGZvciB0aGUgaGludCkuCgp2MTE6IC0gUmVtb3ZlIHVubmVlZGVkIGhlYWRl cnMgYW5kIHNwYWNlcyhNYXR0aGV3IFJvcGVyKQogICAgIC0gUmVtb3ZlIHVubmVlZGVkIGludGVs X3Fndl9pbmZvIHFpIHN0cnVjdCBmcm9tIGJ3IGNoZWNrIGFuZCB6ZXJvCiAgICAgICBvdXQgdGhl IG5lZWRlZCBvbmUoTWF0dGhldyBSb3BlcikKICAgICAtIENoYW5nZWQgUUdWIGVycm9yIG1lc3Nh Z2UgdG8gaGF2ZSBtb3JlIGNsZWFyIG1lYW5pbmcoTWF0dGhldyBSb3BlcikKICAgICAtIFVzZSBz dGF0ZS0+bW9kZXNldF9zZXQgaW5zdGVhZCBvZiBhbnlfbXMoTWF0dGhldyBSb3BlcikKICAgICAt IE1vdmVkIE5VTV9TQUdWX1BPSU5UUyBmcm9tIGk5MTVfcmVnLmggdG8gaTkxNV9kcnYuaCB3aGVy ZSBpdCdzIHVzZWQKICAgICAtIEtlZXAgdXNpbmcgY3J0Y19zdGF0ZS0+aHcuYWN0aXZlIGluc3Rl YWQgb2YgLmVuYWJsZShNYXR0aGV3IFJvcGVyKQogICAgIC0gTW92ZWQgdW5yZWxhdGVkIGNoYW5n ZXMgdG8gb3RoZXIgcGF0Y2godXNpbmcgbGF0ZW5jeSBhcyBwYXJhbWV0ZXIKICAgICAgIGZvciBw bGFuZSB3bSBjYWxjdWxhdGlvbiwgbW92ZWQgdG8gU0FHViByZWZhY3RvcmluZyBwYXRjaCkKCnYx MjogLSBGaXggcmViYXNlIGNvbmZsaWN0IHdpdGggb3duIHRlbXBvcmFyeSBTQUdWL1FHViBmaXgu CiAgICAgLSBSZW1vdmUgdW5uZWNlc3NhcnkgbWFzayBiZWluZyB6ZXJvIGNoZWNrIHdoZW4gdW5t YXNraW5nCiAgICAgICBxZ3YgcG9pbnRzIGFzIHRoaXMgaXMgY29tcGxldGVseSBsZWdhbChNYXR0 IFJvcGVyKQogICAgIC0gQ2hlY2sgaWYgd2UgYXJlIHNldHRpbmcgdGhlIHNhbWUgbWFzayBhcyBh bHJlYWR5IGJlaW5nIHNldAogICAgICAgaW4gaGFyZHdhcmUgdG8gcHJldmVudCBlcnJvciBmcm9t IFBDb2RlLgogICAgIC0gRml4IGVycm9yIG1lc3NhZ2Ugd2hlbiByZXN0cmljdGluZy91bnJlc3Ry aWN0aW5nIHFndiBwb2ludHMKICAgICAgIHRvICJtYXNrL3VubWFzayIgd2hpY2ggc291bmRzIG1v cmUgYWNjdXJhdGUoTWF0dCBSb3BlcikKICAgICAtIE1vdmUgc2FndiBzdGF0dXMgc2V0dGluZyB0 byBpY2xfZ2V0X2J3X2luZm8gZnJvbSBhdG9taWMgY2hlY2sKICAgICAgIGFzIHRoaXMgc2hvdWxk IGJlIGNhbGN1bGF0ZWQgb25seSBvbmNlLihNYXR0IFJvcGVyKQogICAgIC0gRWRpdGVkIGNvbW1l bnRzIGZvciB0aGUgY2FzZSB3aGVuIHdlIGNhbid0IGVuYWJsZSBTQUdWIGFuZAogICAgICAgdXNl IG9ubHkgMSBRR1YgcG9pbnQgd2l0aCBoaWdoZXN0IGJhbmR3aWR0aCB0byBiZSBtb3JlCiAgICAg ICB1bmRlcnN0YW5kYWJsZS4oTWF0dCBSb3BlcikKCnYxMzogLSBNb3ZlZCBtYXhfZGF0YV9yYXRl IGluIGJ3IGNoZWNrIHRvIGNsb3NlciBzY29wZShWaWxsZSBTeXJqw6Rsw6QpCiAgICAgLSBDaGFu Z2VkIGNvbW1lbnQgZm9yIHplcm8gbmV3X21hc2sgaW4gcWd2IHBvaW50cyBtYXNraW5nIGZ1bmN0 aW9uCiAgICAgICB0byBiZXR0ZXIgcmVmbGVjdCByZWFsaXR5KFZpbGxlIFN5cmrDpGzDpCkKICAg ICAtIFNpbXBsaWZpZWQgYml0IG1hc2sgb3BlcmF0aW9uIGluIHFndiBwb2ludHMgbWFza2luZyBm dW5jdGlvbgogICAgICAgKFZpbGxlIFN5cmrDpGzDpCkKICAgICAtIE1vdmVkIGludGVsX3Fndl9w b2ludHNfbWFzayBjbG9zZXIgdG8gZ2VuMTEgU0FHViBkaXNhYmxpbmcsCiAgICAgICBob3dldmVy IHRoaXMgc3RpbGwgY2FuJ3QgYmUgdW5kZXIgbW9kZXNldCBjb25kaXRpb24oVmlsbGUgU3lyasOk bMOkKQogICAgIC0gUGFja2VkIHFndl9wb2ludHNfbWFzayBhcyB1OCBhbmQgbW92ZWQgY2xvc2Vy IHRvIHBpcGVfc2Fndl9tYXNrCiAgICAgICAoVmlsbGUgU3lyasOkbMOkKQogICAgIC0gRXh0cmFj dGVkIFBDb2RlIGNoYW5nZXMgdG8gc2VwYXJhdGUgcGF0Y2guKFZpbGxlIFN5cmrDpGzDpCkKICAg ICAtIE5vdyB0cmVhdCBudW1fcGxhbmVzIDAgc2FtZSBhcyAxIHRvIGF2b2lkIGNvbmZ1c2lvbiBh bmQKICAgICAgIHJldHVybmluZyBtYXhfYncgYXMgMCwgd2hpY2ggd291bGQgcHJldmVudCBjaG9v c2luZyBRR1YKICAgICAgIHBvaW50IGhhdmluZyBtYXggYmFuZHdpZHRoIGluIGNhc2UgaWYgU0FH ViBpcyBub3QgYWxsb3dlZCwKICAgICAgIGFzIHBlciBCU3BlYyhWaWxsZSBTeXJqw6Rsw6QpCiAg ICAgLSBEbyB0aGUgYWN0dWFsIHFndl9wb2ludHNfbWFzayBzd2FwIGluIHRoZSBzYW1lIHBsYWNl IGFzCiAgICAgICBhbGwgb3RoZXIgZ2xvYmFsIHN0YXRlIHBhcnRzIGxpa2UgY2RjbGsgYXJlIHN3 YXBwZWQuCiAgICAgICBJbiB0aGUgbmV4dCBwYXRjaCwgdGhpcyBhbGwgd2lsbCBiZSBtb3ZlZCB0 byBidyBzdGF0ZSBhcwogICAgICAgZ2xvYmFsIHN0YXRlLCBvbmNlIG5ldyBnbG9iYWwgc3RhdGUg cGF0Y2ggc2VyaWVzIGZyb20gVmlsbGUKICAgICAgIGxhbmRzCgp2MTQ6IC0gTm93IHVzaW5nIGds b2JhbCBzdGF0ZSB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHFndiBwb2ludHMKICAgICAtIEFkZGVk IGdsb2JhbCBzdGF0ZSBsb2NraW5nIGJhY2ssIG90aGVyd2lzZSB3ZSBzZWVtIHRvIHJlYWQKICAg ICAgIGJ3IHN0YXRlIGluIGEgd3Jvbmcgd2F5LgoKdjE1OiAtIEFkZGVkIFRPRE8gY29tbWVudCBm b3IgbmVhciBhdG9taWMgZ2xvYmFsIHN0YXRlIGxvY2tpbmcgaW4KICAgICAgIGJ3IGNvZGUuCgp2 MTY6IC0gRml4ZWQgaW50ZWxfYXRvbWljX2J3XyogZnVuY3Rpb25zIHRvIGJlIGludGVsX2J3Xyog YXMgZGlzY3Vzc2VkCiAgICAgICB3aXRoIEphbmkgTmlrdWxhLgogICAgIC0gVGFrZSBid19zdGF0 ZV9jaGFuZ2VkIGZsYWcgaW50byB1c2UuCgp2MTc6IC0gTW92ZWQgcWd2IHBvaW50IHJlbGF0ZWQg bWFuaXB1bGF0aW9ucyBuZXh0IHRvIFNBR1YgY29kZSwgYXMKICAgICAgIHRob3NlIGFyZSBzZW1h bnRpY2FsbHkgcmVsYXRlZChWaWxsZSBTeXJqw6Rsw6QpCiAgICAgLSBSZW5hbWVkIHRob3NlIGlu dG8gaW50ZWxfc2Fndl8ocHJlKXwocG9zdClfcGxhbmVfdXBkYXRlCiAgICAgICAoVmlsbGUgU3ly asOkbMOkKQoKdjE4OiAtIE1vdmUgc2FndiByZWxhdGVkIGNhbGxzIGZyb20gY29tbWl0IHRhaWwg aW50bwogICAgICAgaW50ZWxfc2Fndl8ocHJlKXwocG9zdClfcGxhbmVfdXBkYXRlKFZpbGxlIFN5 cmrDpGzDpCkKCnYxOTogLSBVc2UgaW50ZWxfYXRvbWljX2dldF9id18ob2xkKXwobmV3KV9zdGF0 ZSB3aGljaCBpcyBpbnRlbmRlZAogICAgICAgZm9yIGNvbW1pdCB0YWlsIHN0YWdlLgoKdjIwOiAt IFJldHVybiBtYXggYmFuZHdpZHRoIGZvciAwIHBsYW5lcyhWaWxsZSkKICAgICAtIENvbnN0aWZ5 IG9sZF9id19zdGF0ZSBpbiBid19hdG9taWNfY2hlY2soVmlsbGUpCiAgICAgLSBSZW1vdmVkIHNv bWUgZGVidWdzKFZpbGxlKQogICAgIC0gQWRkZWQgZGF0YSByYXRlIHRvIGRlYnVnIHByaW50IHdo ZW4gbm8gUUdWIHBvaW50cyhWaWxsZSkKICAgICAtIFJlbW92ZWQgc29tZSBjb21tZW50cyhWaWxs ZSkKCnYyMSwgdjIyLCB2MjM6IC0gRml4ZWQgcmViYXNlIGNvbmZsaWN0Cgp2MjQ6IC0gQ2hhbmdl ZCBQQ29kZSBtYXNrIHRvIHVzZSBJQ0xfIHByZWZpeAp2MjU6IC0gUmVzb2x2ZWQgcmViYXNlIGNv bmZsaWN0Cgp2MjY6IC0gUmVtb3ZlZCByZWR1bmRhbnQgTlVMTCBjaGVja3MoVmlsbGUpCiAgICAg LSBSZW1vdmVkIHJlZHVuZGFudCBlcnJvciBwcmludHMoVmlsbGUpCgp2Mjc6IC0gVXNlIGRldmlj ZSBzcGVjaWZpYyBkcm1fZXJyKFZpbGxlKQogICAgIC0gRml4ZWQgcGFyZW50aGVzaXMgaWRlbnQg cmVwb3J0ZWQgYnkgY2hlY2twYXRjaAogICAgICAgTGluZSBvdmVyIDEwMCB3YXJucyB0byBiZSBm aXhlZCB0b2dldGhlciB3aXRoCiAgICAgICBleGlzdGluZyBjb2RlIHN0eWxlLgoKU2lnbmVkLW9m Zi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRlbC5jb20+ CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPgpDYzogSmFtZXMg QXVzbXVzIDxqYW1lcy5hdXNtdXNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYncuYyAgICAgICB8IDEzNyArKysrKysrKysrKysrLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYncuaCAgICAgICB8ICAgOSArKwogLi4uL2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgICAzICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgICB8ICA1NCArKysrKystCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5oICAgICAgICAgICAgICAgfCAgIDIgKwogNSBmaWxl cyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCmluZGV4IDZlN2NjM2E0ZjFhYS4uZmVmMDRlMmQ5 NTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2J3LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCkBAIC04LDYgKzgs OSBAQAogI2luY2x1ZGUgImludGVsX2J3LmgiCiAjaW5jbHVkZSAiaW50ZWxfZGlzcGxheV90eXBl cy5oIgogI2luY2x1ZGUgImludGVsX3NpZGViYW5kLmgiCisjaW5jbHVkZSAiaW50ZWxfYXRvbWlj LmgiCisjaW5jbHVkZSAiaW50ZWxfcG0uaCIKKwogCiAvKiBQYXJhbWV0ZXJzIGZvciBRY2xrIEdl eXNlcnZpbGxlIChRR1YpICovCiBzdHJ1Y3QgaW50ZWxfcWd2X3BvaW50IHsKQEAgLTExMyw2ICsx MTYsMjYgQEAgc3RhdGljIGludCBpY2xfcGNvZGVfcmVhZF9xZ3ZfcG9pbnRfaW5mbyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIDA7CiB9CiAKK2ludCBpY2xfcGNv ZGVfcmVzdHJpY3RfcWd2X3BvaW50cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CisJCQkJICB1MzIgcG9pbnRzX21hc2spCit7CisJaW50IHJldDsKKworCS8qIGJzcGVjIHNheXMg dG8ga2VlcCByZXRyeWluZyBmb3IgYXQgbGVhc3QgMSBtcyAqLworCXJldCA9IHNrbF9wY29kZV9y ZXF1ZXN0KGRldl9wcml2LCBJQ0xfUENPREVfU0FHVl9ERV9NRU1fU1NfQ09ORklHLAorCQkJCXBv aW50c19tYXNrLAorCQkJCUlDTF9QQ09ERV9QT0lOVFNfUkVTVFJJQ1RFRF9NQVNLLAorCQkJCUlD TF9QQ09ERV9QT0lOVFNfUkVTVFJJQ1RFRCwKKwkJCQkxKTsKKworCWlmIChyZXQgPCAwKSB7CisJ CWRybV9lcnIoJmRldl9wcml2LT5kcm0sICJGYWlsZWQgdG8gZGlzYWJsZSBxZ3YgcG9pbnRzICgl ZClcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRp YyBpbnQgaWNsX2dldF9xZ3ZfcG9pbnRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCSAgICAgIHN0cnVjdCBpbnRlbF9xZ3ZfaW5mbyAqcWkpCiB7CkBAIC0yNDAsNiArMjYz LDE2IEBAIHN0YXRpYyBpbnQgaWNsX2dldF9id19pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgY29uc3Qgc3RydWN0IGludGVsCiAJCQlicmVhazsKIAl9CiAKKwkvKgorCSAq IEluIGNhc2UgaWYgU0FHViBpcyBkaXNhYmxlZCBpbiBCSU9TLCB3ZSBhbHdheXMgZ2V0IDEKKwkg KiBTQUdWIHBvaW50LCBidXQgd2UgY2FuJ3Qgc2VuZCBQQ29kZSBjb21tYW5kcyB0byByZXN0cmlj dCBpdAorCSAqIGFzIGl0IHdpbGwgZmFpbCBhbmQgcG9pbnRsZXNzIGFueXdheS4KKwkgKi8KKwlp ZiAocWkubnVtX3BvaW50cyA9PSAxKQorCQlkZXZfcHJpdi0+c2Fndl9zdGF0dXMgPSBJOTE1X1NB R1ZfTk9UX0NPTlRST0xMRUQ7CisJZWxzZQorCQlkZXZfcHJpdi0+c2Fndl9zdGF0dXMgPSBJOTE1 X1NBR1ZfRU5BQkxFRDsKKwogCXJldHVybiAwOwogfQogCkBAIC0yNDgsNiArMjgxLDExIEBAIHN0 YXRpYyB1bnNpZ25lZCBpbnQgaWNsX21heF9idyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiB7CiAJaW50IGk7CiAKKwkvKgorCSAqIExldCdzIHJldHVybiBtYXggYncgZm9yIDAg cGxhbmVzCisJICovCisJbnVtX3BsYW5lcyA9IG1heCgxLCBudW1fcGxhbmVzKTsKKwogCWZvciAo aSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRldl9wcml2LT5tYXhfYncpOyBpKyspIHsKIAkJY29uc3Qg c3RydWN0IGludGVsX2J3X2luZm8gKmJpID0KIAkJCSZkZXZfcHJpdi0+bWF4X2J3W2ldOwpAQCAt Mjc3LDM0ICszMTUsNiBAQCB2b2lkIGludGVsX2J3X2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCQlpY2xfZ2V0X2J3X2luZm8oZGV2X3ByaXYsICZpY2xfc2FfaW5m byk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfbWF4X2RhdGFfcmF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCWludCBudW1fcGxhbmVzKQotewotCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7Ci0JCS8qCi0JCSAqIEFueSBidyBncm91cCBo YXMgc2FtZSBhbW91bnQgb2YgUUdWIHBvaW50cwotCQkgKi8KLQkJY29uc3Qgc3RydWN0IGludGVs X2J3X2luZm8gKmJpID0KLQkJCSZkZXZfcHJpdi0+bWF4X2J3WzBdOwotCQl1bnNpZ25lZCBpbnQg bWluX2J3ID0gVUlOVF9NQVg7Ci0JCWludCBpOwotCi0JCS8qCi0JCSAqIEZJWE1FIHdpdGggU0FH ViBkaXNhYmxlZCBtYXliZSB3ZSBjYW4gYXNzdW1lCi0JCSAqIHBvaW50IDEgd2lsbCBhbHdheXMg YmUgdXNlZD8gU2VlbXMgdG8gbWF0Y2gKLQkJICogdGhlIGJlaGF2aW91ciBvYnNlcnZlZCBpbiB0 aGUgd2lsZC4KLQkJICovCi0JCWZvciAoaSA9IDA7IGkgPCBiaS0+bnVtX3Fndl9wb2ludHM7IGkr KykgewotCQkJdW5zaWduZWQgaW50IGJ3ID0gaWNsX21heF9idyhkZXZfcHJpdiwgbnVtX3BsYW5l cywgaSk7Ci0KLQkJCW1pbl9idyA9IG1pbihidywgbWluX2J3KTsKLQkJfQotCQlyZXR1cm4gbWlu X2J3OwotCX0gZWxzZSB7Ci0JCXJldHVybiBVSU5UX01BWDsKLQl9Ci19Ci0KIHN0YXRpYyB1bnNp Z25lZCBpbnQgaW50ZWxfYndfY3J0Y19udW1fYWN0aXZlX3BsYW5lcyhjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAkvKgpAQCAtNDE1LDEwICs0MjUsMTUgQEAg aW50IGludGVsX2J3X2F0b21pY19jaGVjayhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5i YXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLCAqb2xk X2NydGNfc3RhdGU7CiAJc3RydWN0IGludGVsX2J3X3N0YXRlICpuZXdfYndfc3RhdGUgPSBOVUxM OwotCXVuc2lnbmVkIGludCBkYXRhX3JhdGUsIG1heF9kYXRhX3JhdGU7CisJY29uc3Qgc3RydWN0 IGludGVsX2J3X3N0YXRlICpvbGRfYndfc3RhdGUgPSBOVUxMOworCXVuc2lnbmVkIGludCBkYXRh X3JhdGU7CiAJdW5zaWduZWQgaW50IG51bV9hY3RpdmVfcGxhbmVzOwogCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjOwogCWludCBpLCByZXQ7CisJdTMyIGFsbG93ZWRfcG9pbnRzID0gMDsKKwl1bnNp Z25lZCBpbnQgbWF4X2J3X3BvaW50ID0gMCwgbWF4X2J3ID0gMDsKKwl1bnNpZ25lZCBpbnQgbnVt X3Fndl9wb2ludHMgPSBkZXZfcHJpdi0+bWF4X2J3WzBdLm51bV9xZ3ZfcG9pbnRzOworCXUzMiBt YXNrID0gKDEgPDwgbnVtX3Fndl9wb2ludHMpIC0gMTsKIAogCS8qIEZJWE1FIGVhcmxpZXIgZ2Vu cyBuZWVkIHNvbWUgY2hlY2tzIHRvbyAqLwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTEp CkBAIC00NjUsMTkgKzQ4MCw3MSBAQCBpbnQgaW50ZWxfYndfYXRvbWljX2NoZWNrKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQlyZXR1cm4gcmV0OwogCiAJZGF0YV9yYXRlID0g aW50ZWxfYndfZGF0YV9yYXRlKGRldl9wcml2LCBuZXdfYndfc3RhdGUpOworCWRhdGFfcmF0ZSA9 IERJVl9ST1VORF9VUChkYXRhX3JhdGUsIDEwMDApOworCiAJbnVtX2FjdGl2ZV9wbGFuZXMgPSBp bnRlbF9id19udW1fYWN0aXZlX3BsYW5lcyhkZXZfcHJpdiwgbmV3X2J3X3N0YXRlKTsKIAotCW1h eF9kYXRhX3JhdGUgPSBpbnRlbF9tYXhfZGF0YV9yYXRlKGRldl9wcml2LCBudW1fYWN0aXZlX3Bs YW5lcyk7CisJZm9yIChpID0gMDsgaSA8IG51bV9xZ3ZfcG9pbnRzOyBpKyspIHsKKwkJdW5zaWdu ZWQgaW50IG1heF9kYXRhX3JhdGU7CiAKLQlkYXRhX3JhdGUgPSBESVZfUk9VTkRfVVAoZGF0YV9y YXRlLCAxMDAwKTsKKwkJbWF4X2RhdGFfcmF0ZSA9IGljbF9tYXhfYncoZGV2X3ByaXYsIG51bV9h Y3RpdmVfcGxhbmVzLCBpKTsKKwkJLyoKKwkJICogV2UgbmVlZCB0byBrbm93IHdoaWNoIHFndiBw b2ludCBnaXZlcyB1cworCQkgKiBtYXhpbXVtIGJhbmR3aWR0aCBpbiBvcmRlciB0byBkaXNhYmxl IFNBR1YKKwkJICogaWYgd2UgZmluZCB0aGF0IHdlIGV4Y2VlZCBTQUdWIGJsb2NrIHRpbWUKKwkJ ICogd2l0aCB3YXRlcm1hcmtzLiBCeSB0aGF0IG1vbWVudCB3ZSBhbHJlYWR5CisJCSAqIGhhdmUg dGhvc2UsIGFzIGl0IGlzIGNhbGN1bGF0ZWQgZWFybGllciBpbgorCQkgKiBpbnRlbF9hdG9taWNf Y2hlY2ssCisJCSAqLworCQlpZiAobWF4X2RhdGFfcmF0ZSA+IG1heF9idykgeworCQkJbWF4X2J3 X3BvaW50ID0gaTsKKwkJCW1heF9idyA9IG1heF9kYXRhX3JhdGU7CisJCX0KKwkJaWYgKG1heF9k YXRhX3JhdGUgPj0gZGF0YV9yYXRlKQorCQkJYWxsb3dlZF9wb2ludHMgfD0gQklUKGkpOworCQlk cm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwgIlFHViBwb2ludCAlZDogbWF4IGJ3ICVkIHJlcXVp cmVkICVkXG4iLAorCQkJICAgIGksIG1heF9kYXRhX3JhdGUsIGRhdGFfcmF0ZSk7CisJfQogCi0J aWYgKGRhdGFfcmF0ZSA+IG1heF9kYXRhX3JhdGUpIHsKLQkJZHJtX2RiZ19rbXMoJmRldl9wcml2 LT5kcm0sCi0JCQkgICAgIkJhbmR3aWR0aCAldSBNQi9zIGV4Y2VlZHMgbWF4IGF2YWlsYWJsZSAl ZCBNQi9zICglZCBhY3RpdmUgcGxhbmVzKVxuIiwKLQkJCSAgICBkYXRhX3JhdGUsIG1heF9kYXRh X3JhdGUsIG51bV9hY3RpdmVfcGxhbmVzKTsKKwkvKgorCSAqIEJTcGVjIHN0YXRlcyB0aGF0IHdl IGFsd2F5cyBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbmUgYWxsb3dlZCBwb2ludAorCSAqIGxlZnQs IHNvIGlmIHdlIGNvdWxkbid0IC0gc2ltcGx5IHJlamVjdCB0aGUgY29uZmlndXJhdGlvbiBmb3Ig b2J2aW91cworCSAqIHJlYXNvbnMuCisJICovCisJaWYgKGFsbG93ZWRfcG9pbnRzID09IDApIHsK KwkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sICJObyBRR1YgcG9pbnRzIHByb3ZpZGUgc3Vm ZmljaWVudCBtZW1vcnkiCisJCQkgICAgIiBiYW5kd2lkdGggJWQgZm9yIGRpc3BsYXkgY29uZmln dXJhdGlvbiglZCBhY3RpdmUgcGxhbmVzKS5cbiIsCisJCQkgICAgZGF0YV9yYXRlLCBudW1fYWN0 aXZlX3BsYW5lcyk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCS8qCisJICogTGVhdmUgb25s eSBzaW5nbGUgcG9pbnQgd2l0aCBoaWdoZXN0IGJhbmR3aWR0aCwgaWYKKwkgKiB3ZSBjYW4ndCBl bmFibGUgU0FHViBkdWUgdG8gdGhlIGluY3JlYXNlZCBtZW1vcnkgbGF0ZW5jeSBpdCBtYXkKKwkg KiBjYXVzZS4KKwkgKi8KKwlpZiAoIWludGVsX2Nhbl9lbmFibGVfc2FndihkZXZfcHJpdiwgbmV3 X2J3X3N0YXRlKSkgeworCQlhbGxvd2VkX3BvaW50cyA9IEJJVChtYXhfYndfcG9pbnQpOworCQlk cm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwgIk5vIFNBR1YsIHVzaW5nIHNpbmdsZSBRR1YgcG9p bnQgJWRcbiIsCisJCQkgICAgbWF4X2J3X3BvaW50KTsKKwl9CisJLyoKKwkgKiBXZSBzdG9yZSB0 aGUgb25lcyB3aGljaCBuZWVkIHRvIGJlIG1hc2tlZCBhcyB0aGF0IGlzIHdoYXQgUENvZGUKKwkg KiBhY3R1YWxseSBhY2NlcHRzIGFzIGEgcGFyYW1ldGVyLgorCSAqLworCW5ld19id19zdGF0ZS0+ cWd2X3BvaW50c19tYXNrID0gfmFsbG93ZWRfcG9pbnRzICYgbWFzazsKKworCW9sZF9id19zdGF0 ZSA9IGludGVsX2F0b21pY19nZXRfb2xkX2J3X3N0YXRlKHN0YXRlKTsKKwkvKgorCSAqIElmIHRo ZSBhY3R1YWwgbWFzayBoYWQgY2hhbmdlZCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0CisJICog dGhlIGNvbW1pdHMgYXJlIHNlcmlhbGl6ZWQoaW4gY2FzZSB0aGlzIGlzIGEgbm9tb2Rlc2V0LCBu b25ibG9ja2luZykKKwkgKi8KKwlpZiAobmV3X2J3X3N0YXRlLT5xZ3ZfcG9pbnRzX21hc2sgIT0g b2xkX2J3X3N0YXRlLT5xZ3ZfcG9pbnRzX21hc2spIHsKKwkJcmV0ID0gaW50ZWxfYXRvbWljX3Nl cmlhbGl6ZV9nbG9iYWxfc3RhdGUoJm5ld19id19zdGF0ZS0+YmFzZSk7CisJCWlmIChyZXQpCisJ CQlyZXR1cm4gcmV0OworCX0KKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2J3LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2J3LmgKaW5kZXggODk4YjRhODVjY2FiLi5iYmNhYWE3M2VjMWIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYncuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2J3LmgKQEAgLTI0LDYgKzI0LDEzIEBAIHN0 cnVjdCBpbnRlbF9id19zdGF0ZSB7CiAJICovCiAJdTggcGlwZV9zYWd2X3JlamVjdDsKIAorCS8q CisJICogQ3VycmVudCBRR1YgcG9pbnRzIG1hc2ssIHdoaWNoIHJlc3RyaWN0cworCSAqIHNvbWUg cGFydGljdWxhciBTQUdWIHN0YXRlcywgbm90IHRvIGNvbmZ1c2UKKwkgKiB3aXRoIHBpcGVfc2Fn dl9tYXNrLgorCSAqLworCXU4IHFndl9wb2ludHNfbWFzazsKKwogCXVuc2lnbmVkIGludCBkYXRh X3JhdGVbSTkxNV9NQVhfUElQRVNdOwogCXU4IG51bV9hY3RpdmVfcGxhbmVzW0k5MTVfTUFYX1BJ UEVTXTsKIApAQCAtNDcsNSArNTQsNyBAQCBpbnQgaW50ZWxfYndfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGludGVsX2J3X2F0b21pY19jaGVjayhzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7CiB2b2lkIGludGVsX2J3X2NydGNfdXBkYXRlKHN0 cnVjdCBpbnRlbF9id19zdGF0ZSAqYndfc3RhdGUsCiAJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKK2ludCBpY2xfcGNvZGVfcmVzdHJpY3RfcWd2X3BvaW50 cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICB1MzIgcG9pbnRzX21h c2spOwogCiAjZW5kaWYgLyogX19JTlRFTF9CV19IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggMmJmM2Q0Y2I0ZWE5 Li5iNDg1YTY1MDRiZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oCkBAIC02OTIsNiArNjkyLDkgQEAgc3RydWN0IHNrbF9wbGFu ZV93bSB7CiAJYm9vbCBpc19wbGFuYXI7CiB9OwogCisvKiBCU3BlYyBwcmVjaXNlbHkgZGVmaW5l cyB0aGlzICovCisjZGVmaW5lIE5VTV9TQUdWX1BPSU5UUyA4CisKIHN0cnVjdCBza2xfcGlwZV93 bSB7CiAJc3RydWN0IHNrbF9wbGFuZV93bSBwbGFuZXNbSTkxNV9NQVhfUExBTkVTXTsKIAlib29s IHVzZV9zYWd2X3dtOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggYzUyYjk0MWRmNWQ2Li5m MzRkY2E4YjEzZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMzc2Miw2ICszNzYyLDgg QEAgdm9pZCBpbnRlbF9zYWd2X3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShzdGF0ZS0+YmFzZS5kZXYpOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9id19zdGF0ZSAqbmV3 X2J3X3N0YXRlOworCWNvbnN0IHN0cnVjdCBpbnRlbF9id19zdGF0ZSAqb2xkX2J3X3N0YXRlOwor CXUzMiBuZXdfbWFzayA9IDA7CiAKIAkvKgogCSAqIEp1c3QgcmV0dXJuIGlmIHdlIGNhbid0IGNv bnRyb2wgU0FHViBvciBkb24ndCBoYXZlIGl0LgpAQCAtMzc3NywxNSArMzc3OSw0MiBAQCB2b2lk IGludGVsX3NhZ3ZfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKIAlpZiAoIW5ld19id19zdGF0ZSkKIAkJcmV0dXJuOwogCi0JaWYgKCFpbnRlbF9jYW5f ZW5hYmxlX3NhZ3YoZGV2X3ByaXYsIG5ld19id19zdGF0ZSkpCisJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPCAxMSAmJiAhaW50ZWxfY2FuX2VuYWJsZV9zYWd2KGRldl9wcml2LCBuZXdfYndfc3Rh dGUpKSB7CiAJCWludGVsX2Rpc2FibGVfc2FndihkZXZfcHJpdik7CisJCXJldHVybjsKKwl9CisK KwlvbGRfYndfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X29sZF9id19zdGF0ZShzdGF0ZSk7CisJ LyoKKwkgKiBOb3RoaW5nIHRvIG1hc2sKKwkgKi8KKwlpZiAobmV3X2J3X3N0YXRlLT5xZ3ZfcG9p bnRzX21hc2sgPT0gb2xkX2J3X3N0YXRlLT5xZ3ZfcG9pbnRzX21hc2spCisJCXJldHVybjsKKwor CW5ld19tYXNrID0gb2xkX2J3X3N0YXRlLT5xZ3ZfcG9pbnRzX21hc2sgfCBuZXdfYndfc3RhdGUt PnFndl9wb2ludHNfbWFzazsKKworCS8qCisJICogSWYgbmV3IG1hc2sgaXMgemVybyAtIG1lYW5z IHRoZXJlIGlzIG5vdGhpbmcgdG8gbWFzaywKKwkgKiB3ZSBjYW4gb25seSB1bm1hc2ssIHdoaWNo IHNob3VsZCBiZSBkb25lIGluIHVubWFzay4KKwkgKi8KKwlpZiAoIW5ld19tYXNrKQorCQlyZXR1 cm47CisKKwkvKgorCSAqIFJlc3RyaWN0IHJlcXVpcmVkIHFndiBwb2ludHMgYmVmb3JlIHVwZGF0 aW5nIHRoZSBjb25maWd1cmF0aW9uLgorCSAqIEFjY29yZGluZyB0byBCU3BlYyB3ZSBjYW4ndCBt YXNrIGFuZCB1bm1hc2sgcWd2IHBvaW50cyBhdCB0aGUgc2FtZQorCSAqIHRpbWUuIEFsc28gbWFz a2luZyBzaG91bGQgYmUgZG9uZSBiZWZvcmUgdXBkYXRpbmcgdGhlIGNvbmZpZ3VyYXRpb24KKwkg KiBhbmQgdW5tYXNraW5nIGFmdGVyd2FyZHMuCisJICovCisJaWNsX3Bjb2RlX3Jlc3RyaWN0X3Fn dl9wb2ludHMoZGV2X3ByaXYsIG5ld19tYXNrKTsKIH0KIAogdm9pZCBpbnRlbF9zYWd2X3Bvc3Rf cGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsK IAljb25zdCBzdHJ1Y3QgaW50ZWxfYndfc3RhdGUgKm5ld19id19zdGF0ZTsKLQorCWNvbnN0IHN0 cnVjdCBpbnRlbF9id19zdGF0ZSAqb2xkX2J3X3N0YXRlOworCXUzMiBuZXdfbWFzayA9IDA7CiAJ LyoKIAkgKiBKdXN0IHJldHVybiBpZiB3ZSBjYW4ndCBjb250cm9sIFNBR1Ygb3IgZG9uJ3QgaGF2 ZSBpdC4KIAkgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHNpdHVhdGlvbiB3aGVuIHdlIGhhdmUg U0FHViBidXQganVzdCBjYW4ndApAQCAtMzgwMCw4ICszODI5LDI3IEBAIHZvaWQgaW50ZWxfc2Fn dl9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlp ZiAoIW5ld19id19zdGF0ZSkKIAkJcmV0dXJuOwogCi0JaWYgKGludGVsX2Nhbl9lbmFibGVfc2Fn dihkZXZfcHJpdiwgbmV3X2J3X3N0YXRlKSkKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEx ICYmIGludGVsX2Nhbl9lbmFibGVfc2FndihkZXZfcHJpdiwgbmV3X2J3X3N0YXRlKSkgewogCQlp bnRlbF9lbmFibGVfc2FndihkZXZfcHJpdik7CisJCXJldHVybjsKKwl9CisKKwlvbGRfYndfc3Rh dGUgPSBpbnRlbF9hdG9taWNfZ2V0X29sZF9id19zdGF0ZShzdGF0ZSk7CisJLyoKKwkgKiBOb3Ro aW5nIHRvIHVubWFzaworCSAqLworCWlmIChuZXdfYndfc3RhdGUtPnFndl9wb2ludHNfbWFzayA9 PSBvbGRfYndfc3RhdGUtPnFndl9wb2ludHNfbWFzaykKKwkJcmV0dXJuOworCisJbmV3X21hc2sg PSBuZXdfYndfc3RhdGUtPnFndl9wb2ludHNfbWFzazsKKworCS8qCisJICogQWxsb3cgcmVxdWly ZWQgcWd2IHBvaW50cyBhZnRlciB1cGRhdGluZyB0aGUgY29uZmlndXJhdGlvbi4KKwkgKiBBY2Nv cmRpbmcgdG8gQlNwZWMgd2UgY2FuJ3QgbWFzayBhbmQgdW5tYXNrIHFndiBwb2ludHMgYXQgdGhl IHNhbWUKKwkgKiB0aW1lLiBBbHNvIG1hc2tpbmcgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHVwZGF0 aW5nIHRoZSBjb25maWd1cmF0aW9uCisJICogYW5kIHVubWFza2luZyBhZnRlcndhcmRzLgorCSAq LworCWljbF9wY29kZV9yZXN0cmljdF9xZ3ZfcG9pbnRzKGRldl9wcml2LCBuZXdfbWFzayk7CiB9 CiAKIHN0YXRpYyBib29sIHNrbF9jcnRjX2Nhbl9lbmFibGVfc2Fndihjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5oCmluZGV4IDYx NGFjN2Y4ZDRjYy4uNTI4YWJhNjI2N2RhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmgKQEAgLTQ0 LDYgKzQ0LDggQEAgdm9pZCBnNHhfd21fc2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIHZvaWQgdmx2X3dtX3Nhbml0aXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiBib29sIGludGVsX2Nhbl9lbmFibGVfc2FndihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfYndfc3RhdGUgKmJ3 X3N0YXRlKTsKK3ZvaWQgaW50ZWxfc2Fndl9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKTsKK3ZvaWQgaW50ZWxfc2Fndl9wb3N0X3BsYW5lX3VwZGF0ZShz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7CiBpbnQgaW50ZWxfZW5hYmxlX3NhZ3Yo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpbnRlbF9kaXNhYmxlX3Nh Z3Yoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfc2Fndl9w cmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKTsKLS0gCjIu MjQuMS40ODUuZ2FkMDVhM2Q4ZTUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=