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.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,USER_AGENT_GIT autolearn=unavailable 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 96A9AC432C0 for ; Tue, 3 Dec 2019 14:36:24 +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 77E8B20661 for ; Tue, 3 Dec 2019 14:36:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 77E8B20661 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D4C576E7E6; Tue, 3 Dec 2019 14:35:56 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-eopbgr800080.outbound.protection.outlook.com [40.107.80.80]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17EAF6E799; Tue, 3 Dec 2019 14:35:52 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuxTVEknXatI+zz19LVrCWrlj8NDKeUCHb6IKrYvEyOc7Kmbbnmoq57YFPoByNQ3Ro2z0EmyNTwYhQuSuWw2mJ0AIIm/+EOo1BkNEYFJEfD9H/ofiLMkN2/gpsk3Kqkq38slZCNDQtoDHA8dcYnp+JFr0nIbdH+ZBM5r1XjEPFmNxL7GhfXj3sL04X03JjczV3A/V6EhYLmbHwbxU/FOJu3u0rd8s+UM+ipL4ZRGjmtIB5hTdUa8jVd/BpWYQeqzCN1klvbSg08Rwd6QM9+oKBhl4OIIIKB9r9Yvqo/earnHeqm5/4itB18mefo3RQ9IV6tb/Jfi/LrmXsdaAWNKzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tnWclmIwAeqF3qBBXJneSDlwd7ifYHh1OrGU8+dHsPo=; b=a9l4qkXpjhGwlPR9UtEooKR6azdDx0HGmlPQ+400lXO2BIyUrcKBvKEMd1+uiHNDhUMVpas/pkYTz+aho9tHEV4U0YdIL57Tz91qO6+m/y6h01l5j9o3e3vFT8/VUK9NtSdWSiUjh3vqsHVMVenmeT2mOVNnVcZBxFCzgqjhZl9Z5vxpSbb0uvIGNT0ESlt+9qloWDezLGE1oygnEjBzA1+ihZ1l4X8WJmPFhwTYXOkOCoZXV5P7na9pEa+uUAMoCv3oI4ziZq/PcUd3p2FYgLudT6bq1bynJlamFybrBgZDsz9bzfmA/Nzh3ymAfV8/+ZHF+fAe8dDLV55B7cBbpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=amd.com; dmarc=permerror action=none header.from=amd.com; dkim=none (message not signed); arc=none Received: from DM6PR12CA0022.namprd12.prod.outlook.com (2603:10b6:5:1c0::35) by BYAPR12MB3606.namprd12.prod.outlook.com (2603:10b6:a03:d5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.20; Tue, 3 Dec 2019 14:35:49 +0000 Received: from DM6NAM11FT054.eop-nam11.prod.protection.outlook.com (2a01:111:f400:7eaa::205) by DM6PR12CA0022.outlook.office365.com (2603:10b6:5:1c0::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2495.18 via Frontend Transport; Tue, 3 Dec 2019 14:35:49 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXMB02.amd.com (165.204.84.17) by DM6NAM11FT054.mail.protection.outlook.com (10.13.173.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2451.23 via Frontend Transport; Tue, 3 Dec 2019 14:35:49 +0000 Received: from SATLEXMB01.amd.com (10.181.40.142) by SATLEXMB02.amd.com (10.181.40.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 3 Dec 2019 08:35:47 -0600 Received: from mlipski-pc.amd.com (10.180.168.240) by SATLEXMB01.amd.com (10.181.40.142) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Tue, 3 Dec 2019 08:35:46 -0600 From: To: Subject: [PATCH v8 14/17] drm/amd/display: MST DSC compute fair share Date: Tue, 3 Dec 2019 09:35:27 -0500 Message-ID: <20191203143530.27262-15-mikita.lipski@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191203143530.27262-1-mikita.lipski@amd.com> References: <20191203143530.27262-1-mikita.lipski@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(136003)(346002)(396003)(376002)(39860400002)(428003)(189003)(199004)(81156014)(16586007)(8936002)(30864003)(2906002)(81166006)(1076003)(11346002)(446003)(2876002)(2351001)(426003)(50226002)(6916009)(48376002)(478600001)(50466002)(305945005)(70206006)(2616005)(70586007)(8676002)(54906003)(336012)(5660300002)(316002)(186003)(14444005)(53416004)(6666004)(356004)(86362001)(26005)(76176011)(36756003)(4326008)(51416003)(7696005)(16060500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR12MB3606; H:SATLEXMB02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af0908fe-8ccc-4adc-bcce-08d777fe17a0 X-MS-TrafficTypeDiagnostic: BYAPR12MB3606: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1265; X-Forefront-PRVS: 02408926C4 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wVOPZeD07SaZwVJF35TUzHJpsyRAwG0bbNcehAQOubyy8Nt+lwuI7j8Dmn2th8y3tVtozU8i8366S2ncp+vB6hchC+WJHbWMTyOJxKc14XhiTwTDyl5g2m3IG+Rt1Awj7xfLeRKYmPlsqScP67jlpdaRE1Ij4jCJeg0wRFso0KZ0fx1IGVCGuZXFDGWCbgnRQi0typyfR61wlOaBYeCVaCSh3BqvhmhwiiBGJsLiapeg3YIHKRI0rCF9TSA7Yk8+4CixSo+ikZ8Zm4so6EV274k7m41W/F+4jXm8tCYUbS0kTv0ZWq9uJEqSavZVGHGooZP8uWm0MhHPO3+aDuqhkW9bpjQpuSWpRjXYlQrl+apurHVR1CWAyfWnqYcwgukcsqfFi/YldQKqJrrWQsh2EjfYq+205W85UGAnSk4Nd/CNHo3mxuoI9ODfF2ryTelp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2019 14:35:49.7192 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af0908fe-8ccc-4adc-bcce-08d777fe17a0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3606 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tnWclmIwAeqF3qBBXJneSDlwd7ifYHh1OrGU8+dHsPo=; b=Ptfsb3AMjzoN1NkOW787/AynJMusKiM4v9vKYzTELgq1CvaBMnjWdrMDldX6IozYJawImothLUO7jDZ6d2pjUbe3tMFfxCAtJfy6TlpqHBRiDQgxUKvRr8FmOO3Vf4kBt8KD4PZCQ/tEEOmgt3Yg0++3yxMYN+zUwcv01njnh7o= X-Mailman-Original-Authentication-Results: spf=none (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; dmarc=permerror action=none header.from=amd.com; X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Manasi Navare , David Francis , Mikita Lipski , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogRGF2aWQgRnJhbmNpcyA8RGF2aWQuRnJhbmNpc0BhbWQuY29tPgoKSWYgdGhlcmUgaXMg bGltaXRlZCBsaW5rIGJhbmR3aWR0aCBvbiBhIE1TVCBuZXR3b3JrLAppdCBtdXN0IGJlIGRpdmlk ZWQgZmFpcmx5IGJldHdlZW4gdGhlIHN0cmVhbXMgb24gdGhhdCBuZXR3b3JrCgpJbXBsZW1lbnQg YW4gYWxnb3JpdGhtIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBEU0MgY29uZmlnCmZvciBlYWNo IHN0cmVhbQoKVGhlIGFsZ29yaXRobToKVGhpcwogICAgIFsgICAgICAgICAgICAgICAgICAgXSAg ICAgICAgICAoICkKcmVwcmVzZW50cyB0aGUgcmFuZ2Ugb2YgYmFuZHdpZHRocyBwb3NzaWJsZSBm b3IgYSBnaXZlbiBzdHJlYW0uClRoZSBbXSBhcmVhIHJlcHJlc2VudHMgdGhlIHJhbmdlIG9mIERT QyBjb25maWdzLCBhbmQgdGhlICgpCnJlcHJlc2VudHMgbm8gRFNDLiBUaGUgYmFuZHdpZHRoIHVz ZWQgaW5jcmVhc2VzIGZyb20gbGVmdCB0byByaWdodC4KCkZpcnN0LCB0cnkgZGlzYWJsaW5nIERT QyBvbiBhbGwgc3RyZWFtcwogICAgIFsgICAgICAgICAgICAgICAgICBdICAgICAgICAgICh8KQog ICAgIFsgICAgICAgICAgICAgICAgICAgICBdICAgICAgICAgICAgKHwpCkNoZWNrIHRoaXMgYWdh aW5zdCB0aGUgYmFuZHdpZHRoIGxpbWl0cyBvZiB0aGUgbGluayBhbmQgZWFjaCBicmFuY2gKKGlu Y2x1ZGluZyBlYWNoIGVuZHBvaW50KS4gSWYgaXQgcGFzc2VzLCB0aGUgam9iIGlzIGRvbmUKClNl Y29uZCwgdHJ5IG1heGltdW0gRFNDIGNvbXByZXNzaW9uIG9uIGFsbCBzdHJlYW1zCnRoYXQgc3Vw cG9ydCBEU0MKICAgICBbfCAgICAgICAgIF0gICAgICAgICggKQogICAgIFt8ICAgICAgICAgICAg ICAgIF0gICAgICAgICAoICkKSWYgdGhpcyBkb2VzIG5vdCBwYXNzLCB0aGVuIGVuYWJsaW5nIHRo aXMgY29tYmluYXRpb24gb2Ygc3RyZWFtcwppcyBpbXBvc3NpYmxlCgpPdGhlcndpc2UsIGRpdmlk ZSB0aGUgcmVtYWluaW5nIGJhbmR3aWR0aCBldmVubHkgYW1vbmdzdCB0aGUgc3RyZWFtcwogICAg IFsgICAgICAgIHwgIF0gICAgICAgICAoICkKICAgICBbICAgICAgICB8ICAgICAgXSAgICAgICAg KCApCgpJZiBvbmUgb3IgbW9yZSBvZiB0aGUgc3RyZWFtcyByZWFjaCBtaW5pbXVtIGNvbXByZXNz aW9uLCBldmVubHkKZGl2aWRlIHRoZSByZWFtaW5pbmcgYmFuZHdpZHRoIGFtb25nc3QgdGhlIHJl bWFpbmluZyBzdHJlYW1zCiAgICAgWyAgICB8XSAoICkKICAgICBbICAgICAgIHxdICAgKCApCiAg ICAgWyAgICAgICAgICAgICAgICAgfCAgIF0gICAgICAgICAgICAgICAoICkKICAgICBbICAgICAg ICAgICAgICAgICB8ICAgICAgXSAgICAgICAgICAgICAgICAgICggKQoKSWYgYWxsIHN0cmVhbXMg Y2FuIHJlYWNoIG1pbmltdW0gY29tcHJlc3Npb24sIGRpc2FibGUgY29tcHJlc3Npb24KZ3JlZWRp bHkKICAgICBbICAgICAgfF0gICggKQogICAgIFsgICAgICAgIHxdICAgICggKQogICAgIFsgICAg ICAgICAgICAgICAgIF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh8KQoKUGVyZm9y bSB0aGlzIGFsZ29yaXRobSBvbiBlYWNoIGZ1bGwgdXBkYXRlLCBvbiBlYWNoIE1TVCBsaW5rCndp dGggYXQgbGVhc3Qgb25lIERTQyBzdHJlYW0gb24gaXQKCkFmdGVyIHRoZSBjb25maWdzIGFyZSBj b21wdXRlZCwgY2FsbApkY24yMF9hZGRfZHNjX3RvX3N0cmVhbV9yZXNvdXJjZSBvbiBlYWNoIHN0 cmVhbSB3aXRoIERTQyBlbmFibGVkLgpJdCBpcyBvbmx5IGFmdGVyIGFsbCBzdHJlYW1zIGFyZSBj cmVhdGVkIHRoYXQgd2UgY2FuIGtub3cgd2hpY2gKb2YgdGhlbSB3aWxsIG5lZWQgRFNDLgoKRG8g YWxsIG9mIHRoaXMgYXQgdGhlIGVuZCBvZiBhbWRncHUgYXRvbWljIGNoZWNrLiAgSWYgaXQgZmFp bHMsCmZhaWwgY2hlY2s7IFRoaXMgY29tYmluYXRpb24gb2YgdGltaW5ncyBjYW5ub3QgYmUgc3Vw cG9ydGVkLgoKdjI6IFVzZSBkcm1fZHBfbXN0X2F0b21pY19jaGVjayB0byB2YWxpZGF0ZSBidyBm b3IgY2VydGFpbiBkc2MKY29uZmlndXJhdGlvbnMKCnYzOiBVc2UgZGNfZHNjX3BvbGljeSBzdHJ1 Y3R1cmUgdG8gZ2V0IG1pbiBhbmQgbWF4IGJwcCByYXRlCmZvciBEU0MgY29uZmlndXJhdGlvbgoK Q2M6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBNYW5hc2kgTmF2YXJlIDxtYW5h c2kuZC5uYXZhcmVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogV2VuamluZyBMaXUgPFdlbmppbmcu TGl1QGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIEZyYW5jaXMgPERhdmlkLkZyYW5jaXNA YW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogTWlraXRhIExpcHNraSA8bWlraXRhLmxpcHNraUBhbWQu Y29tPgotLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8 ICAgMyArCiAuLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jICAgfCAz NjQgKysrKysrKysrKysrKysrKysrCiAuLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21z dF90eXBlcy5oICAgfCAgIDMgKwogLi4uL2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9y ZXNvdXJjZS5jIHwgICA3ICstCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jl c291cmNlLmggfCAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAzNzYgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9k bS9hbWRncHVfZG0uYwppbmRleCA3NTNhNzk3MzQ4MTcuLjkzYTIzMGQ5NTZlZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCkBAIC04 MDk1LDYgKzgwOTUsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9kbV9hdG9taWNfY2hlY2soc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJaWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKIAorCQlpZiAoIWNv bXB1dGVfbXN0X2RzY19jb25maWdzX2Zvcl9zdGF0ZShzdGF0ZSwgZG1fc3RhdGUtPmNvbnRleHQp KQorCQkJZ290byBmYWlsOworCiAJCWlmIChkY192YWxpZGF0ZV9nbG9iYWxfc3RhdGUoZGMsIGRt X3N0YXRlLT5jb250ZXh0LCBmYWxzZSkgIT0gRENfT0spIHsKIAkJCXJldCA9IC1FSU5WQUw7CiAJ CQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCmluZGV4IGMzNzZjOGNjZDM5MS4uNmQx M2QxYzMzNTMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYwpAQCAtNDAsNiArNDAsMTAgQEAKICNp ZiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKICNpbmNsdWRlICJhbWRncHVfZG1fZGVidWdmcy5o IgogI2VuZGlmCisKKworI2luY2x1ZGUgImRjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgiCisKIC8q ICNkZWZpbmUgVFJBQ0VfRFBDRCAqLwogCiAjaWZkZWYgVFJBQ0VfRFBDRApAQCAtNDk5LDMgKzUw MywzNjMgQEAgaW50IGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoc3RydWN0IGRjX2xpbmsgKmxpbmsp CiAJcmV0dXJuIGRjX2xpbmtfYmFuZHdpZHRoX2ticHMobGluaywKIAkJCWRjX2xpbmtfZ2V0X2xp bmtfY2FwKGxpbmspKSAvICg4ICogMTAwMCAqIDU0KTsKIH0KKworc3RydWN0IGRzY19tc3RfZmFp cm5lc3NfcGFyYW1zIHsKKwlzdHJ1Y3QgZGNfY3J0Y190aW1pbmcgKnRpbWluZzsKKwlzdHJ1Y3Qg ZGNfc2luayAqc2luazsKKwlzdHJ1Y3QgZGNfZHNjX2J3X3JhbmdlIGJ3X3JhbmdlOworCWJvb2wg Y29tcHJlc3Npb25fcG9zc2libGU7CisJc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydDsKK307 CisKK3N0cnVjdCBkc2NfbXN0X2ZhaXJuZXNzX3ZhcnMgeworCWludCBwYm47CisJYm9vbCBkc2Nf ZW5hYmxlZDsKKwlpbnQgYnBwX3gxNjsKK307CisKK3N0YXRpYyBpbnQga2Jwc190b19wZWFrX3Bi bihpbnQga2JwcykKK3sKKwl1NjQgcGVha19rYnBzID0ga2JwczsKKworCXBlYWtfa2JwcyAqPSAx MDA2OworCXBlYWtfa2JwcyAvPSAxMDAwOworCXJldHVybiAoaW50KSBESVZfUk9VTkRfVVAocGVh a19rYnBzICogNjQsICg1NCAqIDggKiAxMDAwKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kc2Nf Y29uZmlnc19mcm9tX2ZhaXJuZXNzX3ZhcnMoc3RydWN0IGRzY19tc3RfZmFpcm5lc3NfcGFyYW1z ICpwYXJhbXMsCisJCXN0cnVjdCBkc2NfbXN0X2ZhaXJuZXNzX3ZhcnMgKnZhcnMsCisJCWludCBj b3VudCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCW1l bXNldCgmcGFyYW1zW2ldLnRpbWluZy0+ZHNjX2NmZywgMCwgc2l6ZW9mKHBhcmFtc1tpXS50aW1p bmctPmRzY19jZmcpKTsKKwkJaWYgKHZhcnNbaV0uZHNjX2VuYWJsZWQgJiYgZGNfZHNjX2NvbXB1 dGVfY29uZmlnKAorCQkJCQlwYXJhbXNbaV0uc2luay0+Y3R4LT5kYy0+cmVzX3Bvb2wtPmRzY3Nb MF0sCisJCQkJCSZwYXJhbXNbaV0uc2luay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMsCisJ CQkJCXBhcmFtc1tpXS5zaW5rLT5jdHgtPmRjLT5kZWJ1Zy5kc2NfbWluX3NsaWNlX2hlaWdodF9v dmVycmlkZSwKKwkJCQkJMCwKKwkJCQkJcGFyYW1zW2ldLnRpbWluZywKKwkJCQkJJnBhcmFtc1tp XS50aW1pbmctPmRzY19jZmcpKSB7CisJCQlwYXJhbXNbaV0udGltaW5nLT5mbGFncy5EU0MgPSAx OworCQkJcGFyYW1zW2ldLnRpbWluZy0+ZHNjX2NmZy5iaXRzX3Blcl9waXhlbCA9IHZhcnNbaV0u YnBwX3gxNjsKKwkJfSBlbHNlIHsKKwkJCXBhcmFtc1tpXS50aW1pbmctPmZsYWdzLkRTQyA9IDA7 CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgYnBwX3gxNl9mcm9tX3BibihzdHJ1Y3QgZHNjX21z dF9mYWlybmVzc19wYXJhbXMgcGFyYW0sIGludCBwYm4pCit7CisJc3RydWN0IGRjX2RzY19jb25m aWcgZHNjX2NvbmZpZzsKKwl1NjQga2JwczsKKworCWticHMgPSAodTY0KXBibiAqIDk5NCAqIDgg KiA1NCAvIDY0OworCWRjX2RzY19jb21wdXRlX2NvbmZpZygKKwkJCXBhcmFtLnNpbmstPmN0eC0+ ZGMtPnJlc19wb29sLT5kc2NzWzBdLAorCQkJJnBhcmFtLnNpbmstPnNpbmtfZHNjX2NhcHMuZHNj X2RlY19jYXBzLAorCQkJcGFyYW0uc2luay0+Y3R4LT5kYy0+ZGVidWcuZHNjX21pbl9zbGljZV9o ZWlnaHRfb3ZlcnJpZGUsCisJCQkoaW50KSBrYnBzLCBwYXJhbS50aW1pbmcsICZkc2NfY29uZmln KTsKKworCXJldHVybiBkc2NfY29uZmlnLmJpdHNfcGVyX3BpeGVsOworfQorCitzdGF0aWMgdm9p ZCBpbmNyZWFzZV9kc2NfYnBwKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCSAg ICAgc3RydWN0IGRjX2xpbmsgKmRjX2xpbmssCisJCQkgICAgIHN0cnVjdCBkc2NfbXN0X2ZhaXJu ZXNzX3BhcmFtcyAqcGFyYW1zLAorCQkJICAgICBzdHJ1Y3QgZHNjX21zdF9mYWlybmVzc192YXJz ICp2YXJzLAorCQkJICAgICBpbnQgY291bnQpCit7CisJaW50IGk7CisJYm9vbCBicHBfaW5jcmVh c2VkW01BWF9QSVBFU107CisJaW50IGluaXRpYWxfc2xhY2tbTUFYX1BJUEVTXTsKKwlpbnQgbWlu X2luaXRpYWxfc2xhY2s7CisJaW50IG5leHRfaW5kZXg7CisJaW50IHJlbWFpbmluZ190b19pbmNy ZWFzZSA9IDA7CisJaW50IHBibl9wZXJfdGltZXNsb3Q7CisJaW50IGxpbmtfdGltZXNsb3RzX3Vz ZWQ7CisJaW50IGZhaXJfcGJuX2FsbG9jOworCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKysp IHsKKwkJaWYgKHZhcnNbaV0uZHNjX2VuYWJsZWQpIHsKKwkJCWluaXRpYWxfc2xhY2tbaV0gPSBr YnBzX3RvX3BlYWtfcGJuKHBhcmFtc1tpXS5id19yYW5nZS5tYXhfa2JwcykgLSB2YXJzW2ldLnBi bjsKKwkJCWJwcF9pbmNyZWFzZWRbaV0gPSBmYWxzZTsKKwkJCXJlbWFpbmluZ190b19pbmNyZWFz ZSArPSAxOworCQl9IGVsc2UgeworCQkJaW5pdGlhbF9zbGFja1tpXSA9IDA7CisJCQlicHBfaW5j cmVhc2VkW2ldID0gdHJ1ZTsKKwkJfQorCX0KKworCXBibl9wZXJfdGltZXNsb3QgPSBkY19saW5r X2JhbmR3aWR0aF9rYnBzKGRjX2xpbmssCisJCQlkY19saW5rX2dldF9saW5rX2NhcChkY19saW5r KSkgLyAoOCAqIDEwMDAgKiA1NCk7CisKKwl3aGlsZSAocmVtYWluaW5nX3RvX2luY3JlYXNlKSB7 CisJCW5leHRfaW5kZXggPSAtMTsKKwkJbWluX2luaXRpYWxfc2xhY2sgPSAtMTsKKwkJZm9yIChp ID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJCWlmICghYnBwX2luY3JlYXNlZFtpXSkgeworCQkJ CWlmIChtaW5faW5pdGlhbF9zbGFjayA9PSAtMSB8fCBtaW5faW5pdGlhbF9zbGFjayA+IGluaXRp YWxfc2xhY2tbaV0pIHsKKwkJCQkJbWluX2luaXRpYWxfc2xhY2sgPSBpbml0aWFsX3NsYWNrW2ld OworCQkJCQluZXh0X2luZGV4ID0gaTsKKwkJCQl9CisJCQl9CisJCX0KKworCQlpZiAobmV4dF9p bmRleCA9PSAtMSkKKwkJCWJyZWFrOworCisJCWxpbmtfdGltZXNsb3RzX3VzZWQgPSAwOworCisJ CWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQkJbGlua190aW1lc2xvdHNfdXNlZCArPSBE SVZfUk9VTkRfVVAodmFyc1tpXS5wYm4sIHBibl9wZXJfdGltZXNsb3QpOworCisJCWZhaXJfcGJu X2FsbG9jID0gKDYzIC0gbGlua190aW1lc2xvdHNfdXNlZCkgLyByZW1haW5pbmdfdG9faW5jcmVh c2UgKiBwYm5fcGVyX3RpbWVzbG90OworCisJCWlmIChpbml0aWFsX3NsYWNrW25leHRfaW5kZXhd ID4gZmFpcl9wYm5fYWxsb2MpIHsKKwkJCXZhcnNbbmV4dF9pbmRleF0ucGJuICs9IGZhaXJfcGJu X2FsbG9jOworCQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCQkg ICAgICBwYXJhbXNbbmV4dF9pbmRleF0ucG9ydC0+bWdyLAorCQkJCQkJICAgICAgcGFyYW1zW25l eHRfaW5kZXhdLnBvcnQsCisJCQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJ CSAgICAgIGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQkJaWYgKCFkcm1fZHBf bXN0X2F0b21pY19jaGVjayhzdGF0ZSkpIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLmJwcF94MTYg PSBicHBfeDE2X2Zyb21fcGJuKHBhcmFtc1tuZXh0X2luZGV4XSwgdmFyc1tuZXh0X2luZGV4XS5w Ym4pOworCQkJfSBlbHNlIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLnBibiAtPSBmYWlyX3Bibl9h bGxvYzsKKwkJCQlkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwKKwkJCQkJCSAg ICAgIHBhcmFtc1tuZXh0X2luZGV4XS5wb3J0LT5tZ3IsCisJCQkJCQkgICAgICBwYXJhbXNbbmV4 dF9pbmRleF0ucG9ydCwKKwkJCQkJCSAgICAgIHZhcnNbbmV4dF9pbmRleF0ucGJuLAorCQkJCQkJ ICAgICAgZG1fbXN0X2dldF9wYm5fZGl2aWRlcihkY19saW5rKSk7CisJCQl9CisJCX0gZWxzZSB7 CisJCQl2YXJzW25leHRfaW5kZXhdLnBibiArPSBpbml0aWFsX3NsYWNrW25leHRfaW5kZXhdOwor CQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCQkgICAgICBwYXJh bXNbbmV4dF9pbmRleF0ucG9ydC0+bWdyLAorCQkJCQkJICAgICAgcGFyYW1zW25leHRfaW5kZXhd LnBvcnQsCisJCQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJCSAgICAgIGRt X21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQkJaWYgKCFkcm1fZHBfbXN0X2F0b21p Y19jaGVjayhzdGF0ZSkpIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLmJwcF94MTYgPSBwYXJhbXNb bmV4dF9pbmRleF0uYndfcmFuZ2UubWF4X3RhcmdldF9icHBfeDE2OworCQkJfSBlbHNlIHsKKwkJ CQl2YXJzW25leHRfaW5kZXhdLnBibiAtPSBpbml0aWFsX3NsYWNrW25leHRfaW5kZXhdOworCQkJ CWRybV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKHN0YXRlLAorCQkJCQkJICAgICAgcGFyYW1z W25leHRfaW5kZXhdLnBvcnQtPm1nciwKKwkJCQkJCSAgICAgIHBhcmFtc1tuZXh0X2luZGV4XS5w b3J0LAorCQkJCQkJICAgICAgdmFyc1tuZXh0X2luZGV4XS5wYm4sCisJCQkJCQkgICAgICBkbV9t c3RfZ2V0X3Bibl9kaXZpZGVyKGRjX2xpbmspKTsKKwkJCX0KKwkJfQorCisJCWJwcF9pbmNyZWFz ZWRbbmV4dF9pbmRleF0gPSB0cnVlOworCQlyZW1haW5pbmdfdG9faW5jcmVhc2UtLTsKKwl9Cit9 CisKK3N0YXRpYyB2b2lkIHRyeV9kaXNhYmxlX2RzYyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCisJCQkgICAgc3RydWN0IGRjX2xpbmsgKmRjX2xpbmssCisJCQkgICAgc3RydWN0IGRz Y19tc3RfZmFpcm5lc3NfcGFyYW1zICpwYXJhbXMsCisJCQkgICAgc3RydWN0IGRzY19tc3RfZmFp cm5lc3NfdmFycyAqdmFycywKKwkJCSAgICBpbnQgY291bnQpCit7CisJaW50IGk7CisJYm9vbCB0 cmllZFtNQVhfUElQRVNdOworCWludCBrYnBzX2luY3JlYXNlW01BWF9QSVBFU107CisJaW50IG1h eF9rYnBzX2luY3JlYXNlOworCWludCBuZXh0X2luZGV4OworCWludCByZW1haW5pbmdfdG9fdHJ5 ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWlmICh2YXJzW2ldLmRz Y19lbmFibGVkICYmIHZhcnNbaV0uYnBwX3gxNiA9PSBwYXJhbXNbaV0uYndfcmFuZ2UubWF4X3Rh cmdldF9icHBfeDE2KSB7CisJCQlrYnBzX2luY3JlYXNlW2ldID0gcGFyYW1zW2ldLmJ3X3Jhbmdl LnN0cmVhbV9rYnBzIC0gcGFyYW1zW2ldLmJ3X3JhbmdlLm1heF9rYnBzOworCQkJdHJpZWRbaV0g PSBmYWxzZTsKKwkJCXJlbWFpbmluZ190b190cnkgKz0gMTsKKwkJfSBlbHNlIHsKKwkJCWticHNf aW5jcmVhc2VbaV0gPSAwOworCQkJdHJpZWRbaV0gPSB0cnVlOworCQl9CisJfQorCisJd2hpbGUg KHJlbWFpbmluZ190b190cnkpIHsKKwkJbmV4dF9pbmRleCA9IC0xOworCQltYXhfa2Jwc19pbmNy ZWFzZSA9IC0xOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQkJaWYgKCF0cmll ZFtpXSkgeworCQkJCWlmIChtYXhfa2Jwc19pbmNyZWFzZSA9PSAtMSB8fCBtYXhfa2Jwc19pbmNy ZWFzZSA8IGticHNfaW5jcmVhc2VbaV0pIHsKKwkJCQkJbWF4X2ticHNfaW5jcmVhc2UgPSBrYnBz X2luY3JlYXNlW2ldOworCQkJCQluZXh0X2luZGV4ID0gaTsKKwkJCQl9CisJCQl9CisJCX0KKwor CQlpZiAobmV4dF9pbmRleCA9PSAtMSkKKwkJCWJyZWFrOworCisJCXZhcnNbbmV4dF9pbmRleF0u cGJuID0ga2Jwc190b19wZWFrX3BibihwYXJhbXNbbmV4dF9pbmRleF0uYndfcmFuZ2Uuc3RyZWFt X2ticHMpOworCQlkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwKKwkJCQkJICAg ICAgcGFyYW1zW25leHRfaW5kZXhdLnBvcnQtPm1nciwKKwkJCQkJICAgICAgcGFyYW1zW25leHRf aW5kZXhdLnBvcnQsCisJCQkJCSAgICAgIHZhcnNbbmV4dF9pbmRleF0ucGJuLAorCQkJCQkgICAg ICAwKTsKKworCQlpZiAoIWRybV9kcF9tc3RfYXRvbWljX2NoZWNrKHN0YXRlKSkgeworCQkJdmFy c1tuZXh0X2luZGV4XS5kc2NfZW5hYmxlZCA9IGZhbHNlOworCQkJdmFyc1tuZXh0X2luZGV4XS5i cHBfeDE2ID0gMDsKKwkJfSBlbHNlIHsKKwkJCXZhcnNbbmV4dF9pbmRleF0ucGJuID0ga2Jwc190 b19wZWFrX3BibihwYXJhbXNbbmV4dF9pbmRleF0uYndfcmFuZ2UubWF4X2ticHMpOworCQkJZHJt X2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCSAgICAgIHBhcmFtc1tuZXh0 X2luZGV4XS5wb3J0LT5tZ3IsCisJCQkJCSAgICAgIHBhcmFtc1tuZXh0X2luZGV4XS5wb3J0LAor CQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJICAgICAgZG1fbXN0X2dldF9w Ym5fZGl2aWRlcihkY19saW5rKSk7CisJCX0KKworCQl0cmllZFtuZXh0X2luZGV4XSA9IHRydWU7 CisJCXJlbWFpbmluZ190b190cnktLTsKKwl9Cit9CisKK3N0YXRpYyBib29sIGNvbXB1dGVfbXN0 X2RzY19jb25maWdzX2Zvcl9saW5rKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJ CQkJICAgICBzdHJ1Y3QgZGNfc3RhdGUgKmRjX3N0YXRlLAorCQkJCQkgICAgIHN0cnVjdCBkY19s aW5rICpkY19saW5rKQoreworCWludCBpOworCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVh bTsKKwlzdHJ1Y3QgZHNjX21zdF9mYWlybmVzc19wYXJhbXMgcGFyYW1zW01BWF9QSVBFU107CisJ c3RydWN0IGRzY19tc3RfZmFpcm5lc3NfdmFycyB2YXJzW01BWF9QSVBFU107CisJc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3I7CisJaW50IGNvdW50ID0gMDsKKworCW1lbXNl dChwYXJhbXMsIDAsIHNpemVvZihwYXJhbXMpKTsKKworCS8qIFNldCB1cCBwYXJhbXMgKi8KKwlm b3IgKGkgPSAwOyBpIDwgZGNfc3RhdGUtPnN0cmVhbV9jb3VudDsgaSsrKSB7CisJCXN0cnVjdCBk Y19kc2NfcG9saWN5IGRzY19wb2xpY3kgPSB7MH07CisKKwkJc3RyZWFtID0gZGNfc3RhdGUtPnN0 cmVhbXNbaV07CisKKwkJaWYgKHN0cmVhbS0+bGluayAhPSBkY19saW5rKQorCQkJY29udGludWU7 CisKKwkJc3RyZWFtLT50aW1pbmcuZmxhZ3MuRFNDID0gMDsKKworCQlwYXJhbXNbY291bnRdLnRp bWluZyA9ICZzdHJlYW0tPnRpbWluZzsKKwkJcGFyYW1zW2NvdW50XS5zaW5rID0gc3RyZWFtLT5z aW5rOworCQlhY29ubmVjdG9yID0gKHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICopc3RyZWFt LT5kbV9zdHJlYW1fY29udGV4dDsKKwkJcGFyYW1zW2NvdW50XS5wb3J0ID0gYWNvbm5lY3Rvci0+ cG9ydDsKKwkJcGFyYW1zW2NvdW50XS5jb21wcmVzc2lvbl9wb3NzaWJsZSA9IHN0cmVhbS0+c2lu ay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMuaXNfZHNjX3N1cHBvcnRlZDsKKwkJZGNfZHNj X2dldF9wb2xpY3lfZm9yX3RpbWluZyhwYXJhbXNbY291bnRdLnRpbWluZywgJmRzY19wb2xpY3kp OworCQlpZiAoIWRjX2RzY19jb21wdXRlX2JhbmR3aWR0aF9yYW5nZSgKKwkJCQlzdHJlYW0tPnNp bmstPmN0eC0+ZGMtPnJlc19wb29sLT5kc2NzWzBdLAorCQkJCXN0cmVhbS0+c2luay0+Y3R4LT5k Yy0+ZGVidWcuZHNjX21pbl9zbGljZV9oZWlnaHRfb3ZlcnJpZGUsCisJCQkJZHNjX3BvbGljeS5t aW5fdGFyZ2V0X2JwcCwKKwkJCQlkc2NfcG9saWN5Lm1heF90YXJnZXRfYnBwLAorCQkJCSZzdHJl YW0tPnNpbmstPnNpbmtfZHNjX2NhcHMuZHNjX2RlY19jYXBzLAorCQkJCSZzdHJlYW0tPnRpbWlu ZywgJnBhcmFtc1tjb3VudF0uYndfcmFuZ2UpKQorCQkJcGFyYW1zW2NvdW50XS5id19yYW5nZS5z dHJlYW1fa2JwcyA9IGRjX2JhbmR3aWR0aF9pbl9rYnBzX2Zyb21fdGltaW5nKCZzdHJlYW0tPnRp bWluZyk7CisKKwkJY291bnQrKzsKKwl9CisJLyogVHJ5IG5vIGNvbXByZXNzaW9uICovCisJZm9y IChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJdmFyc1tpXS5wYm4gPSBrYnBzX3RvX3BlYWtf cGJuKHBhcmFtc1tpXS5id19yYW5nZS5zdHJlYW1fa2Jwcyk7CisJCXZhcnNbaV0uZHNjX2VuYWJs ZWQgPSBmYWxzZTsKKwkJdmFyc1tpXS5icHBfeDE2ID0gMDsKKwkJZHJtX2RwX2F0b21pY19maW5k X3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCSAgICAgIHBhcmFtc1tpXS5wb3J0LT5tZ3IsCisJCQkJ CSAgICAgIHBhcmFtc1tpXS5wb3J0LAorCQkJCQkgICAgICB2YXJzW2ldLnBibiwKKwkJCQkJICAg ICAgMCk7CisJfQorCWlmICghZHJtX2RwX21zdF9hdG9taWNfY2hlY2soc3RhdGUpKSB7CisJCXNl dF9kc2NfY29uZmlnc19mcm9tX2ZhaXJuZXNzX3ZhcnMocGFyYW1zLCB2YXJzLCBjb3VudCk7CisJ CXJldHVybiB0cnVlOworCX0KKworCS8qIFRyeSBtYXggY29tcHJlc3Npb24gKi8KKwlmb3IgKGkg PSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlpZiAocGFyYW1zW2ldLmNvbXByZXNzaW9uX3Bvc3Np YmxlKSB7CisJCQl2YXJzW2ldLnBibiA9IGticHNfdG9fcGVha19wYm4ocGFyYW1zW2ldLmJ3X3Jh bmdlLm1pbl9rYnBzKTsKKwkJCXZhcnNbaV0uZHNjX2VuYWJsZWQgPSB0cnVlOworCQkJdmFyc1tp XS5icHBfeDE2ID0gcGFyYW1zW2ldLmJ3X3JhbmdlLm1pbl90YXJnZXRfYnBwX3gxNjsKKwkJCWRy bV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKHN0YXRlLAorCQkJCQkgICAgICBwYXJhbXNbaV0u cG9ydC0+bWdyLAorCQkJCQkgICAgICBwYXJhbXNbaV0ucG9ydCwKKwkJCQkJICAgICAgdmFyc1tp XS5wYm4sCisJCQkJCSAgICAgIGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQl9 IGVsc2UgeworCQkJdmFyc1tpXS5wYm4gPSBrYnBzX3RvX3BlYWtfcGJuKHBhcmFtc1tpXS5id19y YW5nZS5zdHJlYW1fa2Jwcyk7CisJCQl2YXJzW2ldLmRzY19lbmFibGVkID0gZmFsc2U7CisJCQl2 YXJzW2ldLmJwcF94MTYgPSAwOworCQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3Rh dGUsCisJCQkJCSAgICAgIHBhcmFtc1tpXS5wb3J0LT5tZ3IsCisJCQkJCSAgICAgIHBhcmFtc1tp XS5wb3J0LAorCQkJCQkgICAgICB2YXJzW2ldLnBibiwKKwkJCQkJICAgICAgMCk7CisJCX0KKwl9 CisJaWYgKGRybV9kcF9tc3RfYXRvbWljX2NoZWNrKHN0YXRlKSkKKwkJcmV0dXJuIGZhbHNlOwor CisJLyogT3B0aW1pemUgZGVncmVlIG9mIGNvbXByZXNzaW9uICovCisJaW5jcmVhc2VfZHNjX2Jw cChzdGF0ZSwgZGNfbGluaywgcGFyYW1zLCB2YXJzLCBjb3VudCk7CisKKwl0cnlfZGlzYWJsZV9k c2Moc3RhdGUsIGRjX2xpbmssIHBhcmFtcywgdmFycywgY291bnQpOworCisJc2V0X2RzY19jb25m aWdzX2Zyb21fZmFpcm5lc3NfdmFycyhwYXJhbXMsIHZhcnMsIGNvdW50KTsKKworCXJldHVybiB0 cnVlOworfQorCitib29sIGNvbXB1dGVfbXN0X2RzY19jb25maWdzX2Zvcl9zdGF0ZShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJICAgICAgIHN0cnVjdCBkY19zdGF0ZSAqZGNf c3RhdGUpCit7CisJaW50IGksIGo7CisJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtOwor CWJvb2wgY29tcHV0ZWRfc3RyZWFtc1tNQVhfUElQRVNdOworCXN0cnVjdCBhbWRncHVfZG1fY29u bmVjdG9yICphY29ubmVjdG9yOworCisJZm9yIChpID0gMDsgaSA8IGRjX3N0YXRlLT5zdHJlYW1f Y291bnQ7IGkrKykKKwkJY29tcHV0ZWRfc3RyZWFtc1tpXSA9IGZhbHNlOworCisJZm9yIChpID0g MDsgaSA8IGRjX3N0YXRlLT5zdHJlYW1fY291bnQ7IGkrKykgeworCQlzdHJlYW0gPSBkY19zdGF0 ZS0+c3RyZWFtc1tpXTsKKworCQlpZiAoc3RyZWFtLT5zaWduYWwgIT0gU0lHTkFMX1RZUEVfRElT UExBWV9QT1JUX01TVCkKKwkJCWNvbnRpbnVlOworCisJCWFjb25uZWN0b3IgPSAoc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKilzdHJlYW0tPmRtX3N0cmVhbV9jb250ZXh0OworCisJCWlmICgh YWNvbm5lY3RvciB8fCAhYWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJCWNvbnRpbnVlOworCisJCWlm ICghYWNvbm5lY3Rvci0+ZGNfc2luay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMuaXNfZHNj X3N1cHBvcnRlZCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjb21wdXRlZF9zdHJlYW1zW2ldKQor CQkJY29udGludWU7CisKKwkJbXV0ZXhfbG9jaygmYWNvbm5lY3Rvci0+bXN0X21nci5sb2NrKTsK KwkJaWYgKCFjb21wdXRlX21zdF9kc2NfY29uZmlnc19mb3JfbGluayhzdGF0ZSwgZGNfc3RhdGUs IHN0cmVhbS0+bGluaykpIHsKKwkJCW11dGV4X3VubG9jaygmYWNvbm5lY3Rvci0+bXN0X21nci5s b2NrKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCQltdXRleF91bmxvY2soJmFjb25uZWN0b3It Pm1zdF9tZ3IubG9jayk7CisKKwkJZm9yIChqID0gMDsgaiA8IGRjX3N0YXRlLT5zdHJlYW1fY291 bnQ7IGorKykgeworCQkJaWYgKGRjX3N0YXRlLT5zdHJlYW1zW2pdLT5saW5rID09IHN0cmVhbS0+ bGluaykKKwkJCQljb21wdXRlZF9zdHJlYW1zW2pdID0gdHJ1ZTsKKwkJfQorCX0KKworCWZvciAo aSA9IDA7IGkgPCBkY19zdGF0ZS0+c3RyZWFtX2NvdW50OyBpKyspIHsKKwkJc3RyZWFtID0gZGNf c3RhdGUtPnN0cmVhbXNbaV07CisKKwkJaWYgKHN0cmVhbS0+dGltaW5nLmZsYWdzLkRTQyA9PSAx KQorCQkJZGNuMjBfYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2Uoc3RyZWFtLT5jdHgtPmRjLCBk Y19zdGF0ZSwgc3RyZWFtKTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5 cGVzLmgKaW5kZXggYTU1M2VhMDQ2MTg1Li5kNDUxY2U5Y2VjYzAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90 eXBlcy5oCkBAIC0zNCw0ICszNCw3IEBAIGludCBkbV9tc3RfZ2V0X3Bibl9kaXZpZGVyKHN0cnVj dCBkY19saW5rICpsaW5rKTsKIHZvaWQgYW1kZ3B1X2RtX2luaXRpYWxpemVfZHBfY29ubmVjdG9y KHN0cnVjdCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSwKIAkJCQkgICAgICAgc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IpOwogCisKK2Jvb2wgY29tcHV0ZV9tc3RfZHNj X2NvbmZpZ3NfZm9yX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkg ICAgICAgc3RydWN0IGRjX3N0YXRlICpkY19zdGF0ZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKaW5kZXgg MmNjZmQ4NGE3ZGE0Li43ZjAzYTZiNWFlMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jCkBAIC0xNTU4LDcgKzE1NTgs NyBAQCBzdGF0aWMgdm9pZCByZWxlYXNlX2RzYyhzdHJ1Y3QgcmVzb3VyY2VfY29udGV4dCAqcmVz X2N0eCwKIAogCiAKLXN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhZGRfZHNjX3RvX3N0cmVhbV9yZXNv dXJjZShzdHJ1Y3QgZGMgKmRjLAorZW51bSBkY19zdGF0dXMgZGNuMjBfYWRkX2RzY190b19zdHJl YW1fcmVzb3VyY2Uoc3RydWN0IGRjICpkYywKIAkJc3RydWN0IGRjX3N0YXRlICpkY19jdHgsCiAJ CXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRjX3N0cmVhbSkKIHsKQEAgLTE1NzMsNiArMTU3Myw5 IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhZGRfZHNjX3RvX3N0cmVhbV9yZXNvdXJjZShzdHJ1 Y3QgZGMgKmRjLAogCQlpZiAocGlwZV9jdHgtPnN0cmVhbSAhPSBkY19zdHJlYW0pCiAJCQljb250 aW51ZTsKIAorCQlpZiAocGlwZV9jdHgtPnN0cmVhbV9yZXMuZHNjKQorCQkJY29udGludWU7CisK IAkJYWNxdWlyZV9kc2MoJmRjX2N0eC0+cmVzX2N0eCwgcG9vbCwgJnBpcGVfY3R4LT5zdHJlYW1f cmVzLmRzYyk7CiAKIAkJLyogVGhlIG51bWJlciBvZiBEU0NzIGNhbiBiZSBsZXNzIHRoYW4gdGhl IG51bWJlciBvZiBwaXBlcyAqLwpAQCAtMTYyMiw3ICsxNjI1LDcgQEAgZW51bSBkY19zdGF0dXMg ZGNuMjBfYWRkX3N0cmVhbV90b19jdHgoc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRlICpu ZXdfY3R4LAogCiAJLyogR2V0IGEgRFNDIGlmIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgKi8KIAlp ZiAocmVzdWx0ID09IERDX09LICYmIGRjX3N0cmVhbS0+dGltaW5nLmZsYWdzLkRTQykKLQkJcmVz dWx0ID0gYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2UoZGMsIG5ld19jdHgsIGRjX3N0cmVhbSk7 CisJCXJlc3VsdCA9IGRjbjIwX2FkZF9kc2NfdG9fc3RyZWFtX3Jlc291cmNlKGRjLCBuZXdfY3R4 LCBkY19zdHJlYW0pOwogCiAJaWYgKHJlc3VsdCA9PSBEQ19PSykKIAkJcmVzdWx0ID0gZGNuMjBf YnVpbGRfbWFwcGVkX3Jlc291cmNlKGRjLCBuZXdfY3R4LCBkY19zdHJlYW0pOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfcmVzb3VyY2UuaApp bmRleCA4NDBjYTY2YzM0ZTEuLmY1ODkzODQwYjc5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgKQEAgLTE1Nyw2ICsx NTcsNyBAQCB2b2lkIGRjbjIwX2NhbGN1bGF0ZV9kbGdfcGFyYW1zKAogCiBlbnVtIGRjX3N0YXR1 cyBkY24yMF9idWlsZF9tYXBwZWRfcmVzb3VyY2UoY29uc3Qgc3RydWN0IGRjICpkYywgc3RydWN0 IGRjX3N0YXRlICpjb250ZXh0LCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pOwogZW51 bSBkY19zdGF0dXMgZGNuMjBfYWRkX3N0cmVhbV90b19jdHgoc3RydWN0IGRjICpkYywgc3RydWN0 IGRjX3N0YXRlICpuZXdfY3R4LCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpkY19zdHJlYW0pOwor ZW51bSBkY19zdGF0dXMgZGNuMjBfYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2Uoc3RydWN0IGRj ICpkYywgc3RydWN0IGRjX3N0YXRlICpkY19jdHgsIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRj X3N0cmVhbSk7CiBlbnVtIGRjX3N0YXR1cyBkY24yMF9yZW1vdmVfc3RyZWFtX2Zyb21fY3R4KHN0 cnVjdCBkYyAqZGMsIHN0cnVjdCBkY19zdGF0ZSAqbmV3X2N0eCwgc3RydWN0IGRjX3N0cmVhbV9z dGF0ZSAqZGNfc3RyZWFtKTsKIGVudW0gZGNfc3RhdHVzIGRjbjIwX2dldF9kZWZhdWx0X3N3aXp6 bGVfbW9kZShzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKIAotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= 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.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,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 EDCEAC432C0 for ; Tue, 3 Dec 2019 14:36:16 +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 CA36520659 for ; Tue, 3 Dec 2019 14:36:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA36520659 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 933EA6E7AF; Tue, 3 Dec 2019 14:35:56 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-eopbgr800080.outbound.protection.outlook.com [40.107.80.80]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17EAF6E799; Tue, 3 Dec 2019 14:35:52 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuxTVEknXatI+zz19LVrCWrlj8NDKeUCHb6IKrYvEyOc7Kmbbnmoq57YFPoByNQ3Ro2z0EmyNTwYhQuSuWw2mJ0AIIm/+EOo1BkNEYFJEfD9H/ofiLMkN2/gpsk3Kqkq38slZCNDQtoDHA8dcYnp+JFr0nIbdH+ZBM5r1XjEPFmNxL7GhfXj3sL04X03JjczV3A/V6EhYLmbHwbxU/FOJu3u0rd8s+UM+ipL4ZRGjmtIB5hTdUa8jVd/BpWYQeqzCN1klvbSg08Rwd6QM9+oKBhl4OIIIKB9r9Yvqo/earnHeqm5/4itB18mefo3RQ9IV6tb/Jfi/LrmXsdaAWNKzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tnWclmIwAeqF3qBBXJneSDlwd7ifYHh1OrGU8+dHsPo=; b=a9l4qkXpjhGwlPR9UtEooKR6azdDx0HGmlPQ+400lXO2BIyUrcKBvKEMd1+uiHNDhUMVpas/pkYTz+aho9tHEV4U0YdIL57Tz91qO6+m/y6h01l5j9o3e3vFT8/VUK9NtSdWSiUjh3vqsHVMVenmeT2mOVNnVcZBxFCzgqjhZl9Z5vxpSbb0uvIGNT0ESlt+9qloWDezLGE1oygnEjBzA1+ihZ1l4X8WJmPFhwTYXOkOCoZXV5P7na9pEa+uUAMoCv3oI4ziZq/PcUd3p2FYgLudT6bq1bynJlamFybrBgZDsz9bzfmA/Nzh3ymAfV8/+ZHF+fAe8dDLV55B7cBbpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=amd.com; dmarc=permerror action=none header.from=amd.com; dkim=none (message not signed); arc=none Received: from DM6PR12CA0022.namprd12.prod.outlook.com (2603:10b6:5:1c0::35) by BYAPR12MB3606.namprd12.prod.outlook.com (2603:10b6:a03:d5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.20; Tue, 3 Dec 2019 14:35:49 +0000 Received: from DM6NAM11FT054.eop-nam11.prod.protection.outlook.com (2a01:111:f400:7eaa::205) by DM6PR12CA0022.outlook.office365.com (2603:10b6:5:1c0::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2495.18 via Frontend Transport; Tue, 3 Dec 2019 14:35:49 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXMB02.amd.com (165.204.84.17) by DM6NAM11FT054.mail.protection.outlook.com (10.13.173.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2451.23 via Frontend Transport; Tue, 3 Dec 2019 14:35:49 +0000 Received: from SATLEXMB01.amd.com (10.181.40.142) by SATLEXMB02.amd.com (10.181.40.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 3 Dec 2019 08:35:47 -0600 Received: from mlipski-pc.amd.com (10.180.168.240) by SATLEXMB01.amd.com (10.181.40.142) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Tue, 3 Dec 2019 08:35:46 -0600 From: To: Subject: [PATCH v8 14/17] drm/amd/display: MST DSC compute fair share Date: Tue, 3 Dec 2019 09:35:27 -0500 Message-ID: <20191203143530.27262-15-mikita.lipski@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191203143530.27262-1-mikita.lipski@amd.com> References: <20191203143530.27262-1-mikita.lipski@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(136003)(346002)(396003)(376002)(39860400002)(428003)(189003)(199004)(81156014)(16586007)(8936002)(30864003)(2906002)(81166006)(1076003)(11346002)(446003)(2876002)(2351001)(426003)(50226002)(6916009)(48376002)(478600001)(50466002)(305945005)(70206006)(2616005)(70586007)(8676002)(54906003)(336012)(5660300002)(316002)(186003)(14444005)(53416004)(6666004)(356004)(86362001)(26005)(76176011)(36756003)(4326008)(51416003)(7696005)(16060500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR12MB3606; H:SATLEXMB02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af0908fe-8ccc-4adc-bcce-08d777fe17a0 X-MS-TrafficTypeDiagnostic: BYAPR12MB3606: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1265; X-Forefront-PRVS: 02408926C4 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wVOPZeD07SaZwVJF35TUzHJpsyRAwG0bbNcehAQOubyy8Nt+lwuI7j8Dmn2th8y3tVtozU8i8366S2ncp+vB6hchC+WJHbWMTyOJxKc14XhiTwTDyl5g2m3IG+Rt1Awj7xfLeRKYmPlsqScP67jlpdaRE1Ij4jCJeg0wRFso0KZ0fx1IGVCGuZXFDGWCbgnRQi0typyfR61wlOaBYeCVaCSh3BqvhmhwiiBGJsLiapeg3YIHKRI0rCF9TSA7Yk8+4CixSo+ikZ8Zm4so6EV274k7m41W/F+4jXm8tCYUbS0kTv0ZWq9uJEqSavZVGHGooZP8uWm0MhHPO3+aDuqhkW9bpjQpuSWpRjXYlQrl+apurHVR1CWAyfWnqYcwgukcsqfFi/YldQKqJrrWQsh2EjfYq+205W85UGAnSk4Nd/CNHo3mxuoI9ODfF2ryTelp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2019 14:35:49.7192 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af0908fe-8ccc-4adc-bcce-08d777fe17a0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3606 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tnWclmIwAeqF3qBBXJneSDlwd7ifYHh1OrGU8+dHsPo=; b=Ptfsb3AMjzoN1NkOW787/AynJMusKiM4v9vKYzTELgq1CvaBMnjWdrMDldX6IozYJawImothLUO7jDZ6d2pjUbe3tMFfxCAtJfy6TlpqHBRiDQgxUKvRr8FmOO3Vf4kBt8KD4PZCQ/tEEOmgt3Yg0++3yxMYN+zUwcv01njnh7o= X-Mailman-Original-Authentication-Results: spf=none (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; dmarc=permerror action=none header.from=amd.com; X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Manasi Navare , David Francis , Mikita Lipski , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" RnJvbTogRGF2aWQgRnJhbmNpcyA8RGF2aWQuRnJhbmNpc0BhbWQuY29tPgoKSWYgdGhlcmUgaXMg bGltaXRlZCBsaW5rIGJhbmR3aWR0aCBvbiBhIE1TVCBuZXR3b3JrLAppdCBtdXN0IGJlIGRpdmlk ZWQgZmFpcmx5IGJldHdlZW4gdGhlIHN0cmVhbXMgb24gdGhhdCBuZXR3b3JrCgpJbXBsZW1lbnQg YW4gYWxnb3JpdGhtIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBEU0MgY29uZmlnCmZvciBlYWNo IHN0cmVhbQoKVGhlIGFsZ29yaXRobToKVGhpcwogICAgIFsgICAgICAgICAgICAgICAgICAgXSAg ICAgICAgICAoICkKcmVwcmVzZW50cyB0aGUgcmFuZ2Ugb2YgYmFuZHdpZHRocyBwb3NzaWJsZSBm b3IgYSBnaXZlbiBzdHJlYW0uClRoZSBbXSBhcmVhIHJlcHJlc2VudHMgdGhlIHJhbmdlIG9mIERT QyBjb25maWdzLCBhbmQgdGhlICgpCnJlcHJlc2VudHMgbm8gRFNDLiBUaGUgYmFuZHdpZHRoIHVz ZWQgaW5jcmVhc2VzIGZyb20gbGVmdCB0byByaWdodC4KCkZpcnN0LCB0cnkgZGlzYWJsaW5nIERT QyBvbiBhbGwgc3RyZWFtcwogICAgIFsgICAgICAgICAgICAgICAgICBdICAgICAgICAgICh8KQog ICAgIFsgICAgICAgICAgICAgICAgICAgICBdICAgICAgICAgICAgKHwpCkNoZWNrIHRoaXMgYWdh aW5zdCB0aGUgYmFuZHdpZHRoIGxpbWl0cyBvZiB0aGUgbGluayBhbmQgZWFjaCBicmFuY2gKKGlu Y2x1ZGluZyBlYWNoIGVuZHBvaW50KS4gSWYgaXQgcGFzc2VzLCB0aGUgam9iIGlzIGRvbmUKClNl Y29uZCwgdHJ5IG1heGltdW0gRFNDIGNvbXByZXNzaW9uIG9uIGFsbCBzdHJlYW1zCnRoYXQgc3Vw cG9ydCBEU0MKICAgICBbfCAgICAgICAgIF0gICAgICAgICggKQogICAgIFt8ICAgICAgICAgICAg ICAgIF0gICAgICAgICAoICkKSWYgdGhpcyBkb2VzIG5vdCBwYXNzLCB0aGVuIGVuYWJsaW5nIHRo aXMgY29tYmluYXRpb24gb2Ygc3RyZWFtcwppcyBpbXBvc3NpYmxlCgpPdGhlcndpc2UsIGRpdmlk ZSB0aGUgcmVtYWluaW5nIGJhbmR3aWR0aCBldmVubHkgYW1vbmdzdCB0aGUgc3RyZWFtcwogICAg IFsgICAgICAgIHwgIF0gICAgICAgICAoICkKICAgICBbICAgICAgICB8ICAgICAgXSAgICAgICAg KCApCgpJZiBvbmUgb3IgbW9yZSBvZiB0aGUgc3RyZWFtcyByZWFjaCBtaW5pbXVtIGNvbXByZXNz aW9uLCBldmVubHkKZGl2aWRlIHRoZSByZWFtaW5pbmcgYmFuZHdpZHRoIGFtb25nc3QgdGhlIHJl bWFpbmluZyBzdHJlYW1zCiAgICAgWyAgICB8XSAoICkKICAgICBbICAgICAgIHxdICAgKCApCiAg ICAgWyAgICAgICAgICAgICAgICAgfCAgIF0gICAgICAgICAgICAgICAoICkKICAgICBbICAgICAg ICAgICAgICAgICB8ICAgICAgXSAgICAgICAgICAgICAgICAgICggKQoKSWYgYWxsIHN0cmVhbXMg Y2FuIHJlYWNoIG1pbmltdW0gY29tcHJlc3Npb24sIGRpc2FibGUgY29tcHJlc3Npb24KZ3JlZWRp bHkKICAgICBbICAgICAgfF0gICggKQogICAgIFsgICAgICAgIHxdICAgICggKQogICAgIFsgICAg ICAgICAgICAgICAgIF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh8KQoKUGVyZm9y bSB0aGlzIGFsZ29yaXRobSBvbiBlYWNoIGZ1bGwgdXBkYXRlLCBvbiBlYWNoIE1TVCBsaW5rCndp dGggYXQgbGVhc3Qgb25lIERTQyBzdHJlYW0gb24gaXQKCkFmdGVyIHRoZSBjb25maWdzIGFyZSBj b21wdXRlZCwgY2FsbApkY24yMF9hZGRfZHNjX3RvX3N0cmVhbV9yZXNvdXJjZSBvbiBlYWNoIHN0 cmVhbSB3aXRoIERTQyBlbmFibGVkLgpJdCBpcyBvbmx5IGFmdGVyIGFsbCBzdHJlYW1zIGFyZSBj cmVhdGVkIHRoYXQgd2UgY2FuIGtub3cgd2hpY2gKb2YgdGhlbSB3aWxsIG5lZWQgRFNDLgoKRG8g YWxsIG9mIHRoaXMgYXQgdGhlIGVuZCBvZiBhbWRncHUgYXRvbWljIGNoZWNrLiAgSWYgaXQgZmFp bHMsCmZhaWwgY2hlY2s7IFRoaXMgY29tYmluYXRpb24gb2YgdGltaW5ncyBjYW5ub3QgYmUgc3Vw cG9ydGVkLgoKdjI6IFVzZSBkcm1fZHBfbXN0X2F0b21pY19jaGVjayB0byB2YWxpZGF0ZSBidyBm b3IgY2VydGFpbiBkc2MKY29uZmlndXJhdGlvbnMKCnYzOiBVc2UgZGNfZHNjX3BvbGljeSBzdHJ1 Y3R1cmUgdG8gZ2V0IG1pbiBhbmQgbWF4IGJwcCByYXRlCmZvciBEU0MgY29uZmlndXJhdGlvbgoK Q2M6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBNYW5hc2kgTmF2YXJlIDxtYW5h c2kuZC5uYXZhcmVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogV2VuamluZyBMaXUgPFdlbmppbmcu TGl1QGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIEZyYW5jaXMgPERhdmlkLkZyYW5jaXNA YW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogTWlraXRhIExpcHNraSA8bWlraXRhLmxpcHNraUBhbWQu Y29tPgotLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8 ICAgMyArCiAuLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jICAgfCAz NjQgKysrKysrKysrKysrKysrKysrCiAuLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21z dF90eXBlcy5oICAgfCAgIDMgKwogLi4uL2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9y ZXNvdXJjZS5jIHwgICA3ICstCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jl c291cmNlLmggfCAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAzNzYgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9k bS9hbWRncHVfZG0uYwppbmRleCA3NTNhNzk3MzQ4MTcuLjkzYTIzMGQ5NTZlZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCkBAIC04 MDk1LDYgKzgwOTUsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9kbV9hdG9taWNfY2hlY2soc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJaWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKIAorCQlpZiAoIWNv bXB1dGVfbXN0X2RzY19jb25maWdzX2Zvcl9zdGF0ZShzdGF0ZSwgZG1fc3RhdGUtPmNvbnRleHQp KQorCQkJZ290byBmYWlsOworCiAJCWlmIChkY192YWxpZGF0ZV9nbG9iYWxfc3RhdGUoZGMsIGRt X3N0YXRlLT5jb250ZXh0LCBmYWxzZSkgIT0gRENfT0spIHsKIAkJCXJldCA9IC1FSU5WQUw7CiAJ CQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCmluZGV4IGMzNzZjOGNjZDM5MS4uNmQx M2QxYzMzNTMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYwpAQCAtNDAsNiArNDAsMTAgQEAKICNp ZiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKICNpbmNsdWRlICJhbWRncHVfZG1fZGVidWdmcy5o IgogI2VuZGlmCisKKworI2luY2x1ZGUgImRjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgiCisKIC8q ICNkZWZpbmUgVFJBQ0VfRFBDRCAqLwogCiAjaWZkZWYgVFJBQ0VfRFBDRApAQCAtNDk5LDMgKzUw MywzNjMgQEAgaW50IGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoc3RydWN0IGRjX2xpbmsgKmxpbmsp CiAJcmV0dXJuIGRjX2xpbmtfYmFuZHdpZHRoX2ticHMobGluaywKIAkJCWRjX2xpbmtfZ2V0X2xp bmtfY2FwKGxpbmspKSAvICg4ICogMTAwMCAqIDU0KTsKIH0KKworc3RydWN0IGRzY19tc3RfZmFp cm5lc3NfcGFyYW1zIHsKKwlzdHJ1Y3QgZGNfY3J0Y190aW1pbmcgKnRpbWluZzsKKwlzdHJ1Y3Qg ZGNfc2luayAqc2luazsKKwlzdHJ1Y3QgZGNfZHNjX2J3X3JhbmdlIGJ3X3JhbmdlOworCWJvb2wg Y29tcHJlc3Npb25fcG9zc2libGU7CisJc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydDsKK307 CisKK3N0cnVjdCBkc2NfbXN0X2ZhaXJuZXNzX3ZhcnMgeworCWludCBwYm47CisJYm9vbCBkc2Nf ZW5hYmxlZDsKKwlpbnQgYnBwX3gxNjsKK307CisKK3N0YXRpYyBpbnQga2Jwc190b19wZWFrX3Bi bihpbnQga2JwcykKK3sKKwl1NjQgcGVha19rYnBzID0ga2JwczsKKworCXBlYWtfa2JwcyAqPSAx MDA2OworCXBlYWtfa2JwcyAvPSAxMDAwOworCXJldHVybiAoaW50KSBESVZfUk9VTkRfVVAocGVh a19rYnBzICogNjQsICg1NCAqIDggKiAxMDAwKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kc2Nf Y29uZmlnc19mcm9tX2ZhaXJuZXNzX3ZhcnMoc3RydWN0IGRzY19tc3RfZmFpcm5lc3NfcGFyYW1z ICpwYXJhbXMsCisJCXN0cnVjdCBkc2NfbXN0X2ZhaXJuZXNzX3ZhcnMgKnZhcnMsCisJCWludCBj b3VudCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCW1l bXNldCgmcGFyYW1zW2ldLnRpbWluZy0+ZHNjX2NmZywgMCwgc2l6ZW9mKHBhcmFtc1tpXS50aW1p bmctPmRzY19jZmcpKTsKKwkJaWYgKHZhcnNbaV0uZHNjX2VuYWJsZWQgJiYgZGNfZHNjX2NvbXB1 dGVfY29uZmlnKAorCQkJCQlwYXJhbXNbaV0uc2luay0+Y3R4LT5kYy0+cmVzX3Bvb2wtPmRzY3Nb MF0sCisJCQkJCSZwYXJhbXNbaV0uc2luay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMsCisJ CQkJCXBhcmFtc1tpXS5zaW5rLT5jdHgtPmRjLT5kZWJ1Zy5kc2NfbWluX3NsaWNlX2hlaWdodF9v dmVycmlkZSwKKwkJCQkJMCwKKwkJCQkJcGFyYW1zW2ldLnRpbWluZywKKwkJCQkJJnBhcmFtc1tp XS50aW1pbmctPmRzY19jZmcpKSB7CisJCQlwYXJhbXNbaV0udGltaW5nLT5mbGFncy5EU0MgPSAx OworCQkJcGFyYW1zW2ldLnRpbWluZy0+ZHNjX2NmZy5iaXRzX3Blcl9waXhlbCA9IHZhcnNbaV0u YnBwX3gxNjsKKwkJfSBlbHNlIHsKKwkJCXBhcmFtc1tpXS50aW1pbmctPmZsYWdzLkRTQyA9IDA7 CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgYnBwX3gxNl9mcm9tX3BibihzdHJ1Y3QgZHNjX21z dF9mYWlybmVzc19wYXJhbXMgcGFyYW0sIGludCBwYm4pCit7CisJc3RydWN0IGRjX2RzY19jb25m aWcgZHNjX2NvbmZpZzsKKwl1NjQga2JwczsKKworCWticHMgPSAodTY0KXBibiAqIDk5NCAqIDgg KiA1NCAvIDY0OworCWRjX2RzY19jb21wdXRlX2NvbmZpZygKKwkJCXBhcmFtLnNpbmstPmN0eC0+ ZGMtPnJlc19wb29sLT5kc2NzWzBdLAorCQkJJnBhcmFtLnNpbmstPnNpbmtfZHNjX2NhcHMuZHNj X2RlY19jYXBzLAorCQkJcGFyYW0uc2luay0+Y3R4LT5kYy0+ZGVidWcuZHNjX21pbl9zbGljZV9o ZWlnaHRfb3ZlcnJpZGUsCisJCQkoaW50KSBrYnBzLCBwYXJhbS50aW1pbmcsICZkc2NfY29uZmln KTsKKworCXJldHVybiBkc2NfY29uZmlnLmJpdHNfcGVyX3BpeGVsOworfQorCitzdGF0aWMgdm9p ZCBpbmNyZWFzZV9kc2NfYnBwKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCSAg ICAgc3RydWN0IGRjX2xpbmsgKmRjX2xpbmssCisJCQkgICAgIHN0cnVjdCBkc2NfbXN0X2ZhaXJu ZXNzX3BhcmFtcyAqcGFyYW1zLAorCQkJICAgICBzdHJ1Y3QgZHNjX21zdF9mYWlybmVzc192YXJz ICp2YXJzLAorCQkJICAgICBpbnQgY291bnQpCit7CisJaW50IGk7CisJYm9vbCBicHBfaW5jcmVh c2VkW01BWF9QSVBFU107CisJaW50IGluaXRpYWxfc2xhY2tbTUFYX1BJUEVTXTsKKwlpbnQgbWlu X2luaXRpYWxfc2xhY2s7CisJaW50IG5leHRfaW5kZXg7CisJaW50IHJlbWFpbmluZ190b19pbmNy ZWFzZSA9IDA7CisJaW50IHBibl9wZXJfdGltZXNsb3Q7CisJaW50IGxpbmtfdGltZXNsb3RzX3Vz ZWQ7CisJaW50IGZhaXJfcGJuX2FsbG9jOworCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKysp IHsKKwkJaWYgKHZhcnNbaV0uZHNjX2VuYWJsZWQpIHsKKwkJCWluaXRpYWxfc2xhY2tbaV0gPSBr YnBzX3RvX3BlYWtfcGJuKHBhcmFtc1tpXS5id19yYW5nZS5tYXhfa2JwcykgLSB2YXJzW2ldLnBi bjsKKwkJCWJwcF9pbmNyZWFzZWRbaV0gPSBmYWxzZTsKKwkJCXJlbWFpbmluZ190b19pbmNyZWFz ZSArPSAxOworCQl9IGVsc2UgeworCQkJaW5pdGlhbF9zbGFja1tpXSA9IDA7CisJCQlicHBfaW5j cmVhc2VkW2ldID0gdHJ1ZTsKKwkJfQorCX0KKworCXBibl9wZXJfdGltZXNsb3QgPSBkY19saW5r X2JhbmR3aWR0aF9rYnBzKGRjX2xpbmssCisJCQlkY19saW5rX2dldF9saW5rX2NhcChkY19saW5r KSkgLyAoOCAqIDEwMDAgKiA1NCk7CisKKwl3aGlsZSAocmVtYWluaW5nX3RvX2luY3JlYXNlKSB7 CisJCW5leHRfaW5kZXggPSAtMTsKKwkJbWluX2luaXRpYWxfc2xhY2sgPSAtMTsKKwkJZm9yIChp ID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJCWlmICghYnBwX2luY3JlYXNlZFtpXSkgeworCQkJ CWlmIChtaW5faW5pdGlhbF9zbGFjayA9PSAtMSB8fCBtaW5faW5pdGlhbF9zbGFjayA+IGluaXRp YWxfc2xhY2tbaV0pIHsKKwkJCQkJbWluX2luaXRpYWxfc2xhY2sgPSBpbml0aWFsX3NsYWNrW2ld OworCQkJCQluZXh0X2luZGV4ID0gaTsKKwkJCQl9CisJCQl9CisJCX0KKworCQlpZiAobmV4dF9p bmRleCA9PSAtMSkKKwkJCWJyZWFrOworCisJCWxpbmtfdGltZXNsb3RzX3VzZWQgPSAwOworCisJ CWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQkJbGlua190aW1lc2xvdHNfdXNlZCArPSBE SVZfUk9VTkRfVVAodmFyc1tpXS5wYm4sIHBibl9wZXJfdGltZXNsb3QpOworCisJCWZhaXJfcGJu X2FsbG9jID0gKDYzIC0gbGlua190aW1lc2xvdHNfdXNlZCkgLyByZW1haW5pbmdfdG9faW5jcmVh c2UgKiBwYm5fcGVyX3RpbWVzbG90OworCisJCWlmIChpbml0aWFsX3NsYWNrW25leHRfaW5kZXhd ID4gZmFpcl9wYm5fYWxsb2MpIHsKKwkJCXZhcnNbbmV4dF9pbmRleF0ucGJuICs9IGZhaXJfcGJu X2FsbG9jOworCQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCQkg ICAgICBwYXJhbXNbbmV4dF9pbmRleF0ucG9ydC0+bWdyLAorCQkJCQkJICAgICAgcGFyYW1zW25l eHRfaW5kZXhdLnBvcnQsCisJCQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJ CSAgICAgIGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQkJaWYgKCFkcm1fZHBf bXN0X2F0b21pY19jaGVjayhzdGF0ZSkpIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLmJwcF94MTYg PSBicHBfeDE2X2Zyb21fcGJuKHBhcmFtc1tuZXh0X2luZGV4XSwgdmFyc1tuZXh0X2luZGV4XS5w Ym4pOworCQkJfSBlbHNlIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLnBibiAtPSBmYWlyX3Bibl9h bGxvYzsKKwkJCQlkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwKKwkJCQkJCSAg ICAgIHBhcmFtc1tuZXh0X2luZGV4XS5wb3J0LT5tZ3IsCisJCQkJCQkgICAgICBwYXJhbXNbbmV4 dF9pbmRleF0ucG9ydCwKKwkJCQkJCSAgICAgIHZhcnNbbmV4dF9pbmRleF0ucGJuLAorCQkJCQkJ ICAgICAgZG1fbXN0X2dldF9wYm5fZGl2aWRlcihkY19saW5rKSk7CisJCQl9CisJCX0gZWxzZSB7 CisJCQl2YXJzW25leHRfaW5kZXhdLnBibiArPSBpbml0aWFsX3NsYWNrW25leHRfaW5kZXhdOwor CQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCQkgICAgICBwYXJh bXNbbmV4dF9pbmRleF0ucG9ydC0+bWdyLAorCQkJCQkJICAgICAgcGFyYW1zW25leHRfaW5kZXhd LnBvcnQsCisJCQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJCSAgICAgIGRt X21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQkJaWYgKCFkcm1fZHBfbXN0X2F0b21p Y19jaGVjayhzdGF0ZSkpIHsKKwkJCQl2YXJzW25leHRfaW5kZXhdLmJwcF94MTYgPSBwYXJhbXNb bmV4dF9pbmRleF0uYndfcmFuZ2UubWF4X3RhcmdldF9icHBfeDE2OworCQkJfSBlbHNlIHsKKwkJ CQl2YXJzW25leHRfaW5kZXhdLnBibiAtPSBpbml0aWFsX3NsYWNrW25leHRfaW5kZXhdOworCQkJ CWRybV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKHN0YXRlLAorCQkJCQkJICAgICAgcGFyYW1z W25leHRfaW5kZXhdLnBvcnQtPm1nciwKKwkJCQkJCSAgICAgIHBhcmFtc1tuZXh0X2luZGV4XS5w b3J0LAorCQkJCQkJICAgICAgdmFyc1tuZXh0X2luZGV4XS5wYm4sCisJCQkJCQkgICAgICBkbV9t c3RfZ2V0X3Bibl9kaXZpZGVyKGRjX2xpbmspKTsKKwkJCX0KKwkJfQorCisJCWJwcF9pbmNyZWFz ZWRbbmV4dF9pbmRleF0gPSB0cnVlOworCQlyZW1haW5pbmdfdG9faW5jcmVhc2UtLTsKKwl9Cit9 CisKK3N0YXRpYyB2b2lkIHRyeV9kaXNhYmxlX2RzYyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCisJCQkgICAgc3RydWN0IGRjX2xpbmsgKmRjX2xpbmssCisJCQkgICAgc3RydWN0IGRz Y19tc3RfZmFpcm5lc3NfcGFyYW1zICpwYXJhbXMsCisJCQkgICAgc3RydWN0IGRzY19tc3RfZmFp cm5lc3NfdmFycyAqdmFycywKKwkJCSAgICBpbnQgY291bnQpCit7CisJaW50IGk7CisJYm9vbCB0 cmllZFtNQVhfUElQRVNdOworCWludCBrYnBzX2luY3JlYXNlW01BWF9QSVBFU107CisJaW50IG1h eF9rYnBzX2luY3JlYXNlOworCWludCBuZXh0X2luZGV4OworCWludCByZW1haW5pbmdfdG9fdHJ5 ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWlmICh2YXJzW2ldLmRz Y19lbmFibGVkICYmIHZhcnNbaV0uYnBwX3gxNiA9PSBwYXJhbXNbaV0uYndfcmFuZ2UubWF4X3Rh cmdldF9icHBfeDE2KSB7CisJCQlrYnBzX2luY3JlYXNlW2ldID0gcGFyYW1zW2ldLmJ3X3Jhbmdl LnN0cmVhbV9rYnBzIC0gcGFyYW1zW2ldLmJ3X3JhbmdlLm1heF9rYnBzOworCQkJdHJpZWRbaV0g PSBmYWxzZTsKKwkJCXJlbWFpbmluZ190b190cnkgKz0gMTsKKwkJfSBlbHNlIHsKKwkJCWticHNf aW5jcmVhc2VbaV0gPSAwOworCQkJdHJpZWRbaV0gPSB0cnVlOworCQl9CisJfQorCisJd2hpbGUg KHJlbWFpbmluZ190b190cnkpIHsKKwkJbmV4dF9pbmRleCA9IC0xOworCQltYXhfa2Jwc19pbmNy ZWFzZSA9IC0xOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQkJaWYgKCF0cmll ZFtpXSkgeworCQkJCWlmIChtYXhfa2Jwc19pbmNyZWFzZSA9PSAtMSB8fCBtYXhfa2Jwc19pbmNy ZWFzZSA8IGticHNfaW5jcmVhc2VbaV0pIHsKKwkJCQkJbWF4X2ticHNfaW5jcmVhc2UgPSBrYnBz X2luY3JlYXNlW2ldOworCQkJCQluZXh0X2luZGV4ID0gaTsKKwkJCQl9CisJCQl9CisJCX0KKwor CQlpZiAobmV4dF9pbmRleCA9PSAtMSkKKwkJCWJyZWFrOworCisJCXZhcnNbbmV4dF9pbmRleF0u cGJuID0ga2Jwc190b19wZWFrX3BibihwYXJhbXNbbmV4dF9pbmRleF0uYndfcmFuZ2Uuc3RyZWFt X2ticHMpOworCQlkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwKKwkJCQkJICAg ICAgcGFyYW1zW25leHRfaW5kZXhdLnBvcnQtPm1nciwKKwkJCQkJICAgICAgcGFyYW1zW25leHRf aW5kZXhdLnBvcnQsCisJCQkJCSAgICAgIHZhcnNbbmV4dF9pbmRleF0ucGJuLAorCQkJCQkgICAg ICAwKTsKKworCQlpZiAoIWRybV9kcF9tc3RfYXRvbWljX2NoZWNrKHN0YXRlKSkgeworCQkJdmFy c1tuZXh0X2luZGV4XS5kc2NfZW5hYmxlZCA9IGZhbHNlOworCQkJdmFyc1tuZXh0X2luZGV4XS5i cHBfeDE2ID0gMDsKKwkJfSBlbHNlIHsKKwkJCXZhcnNbbmV4dF9pbmRleF0ucGJuID0ga2Jwc190 b19wZWFrX3BibihwYXJhbXNbbmV4dF9pbmRleF0uYndfcmFuZ2UubWF4X2ticHMpOworCQkJZHJt X2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCSAgICAgIHBhcmFtc1tuZXh0 X2luZGV4XS5wb3J0LT5tZ3IsCisJCQkJCSAgICAgIHBhcmFtc1tuZXh0X2luZGV4XS5wb3J0LAor CQkJCQkgICAgICB2YXJzW25leHRfaW5kZXhdLnBibiwKKwkJCQkJICAgICAgZG1fbXN0X2dldF9w Ym5fZGl2aWRlcihkY19saW5rKSk7CisJCX0KKworCQl0cmllZFtuZXh0X2luZGV4XSA9IHRydWU7 CisJCXJlbWFpbmluZ190b190cnktLTsKKwl9Cit9CisKK3N0YXRpYyBib29sIGNvbXB1dGVfbXN0 X2RzY19jb25maWdzX2Zvcl9saW5rKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJ CQkJICAgICBzdHJ1Y3QgZGNfc3RhdGUgKmRjX3N0YXRlLAorCQkJCQkgICAgIHN0cnVjdCBkY19s aW5rICpkY19saW5rKQoreworCWludCBpOworCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVh bTsKKwlzdHJ1Y3QgZHNjX21zdF9mYWlybmVzc19wYXJhbXMgcGFyYW1zW01BWF9QSVBFU107CisJ c3RydWN0IGRzY19tc3RfZmFpcm5lc3NfdmFycyB2YXJzW01BWF9QSVBFU107CisJc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3I7CisJaW50IGNvdW50ID0gMDsKKworCW1lbXNl dChwYXJhbXMsIDAsIHNpemVvZihwYXJhbXMpKTsKKworCS8qIFNldCB1cCBwYXJhbXMgKi8KKwlm b3IgKGkgPSAwOyBpIDwgZGNfc3RhdGUtPnN0cmVhbV9jb3VudDsgaSsrKSB7CisJCXN0cnVjdCBk Y19kc2NfcG9saWN5IGRzY19wb2xpY3kgPSB7MH07CisKKwkJc3RyZWFtID0gZGNfc3RhdGUtPnN0 cmVhbXNbaV07CisKKwkJaWYgKHN0cmVhbS0+bGluayAhPSBkY19saW5rKQorCQkJY29udGludWU7 CisKKwkJc3RyZWFtLT50aW1pbmcuZmxhZ3MuRFNDID0gMDsKKworCQlwYXJhbXNbY291bnRdLnRp bWluZyA9ICZzdHJlYW0tPnRpbWluZzsKKwkJcGFyYW1zW2NvdW50XS5zaW5rID0gc3RyZWFtLT5z aW5rOworCQlhY29ubmVjdG9yID0gKHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICopc3RyZWFt LT5kbV9zdHJlYW1fY29udGV4dDsKKwkJcGFyYW1zW2NvdW50XS5wb3J0ID0gYWNvbm5lY3Rvci0+ cG9ydDsKKwkJcGFyYW1zW2NvdW50XS5jb21wcmVzc2lvbl9wb3NzaWJsZSA9IHN0cmVhbS0+c2lu ay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMuaXNfZHNjX3N1cHBvcnRlZDsKKwkJZGNfZHNj X2dldF9wb2xpY3lfZm9yX3RpbWluZyhwYXJhbXNbY291bnRdLnRpbWluZywgJmRzY19wb2xpY3kp OworCQlpZiAoIWRjX2RzY19jb21wdXRlX2JhbmR3aWR0aF9yYW5nZSgKKwkJCQlzdHJlYW0tPnNp bmstPmN0eC0+ZGMtPnJlc19wb29sLT5kc2NzWzBdLAorCQkJCXN0cmVhbS0+c2luay0+Y3R4LT5k Yy0+ZGVidWcuZHNjX21pbl9zbGljZV9oZWlnaHRfb3ZlcnJpZGUsCisJCQkJZHNjX3BvbGljeS5t aW5fdGFyZ2V0X2JwcCwKKwkJCQlkc2NfcG9saWN5Lm1heF90YXJnZXRfYnBwLAorCQkJCSZzdHJl YW0tPnNpbmstPnNpbmtfZHNjX2NhcHMuZHNjX2RlY19jYXBzLAorCQkJCSZzdHJlYW0tPnRpbWlu ZywgJnBhcmFtc1tjb3VudF0uYndfcmFuZ2UpKQorCQkJcGFyYW1zW2NvdW50XS5id19yYW5nZS5z dHJlYW1fa2JwcyA9IGRjX2JhbmR3aWR0aF9pbl9rYnBzX2Zyb21fdGltaW5nKCZzdHJlYW0tPnRp bWluZyk7CisKKwkJY291bnQrKzsKKwl9CisJLyogVHJ5IG5vIGNvbXByZXNzaW9uICovCisJZm9y IChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJdmFyc1tpXS5wYm4gPSBrYnBzX3RvX3BlYWtf cGJuKHBhcmFtc1tpXS5id19yYW5nZS5zdHJlYW1fa2Jwcyk7CisJCXZhcnNbaV0uZHNjX2VuYWJs ZWQgPSBmYWxzZTsKKwkJdmFyc1tpXS5icHBfeDE2ID0gMDsKKwkJZHJtX2RwX2F0b21pY19maW5k X3ZjcGlfc2xvdHMoc3RhdGUsCisJCQkJCSAgICAgIHBhcmFtc1tpXS5wb3J0LT5tZ3IsCisJCQkJ CSAgICAgIHBhcmFtc1tpXS5wb3J0LAorCQkJCQkgICAgICB2YXJzW2ldLnBibiwKKwkJCQkJICAg ICAgMCk7CisJfQorCWlmICghZHJtX2RwX21zdF9hdG9taWNfY2hlY2soc3RhdGUpKSB7CisJCXNl dF9kc2NfY29uZmlnc19mcm9tX2ZhaXJuZXNzX3ZhcnMocGFyYW1zLCB2YXJzLCBjb3VudCk7CisJ CXJldHVybiB0cnVlOworCX0KKworCS8qIFRyeSBtYXggY29tcHJlc3Npb24gKi8KKwlmb3IgKGkg PSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlpZiAocGFyYW1zW2ldLmNvbXByZXNzaW9uX3Bvc3Np YmxlKSB7CisJCQl2YXJzW2ldLnBibiA9IGticHNfdG9fcGVha19wYm4ocGFyYW1zW2ldLmJ3X3Jh bmdlLm1pbl9rYnBzKTsKKwkJCXZhcnNbaV0uZHNjX2VuYWJsZWQgPSB0cnVlOworCQkJdmFyc1tp XS5icHBfeDE2ID0gcGFyYW1zW2ldLmJ3X3JhbmdlLm1pbl90YXJnZXRfYnBwX3gxNjsKKwkJCWRy bV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKHN0YXRlLAorCQkJCQkgICAgICBwYXJhbXNbaV0u cG9ydC0+bWdyLAorCQkJCQkgICAgICBwYXJhbXNbaV0ucG9ydCwKKwkJCQkJICAgICAgdmFyc1tp XS5wYm4sCisJCQkJCSAgICAgIGRtX21zdF9nZXRfcGJuX2RpdmlkZXIoZGNfbGluaykpOworCQl9 IGVsc2UgeworCQkJdmFyc1tpXS5wYm4gPSBrYnBzX3RvX3BlYWtfcGJuKHBhcmFtc1tpXS5id19y YW5nZS5zdHJlYW1fa2Jwcyk7CisJCQl2YXJzW2ldLmRzY19lbmFibGVkID0gZmFsc2U7CisJCQl2 YXJzW2ldLmJwcF94MTYgPSAwOworCQkJZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3Rh dGUsCisJCQkJCSAgICAgIHBhcmFtc1tpXS5wb3J0LT5tZ3IsCisJCQkJCSAgICAgIHBhcmFtc1tp XS5wb3J0LAorCQkJCQkgICAgICB2YXJzW2ldLnBibiwKKwkJCQkJICAgICAgMCk7CisJCX0KKwl9 CisJaWYgKGRybV9kcF9tc3RfYXRvbWljX2NoZWNrKHN0YXRlKSkKKwkJcmV0dXJuIGZhbHNlOwor CisJLyogT3B0aW1pemUgZGVncmVlIG9mIGNvbXByZXNzaW9uICovCisJaW5jcmVhc2VfZHNjX2Jw cChzdGF0ZSwgZGNfbGluaywgcGFyYW1zLCB2YXJzLCBjb3VudCk7CisKKwl0cnlfZGlzYWJsZV9k c2Moc3RhdGUsIGRjX2xpbmssIHBhcmFtcywgdmFycywgY291bnQpOworCisJc2V0X2RzY19jb25m aWdzX2Zyb21fZmFpcm5lc3NfdmFycyhwYXJhbXMsIHZhcnMsIGNvdW50KTsKKworCXJldHVybiB0 cnVlOworfQorCitib29sIGNvbXB1dGVfbXN0X2RzY19jb25maWdzX2Zvcl9zdGF0ZShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJICAgICAgIHN0cnVjdCBkY19zdGF0ZSAqZGNf c3RhdGUpCit7CisJaW50IGksIGo7CisJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtOwor CWJvb2wgY29tcHV0ZWRfc3RyZWFtc1tNQVhfUElQRVNdOworCXN0cnVjdCBhbWRncHVfZG1fY29u bmVjdG9yICphY29ubmVjdG9yOworCisJZm9yIChpID0gMDsgaSA8IGRjX3N0YXRlLT5zdHJlYW1f Y291bnQ7IGkrKykKKwkJY29tcHV0ZWRfc3RyZWFtc1tpXSA9IGZhbHNlOworCisJZm9yIChpID0g MDsgaSA8IGRjX3N0YXRlLT5zdHJlYW1fY291bnQ7IGkrKykgeworCQlzdHJlYW0gPSBkY19zdGF0 ZS0+c3RyZWFtc1tpXTsKKworCQlpZiAoc3RyZWFtLT5zaWduYWwgIT0gU0lHTkFMX1RZUEVfRElT UExBWV9QT1JUX01TVCkKKwkJCWNvbnRpbnVlOworCisJCWFjb25uZWN0b3IgPSAoc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKilzdHJlYW0tPmRtX3N0cmVhbV9jb250ZXh0OworCisJCWlmICgh YWNvbm5lY3RvciB8fCAhYWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJCWNvbnRpbnVlOworCisJCWlm ICghYWNvbm5lY3Rvci0+ZGNfc2luay0+c2lua19kc2NfY2Fwcy5kc2NfZGVjX2NhcHMuaXNfZHNj X3N1cHBvcnRlZCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjb21wdXRlZF9zdHJlYW1zW2ldKQor CQkJY29udGludWU7CisKKwkJbXV0ZXhfbG9jaygmYWNvbm5lY3Rvci0+bXN0X21nci5sb2NrKTsK KwkJaWYgKCFjb21wdXRlX21zdF9kc2NfY29uZmlnc19mb3JfbGluayhzdGF0ZSwgZGNfc3RhdGUs IHN0cmVhbS0+bGluaykpIHsKKwkJCW11dGV4X3VubG9jaygmYWNvbm5lY3Rvci0+bXN0X21nci5s b2NrKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCQltdXRleF91bmxvY2soJmFjb25uZWN0b3It Pm1zdF9tZ3IubG9jayk7CisKKwkJZm9yIChqID0gMDsgaiA8IGRjX3N0YXRlLT5zdHJlYW1fY291 bnQ7IGorKykgeworCQkJaWYgKGRjX3N0YXRlLT5zdHJlYW1zW2pdLT5saW5rID09IHN0cmVhbS0+ bGluaykKKwkJCQljb21wdXRlZF9zdHJlYW1zW2pdID0gdHJ1ZTsKKwkJfQorCX0KKworCWZvciAo aSA9IDA7IGkgPCBkY19zdGF0ZS0+c3RyZWFtX2NvdW50OyBpKyspIHsKKwkJc3RyZWFtID0gZGNf c3RhdGUtPnN0cmVhbXNbaV07CisKKwkJaWYgKHN0cmVhbS0+dGltaW5nLmZsYWdzLkRTQyA9PSAx KQorCQkJZGNuMjBfYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2Uoc3RyZWFtLT5jdHgtPmRjLCBk Y19zdGF0ZSwgc3RyZWFtKTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5 cGVzLmgKaW5kZXggYTU1M2VhMDQ2MTg1Li5kNDUxY2U5Y2VjYzAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90 eXBlcy5oCkBAIC0zNCw0ICszNCw3IEBAIGludCBkbV9tc3RfZ2V0X3Bibl9kaXZpZGVyKHN0cnVj dCBkY19saW5rICpsaW5rKTsKIHZvaWQgYW1kZ3B1X2RtX2luaXRpYWxpemVfZHBfY29ubmVjdG9y KHN0cnVjdCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSwKIAkJCQkgICAgICAgc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IpOwogCisKK2Jvb2wgY29tcHV0ZV9tc3RfZHNj X2NvbmZpZ3NfZm9yX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkg ICAgICAgc3RydWN0IGRjX3N0YXRlICpkY19zdGF0ZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKaW5kZXgg MmNjZmQ4NGE3ZGE0Li43ZjAzYTZiNWFlMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9yZXNvdXJjZS5jCkBAIC0xNTU4LDcgKzE1NTgs NyBAQCBzdGF0aWMgdm9pZCByZWxlYXNlX2RzYyhzdHJ1Y3QgcmVzb3VyY2VfY29udGV4dCAqcmVz X2N0eCwKIAogCiAKLXN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhZGRfZHNjX3RvX3N0cmVhbV9yZXNv dXJjZShzdHJ1Y3QgZGMgKmRjLAorZW51bSBkY19zdGF0dXMgZGNuMjBfYWRkX2RzY190b19zdHJl YW1fcmVzb3VyY2Uoc3RydWN0IGRjICpkYywKIAkJc3RydWN0IGRjX3N0YXRlICpkY19jdHgsCiAJ CXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRjX3N0cmVhbSkKIHsKQEAgLTE1NzMsNiArMTU3Myw5 IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhZGRfZHNjX3RvX3N0cmVhbV9yZXNvdXJjZShzdHJ1 Y3QgZGMgKmRjLAogCQlpZiAocGlwZV9jdHgtPnN0cmVhbSAhPSBkY19zdHJlYW0pCiAJCQljb250 aW51ZTsKIAorCQlpZiAocGlwZV9jdHgtPnN0cmVhbV9yZXMuZHNjKQorCQkJY29udGludWU7CisK IAkJYWNxdWlyZV9kc2MoJmRjX2N0eC0+cmVzX2N0eCwgcG9vbCwgJnBpcGVfY3R4LT5zdHJlYW1f cmVzLmRzYyk7CiAKIAkJLyogVGhlIG51bWJlciBvZiBEU0NzIGNhbiBiZSBsZXNzIHRoYW4gdGhl IG51bWJlciBvZiBwaXBlcyAqLwpAQCAtMTYyMiw3ICsxNjI1LDcgQEAgZW51bSBkY19zdGF0dXMg ZGNuMjBfYWRkX3N0cmVhbV90b19jdHgoc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRlICpu ZXdfY3R4LAogCiAJLyogR2V0IGEgRFNDIGlmIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgKi8KIAlp ZiAocmVzdWx0ID09IERDX09LICYmIGRjX3N0cmVhbS0+dGltaW5nLmZsYWdzLkRTQykKLQkJcmVz dWx0ID0gYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2UoZGMsIG5ld19jdHgsIGRjX3N0cmVhbSk7 CisJCXJlc3VsdCA9IGRjbjIwX2FkZF9kc2NfdG9fc3RyZWFtX3Jlc291cmNlKGRjLCBuZXdfY3R4 LCBkY19zdHJlYW0pOwogCiAJaWYgKHJlc3VsdCA9PSBEQ19PSykKIAkJcmVzdWx0ID0gZGNuMjBf YnVpbGRfbWFwcGVkX3Jlc291cmNlKGRjLCBuZXdfY3R4LCBkY19zdHJlYW0pOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfcmVzb3VyY2UuaApp bmRleCA4NDBjYTY2YzM0ZTEuLmY1ODkzODQwYjc5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmgKQEAgLTE1Nyw2ICsx NTcsNyBAQCB2b2lkIGRjbjIwX2NhbGN1bGF0ZV9kbGdfcGFyYW1zKAogCiBlbnVtIGRjX3N0YXR1 cyBkY24yMF9idWlsZF9tYXBwZWRfcmVzb3VyY2UoY29uc3Qgc3RydWN0IGRjICpkYywgc3RydWN0 IGRjX3N0YXRlICpjb250ZXh0LCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pOwogZW51 bSBkY19zdGF0dXMgZGNuMjBfYWRkX3N0cmVhbV90b19jdHgoc3RydWN0IGRjICpkYywgc3RydWN0 IGRjX3N0YXRlICpuZXdfY3R4LCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpkY19zdHJlYW0pOwor ZW51bSBkY19zdGF0dXMgZGNuMjBfYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2Uoc3RydWN0IGRj ICpkYywgc3RydWN0IGRjX3N0YXRlICpkY19jdHgsIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRj X3N0cmVhbSk7CiBlbnVtIGRjX3N0YXR1cyBkY24yMF9yZW1vdmVfc3RyZWFtX2Zyb21fY3R4KHN0 cnVjdCBkYyAqZGMsIHN0cnVjdCBkY19zdGF0ZSAqbmV3X2N0eCwgc3RydWN0IGRjX3N0cmVhbV9z dGF0ZSAqZGNfc3RyZWFtKTsKIGVudW0gZGNfc3RhdHVzIGRjbjIwX2dldF9kZWZhdWx0X3N3aXp6 bGVfbW9kZShzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKIAotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=