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=-13.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D6E9C4361B for ; Wed, 9 Dec 2020 06:34:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 23BD723B7D for ; Wed, 9 Dec 2020 06:34:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 23BD723B7D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=l/vKDyqqgy3SyBE2GpV/o3VHbtyjMgNysrsNk7Zft7c=; b=HOUKZkjopQ38OS+Able0+4+vA GnwdaLBTyPC3RZilXGw5+meZT3oC94L1NFJc8SuLFR0P4gV8Xv6XB0icjcuHybsgdty62p9WrPkEK bXHMV8mn6oVu8NgbO6VqjuQYicF98fiTA6Z6qV22xqtnjMeUQXbrhK6rIpE/20yZwS/nX8MmqfPSq +M+EUvKyeckNPQfdCkcHlRt70yE92OkgI4AP/Sh6ExFh3TrCc+Z29Z8gEprHQRPPq/X6aI8NPcQ1N IjYK9w1KX6hGdLxpDNqCtdNp3zKe5mKv+oFnfNElUU5DyPnRx1z50cxaUgVK1h5VbC6XvMsQ/iS5Q 2u86KJymw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kmt2g-0005Sa-IT; Wed, 09 Dec 2020 06:33:38 +0000 Received: from mail-db8eur05on2047.outbound.protection.outlook.com ([40.107.20.47] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kmt2Z-0005PQ-Pb for linux-arm-kernel@lists.infradead.org; Wed, 09 Dec 2020 06:33:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nyTK2JgN9YDx9ELPzDZArh5rYxvzg3h6vM2mq8q6UNihY8fNMJawLy9UesT3Ex23zbyV801qiYvBRQ+9Vm6A488F2P4/3nOlDT8+RxTN/kxL/H9PFy/pn791MJ657djvBBX2tXKdqSFEj5NwB51hRTDxaJMYiEzds6iMl9tgFHu1oS5r1gDystMRp7H1eq5T5d8H4fck/uPvQFyIIXEGjd70s5RHoVk7p7GLC3mmthvEmka5PQ11q2S3tkg2lDSEQDxnmbZZXFTx5wTBT3Q1F4plF1BvSwOYvcp+b3TQcLQ9O7/9iFCUo4ljSrseA/aAuNtDIlPTPuGWO2yKE4jV1w== 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=069niK7Af9dM4jz4/pu6lxXowc5x5ckLr2AYz1Ks/Ww=; b=NMwDe3rVBU4V66vdSbFf36YzRI0rNmx41QxNBQQb2x9xDO9q+Y1u6cOM5a+J1TGXMfMnf0jHzf+mdh4KgtlR9ME0CGRsAiuwfRw1yDJukb5H5ZbxuS/UUkdaRmenGADSFKnufD31RL8fFC6gtY0oEzmnAUsJNGWTgxzvAITHdQK1bOHPouj1cPGBFL4DPSmSVuRBGgTSdJCbYgSLK5O1JZcb7SJxErQdKStCAL2UConyURYlP3NvpIHF5zD15WtdldCyU2r7H2dmG2nbs9qEqfjjqISc2SsWcGAae5F+wFlJ69fzhbUqug5l7Bykj9jSR+dKDjOtm1wmMfgGbuS4kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=069niK7Af9dM4jz4/pu6lxXowc5x5ckLr2AYz1Ks/Ww=; b=hyMVkFjojRfN+yNKuv5ntR/MdMr823H8P79jgHUApFaNf7AFg1RkySXlbYcdRsM+/RjJAE0WPHhaLYCl+CwDXkVimpRJODhoUDrHLj/jRTZmTuIfzvhjRn0Fi57967uS1iygyxbFsVyph4qo4swD+1ziunJcTQmfJBECB/0f0yk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB3983.eurprd04.prod.outlook.com (2603:10a6:803:4c::16) by VI1PR04MB6144.eurprd04.prod.outlook.com (2603:10a6:803:fd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Wed, 9 Dec 2020 06:33:27 +0000 Received: from VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::dcb7:6117:3def:2685]) by VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::dcb7:6117:3def:2685%7]) with mapi id 15.20.3632.023; Wed, 9 Dec 2020 06:33:27 +0000 From: Liu Ying To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Wed, 9 Dec 2020 14:24:28 +0800 Message-Id: <1607495069-10946-6-git-send-email-victor.liu@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1607495069-10946-1-git-send-email-victor.liu@nxp.com> References: <1607495069-10946-1-git-send-email-victor.liu@nxp.com> X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: SG2PR06CA0148.apcprd06.prod.outlook.com (2603:1096:1:1f::26) To VI1PR04MB3983.eurprd04.prod.outlook.com (2603:10a6:803:4c::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (119.31.174.66) by SG2PR06CA0148.apcprd06.prod.outlook.com (2603:1096:1:1f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3654.12 via Frontend Transport; Wed, 9 Dec 2020 06:33:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 7dab6835-4c1b-412e-0c2e-08d89c0c5610 X-MS-TrafficTypeDiagnostic: VI1PR04MB6144: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1265; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nj2dPBXw0Zj2ZwNORJT6YbwwF29vc/o1zmXFOeVOe3ZdikZPlRi5G7MgQAqg46AbK81oEf8hDCu95JES1DlDo4h7RtKgJQQ/TcdBxieZv1sQFBsUKpA6GN1SPPGsPjUM9OWn+K/MNuTt8ySnq1MPfi+mtPPWjJh+QD/Y/2XHiWXLo308wZZHTiW5TmzDby3kNidbCqSDyd0+2y99zeUhfG/0QyHSxcqv2Vgh14uyN++sDjgKsNZVdhsy2AV2iZ4VCcDVaZoJBXwKdJtItppDbz6MaPqbUpLnKva9LbSA+Ey3UdK/jSJVTwHgbbP/JWWmTOXgWRmHd+7tr5x8SplNtXRcGgoHag5Ur5DGwXqNgP0lsxL4BlF5qiCClfaWbKyI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB3983.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(376002)(2616005)(26005)(52116002)(5660300002)(186003)(16526019)(34490700003)(8936002)(8676002)(6486002)(66574015)(66476007)(2906002)(7416002)(956004)(36756003)(6512007)(508600001)(66946007)(83380400001)(4326008)(6506007)(86362001)(66556008)(30864003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?azZGd3hJUitsU1EwbHJ5dEVTOU5ySy95bTJUSTd5clJOdFh0ZnFKWkVrNktJ?= =?utf-8?B?M05PRSs3blBRdERVcEU3dXkwbjg0aTc1dUcxRVFYczNsNEZ2aDR2NGtyQkJE?= =?utf-8?B?NksrZGg1SllGTHJuaDJJVTFMUVVzS1dUVENuT3BVRzlwNFQ3a0loYlg3d1VG?= =?utf-8?B?NWFKRWx4MHpoWVJXY2t3cHdCa0tIUDVJSi8vR1hHMDJYd24rakYxZ3JNb3NN?= =?utf-8?B?RXd4VnNTL3FHQmRwN3kvYXNUeHlmOWRVK25jL2pDSkNEdjJocHdWWVowUThD?= =?utf-8?B?MU5ZSnU0WnFzM1dsK0pDczlYdFh3bllsdmxSQUtZNjM2ZlNPcGlSYWpVZ3lL?= =?utf-8?B?K1V0dWgxNUN4dCsrYXJBU3F4OUd6Q2QvQll2UXdDRzkyQUZWS2xCWnoyQldw?= =?utf-8?B?NE9CNW11WTJzKzNndG84R3lBLzQ4cTFMYUxKUnBWcVlNZHFBdENWSnNKOEUz?= =?utf-8?B?Q1luWFNnMldJZXFmMy82Mk01MU5NVDhKU1FDZG5ZMTZPWEdNUG1TWEt3VDdH?= =?utf-8?B?WmYyM2tyYXI2aXgwVFVwdnR0YlNVMW9RQ1JTcGpxSnJaSEk2MFVnNHZMS1Yr?= =?utf-8?B?cElMOFIxQ2c0WmY3Sk9zNEdBcnJPRTcvSmxTd1FvSy8xcHZNUjl1SG5rMVFK?= =?utf-8?B?V3p4K0xiTy9KZDFvN2JjbnZrMWpFd1E2TjNvUWZncENaV1BnaTdYNEVzaTA0?= =?utf-8?B?NnJDdnROVlFjakJubllQWTcyYmg5aHpXaWxOYUQ2MlNjL3F3Tk9EWVREYUs1?= =?utf-8?B?d1JJSHhuWGc4MkxLanI3UFU1QXpvZVFaRmRoaC9BaHBYak1SNXVqc1NDMUo2?= =?utf-8?B?MHhCdnI3WlMvS0pqd291NDNSYjVUclJHNjRxSlBiTmtMMXhneFRPNzNwcmRt?= =?utf-8?B?WGs2K1grcmhRUGl1Z21sVUlCdnF0MHVxaE5PVlEydkJheHNuSW0xK0VpQytv?= =?utf-8?B?dlF0c05wQnlPYS80eVJQS0MyTSs1VlJwTmxsZm1WUy9pVWd0Q0xZeGRRSmNN?= =?utf-8?B?L0h0VnN6YlptV1ZOdUpmS2hUamdldkE1RWYwSWJ2bW83eVdKU0hTQnQvR0hF?= =?utf-8?B?L0Z5R1UyMlgyQVh3Y2FMMTY4Ry9VRjR3NW5aSE1LbzMzUjFUU29RRU8wY0s3?= =?utf-8?B?aElMLzhqNnNLVEFvOFlKMDJkeEdVRjE3b2FzR0FwV3hWWTdHSktCQWdGVUY5?= =?utf-8?B?WXFIZU1WblF1a0JvN1JQb0dPVnEwOFBuK3hWVktVU00vN2JwN1Ayd1QxTjcz?= =?utf-8?B?R1FhN0htZ0RTNEk5Szg2TktRR0FQZmNOekJGMWhSS2tFWWgvVlg4SkVDeWpL?= =?utf-8?Q?BrpQ5ZrqVF1O3SzhIpNIRtn6SAHx9NQ/Qg?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB3983.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2020 06:33:26.8888 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-Network-Message-Id: 7dab6835-4c1b-412e-0c2e-08d89c0c5610 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: t0h6sMTd3Zk0wCaOES2NJ2KSautYcBLhD8KlWCQYSVKJMZCH1ApE85XsoWZrXRrKzpZB6pVfgmehnIKcQ7xziw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6144 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201209_013332_145807_D17E0888 X-CRM114-Status: GOOD ( 27.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: martin.kepplinger@puri.sm, jernej.skrabec@siol.net, kernel@pengutronix.de, narmstrong@baylibre.com, airlied@linux.ie, festevam@gmail.com, s.hauer@pengutronix.de, jonas@kwiboo.se, kishon@ti.com, a.hajda@samsung.com, vkoul@kernel.org, robh+dt@kernel.org, Laurent.pinchart@ideasonboard.com, daniel@ffwll.ch, robert.chiras@nxp.com, shawnguo@kernel.org, agx@sigxcpu.org, linux-imx@nxp.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org aS5NWDhxeHAgU29DIGVtYmVkcyBhIE1peGVsIE1JUEkgRFBIWSArIExWRFMgUEhZIGNvbWJvIHdo aWNoIHN1cHBvcnRzCmVpdGhlciBhIE1JUEkgRFNJIGRpc3BsYXkgb3IgYSBMVkRTIGRpc3BsYXku ICBUaGUgUEhZIG1vZGUgaXMgY29udHJvbGxlZApieSBTQ1UgZmlybXdhcmUgYW5kIHRoZSBkcml2 ZXIgd291bGQgY2FsbCBhIFNDVSBmaXJtd2FyZSBmdW5jdGlvbiB0bwpjb25maWd1cmUgdGhlIFBI WSBtb2RlLiAgVGhlIHNpbmdsZSBMVkRTIFBIWSBoYXMgNCBkYXRhIGxhbmVzIHRvIHN1cHBvcnQK YSBMVkRTIGRpc3BsYXkuICBBbHNvLCB3aXRoIGEgbWFzdGVyIExWRFMgUEhZIGFuZCBhIHNsYXZl IExWRFMgUEhZLCB0aGV5Cm1heSB3b3JrIHRvZ2V0aGVyIHRvIHN1cHBvcnQgYSBMVkRTIGRpc3Bs YXkgd2l0aCA4IGRhdGEgbGFuZXModXN1YWxseSwgZHVhbApMVkRTIGxpbmsgZGlzcGxheSkuICBO b3RlIHRoYXQgdGhpcyBwYXRjaCBzdXBwb3J0cyB0aGUgTFZEUyBQSFkgbW9kZSBvbmx5CmZvciB0 aGUgaS5NWDhxeHAgTWl4ZWwgY29tYm8gUEhZLCBpLmUuLCB0aGUgTUlQSSBEUEhZIG1vZGUgaXMg eWV0IHRvIGJlCnN1cHBvcnRlZCwgc28gZm9yIG5vdyBlcnJvciB3b3VsZCBiZSByZXR1cm5lZCBm cm9tIC0+c2V0X21vZGUoKSBpZiBNSVBJCkRQSFkgbW9kZSBpcyBwYXNzZWQgb3ZlciB0byBpdCBm b3IgdGhlIGNvbWJvIFBIWS4KCkNjOiBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgpD YzogUm9iZXJ0IENoaXJhcyA8cm9iZXJ0LmNoaXJhc0BueHAuY29tPgpDYzogS2lzaG9uIFZpamF5 IEFicmFoYW0gSSA8a2lzaG9uQHRpLmNvbT4KQ2M6IFZpbm9kIEtvdWwgPHZrb3VsQGtlcm5lbC5v cmc+CkNjOiBTaGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+CkNjOiBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNjOiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2Vy bmVsQHBlbmd1dHJvbml4LmRlPgpDYzogRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29t PgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4LWlteEBueHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBM aXUgWWluZyA8dmljdG9yLmxpdUBueHAuY29tPgotLS0KR3VpZG8sIEkgYWxzbyBwcmludCBpbnZh bGlkIFBIWSBtb2RlIGZyb20gbWl4ZWxfZHBoeV9jb25maWd1cmUoKS4KCnYxLT52MjoKKiBQcmlu dCBpbnZhbGlkIFBIWSBtb2RlIGluIGRtZXNnLiAoR3VpZG8pCgogZHJpdmVycy9waHkvZnJlZXNj YWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYyB8IDI3MCArKysrKysrKysrKysrKysrKysrKysr KystCiAxIGZpbGUgY2hhbmdlZCwgMjU5IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDgtbWlwaS1kcGh5 LmMgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jCmluZGV4 IGE5NTU3MmIuLjI1Yzk3YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHkt ZnNsLWlteDgtbWlwaS1kcGh5LmMKKysrIGIvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wt aW14OC1taXBpLWRwaHkuYwpAQCAtNCwxNyArNCwzMSBAQAogICogQ29weXJpZ2h0IDIwMTkgUHVy aXNtIFNQQwogICovCiAKKyNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgogI2luY2x1ZGUgPGxp bnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPgogI2luY2x1ZGUgPGxp bnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUvaW14L2lwYy5oPgorI2luY2x1 ZGUgPGxpbnV4L2Zpcm13YXJlL2lteC9zdmMvbWlzYy5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+ CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5o PgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CiAjaW5j bHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KICNpbmNsdWRlIDxsaW51eC9waHkvcGh5Lmg+CiAj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvcmVnbWFw Lmg+CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvZmlybXdhcmUvaW14L3JzcmMuaD4KKworLyogQ29u dHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVycyhDU1IpICovCisjZGVmaW5lIFBIWV9DVFJMCQkJMHgw MAorI2RlZmluZSAgQ0NNX01BU0sJCQlHRU5NQVNLKDcsIDUpCisjZGVmaW5lICBDQ00obikJCQkJ RklFTERfUFJFUChDQ01fTUFTSywgKG4pKQorI2RlZmluZSAgQ0FfTUFTSwkJCUdFTk1BU0soNCwg MikKKyNkZWZpbmUgIENBKG4pCQkJCUZJRUxEX1BSRVAoQ0FfTUFTSywgKG4pKQorI2RlZmluZSAg UkZCCQkJCUJJVCgxKQorI2RlZmluZSAgTFZEU19FTgkJCUJJVCgwKQogCiAvKiBEUEhZIHJlZ2lz dGVycyAqLwogI2RlZmluZSBEUEhZX1BEX0RQSFkJCQkweDAwCkBAIC01NSw4ICs2OSwxNSBAQAog I2RlZmluZSBQV1JfT04JMAogI2RlZmluZSBQV1JfT0ZGCTEKIAorI2RlZmluZSBNSU5fVkNPX0ZS RVEgNjQwMDAwMDAwCisjZGVmaW5lIE1BWF9WQ09fRlJFUSAxNTAwMDAwMDAwCisKKyNkZWZpbmUg TUlOX0xWRFNfUkVGQ0xLX0ZSRVEgMjQwMDAwMDAKKyNkZWZpbmUgTUFYX0xWRFNfUkVGQ0xLX0ZS RVEgMTUwMDAwMDAwCisKIGVudW0gbWl4ZWxfZHBoeV9kZXZ0eXBlIHsKIAlNSVhFTF9JTVg4TVEs CisJTUlYRUxfSU1YOFFYUCwKIH07CiAKIHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgewpAQCAt NjUsNiArODYsNyBAQCBzdHJ1Y3QgbWl4ZWxfZHBoeV9kZXZkYXRhIHsKIAl1OCByZWdfcnhscHJw OwogCXU4IHJlZ19yeGNkcnA7CiAJdTggcmVnX3J4aHNfc2V0dGxlOworCWJvb2wgaXNfY29tYm87 CS8qIE1JUEkgRFBIWSBhbmQgTFZEUyBQSFkgY29tYm8gKi8KIH07CiAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgbWl4ZWxfZHBoeV9kZXZkYXRhIG1peGVsX2RwaHlfZGV2ZGF0YVtdID0gewpAQCAtNzQs NiArOTYsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgbWl4ZWxf ZHBoeV9kZXZkYXRhW10gPSB7CiAJCS5yZWdfcnhscHJwID0gMHg0MCwKIAkJLnJlZ19yeGNkcnAg PSAweDQ0LAogCQkucmVnX3J4aHNfc2V0dGxlID0gMHg0OCwKKwkJLmlzX2NvbWJvID0gZmFsc2Us CisJfSwKKwlbTUlYRUxfSU1YOFFYUF0gPSB7CisJCS5pc19jb21ibyA9IHRydWUsCiAJfSwKIH07 CiAKQEAgLTk1LDggKzEyMSwxMiBAQCBzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgewogc3RydWN0IG1p eGVsX2RwaHlfcHJpdiB7CiAJc3RydWN0IG1peGVsX2RwaHlfY2ZnIGNmZzsKIAlzdHJ1Y3QgcmVn bWFwICpyZWdtYXA7CisJc3RydWN0IHJlZ21hcCAqbHZkc19yZWdtYXA7CiAJc3RydWN0IGNsayAq cGh5X3JlZl9jbGs7CiAJY29uc3Qgc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0YSAqZGV2ZGF0YTsK KwlzdHJ1Y3QgaW14X3NjX2lwYyAqaXBjX2hhbmRsZTsKKwlib29sIGlzX3NsYXZlOworCWludCBp ZDsKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBtaXhlbF9kcGh5X3Jl Z21hcF9jb25maWcgPSB7CkBAIC0zMTcsNyArMzQ3LDggQEAgc3RhdGljIGludCBtaXhlbF9kcGh5 X3NldF9wbGxfcGFyYW1zKHN0cnVjdCBwaHkgKnBoeSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGlj IGludCBtaXhlbF9kcGh5X2NvbmZpZ3VyZShzdHJ1Y3QgcGh5ICpwaHksIHVuaW9uIHBoeV9jb25m aWd1cmVfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQKK21peGVsX2RwaHlfY29uZmlndXJlX21pcGlf ZHBoeShzdHJ1Y3QgcGh5ICpwaHksIHVuaW9uIHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKIHsK IAlzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2ICpwcml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CiAJ c3RydWN0IG1peGVsX2RwaHlfY2ZnIGNmZyA9IHsgMCB9OwpAQCAtMzQ1LDE1ICszNzYsMTIxIEBA IHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9jb25maWd1cmUoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBw aHlfY29uZmlndXJlX29wdHMgKm9wdHMpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK21p eGVsX2RwaHlfY29uZmlndXJlX2x2ZHNfcGh5KHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5X2Nv bmZpZ3VyZV9vcHRzICpvcHRzKQoreworCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBw aHlfZ2V0X2RydmRhdGEocGh5KTsKKwlzdHJ1Y3QgcGh5X2NvbmZpZ3VyZV9vcHRzX2x2ZHMgKmx2 ZHNfb3B0cyA9ICZvcHRzLT5sdmRzOworCXVuc2lnbmVkIGxvbmcgZGF0YV9yYXRlOworCXVuc2ln bmVkIGxvbmcgZnZjbzsKKwl1MzIgcnNjOworCXUzMiBjbzsKKwlpbnQgcmV0OworCisJcHJpdi0+ aXNfc2xhdmUgPSBsdmRzX29wdHMtPmlzX3NsYXZlOworCisJLyogTFZEUyBpbnRlcmZhY2UgcGlu cyAqLworCXJlZ21hcF93cml0ZShwcml2LT5sdmRzX3JlZ21hcCwgUEhZX0NUUkwsIENDTSgweDUp IHwgQ0EoMHg0KSB8IFJGQik7CisKKwkvKiBlbmFibGUgTU9ERTggb25seSBmb3Igc2xhdmUgTFZE UyBQSFkgKi8KKwlyc2MgPSBwcml2LT5pZCA/IElNWF9TQ19SX01JUElfMSA6IElNWF9TQ19SX01J UElfMDsKKwlyZXQgPSBpbXhfc2NfbWlzY19zZXRfY29udHJvbChwcml2LT5pcGNfaGFuZGxlLCBy c2MsIElNWF9TQ19DX0RVQUxfTU9ERSwKKwkJCQkgICAgICBsdmRzX29wdHMtPmlzX3NsYXZlKTsK KwlpZiAocmV0KSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBN T0RFODogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJLyoKKwkgKiBDaG9vc2Ug YW4gYXBwcm9wcmlhdGUgZGl2aWRlciByYXRpbyB0byBtZWV0IHRoZSByZXF1aXJlbWVudCBvZgor CSAqIFBMTCBWQ08gZnJlcXVlbmN5IHJhbmdlLgorCSAqCisJICogIC0tLS0tICA2NDBNSHogfiAx NTAwTUh6ICAgLS0tLS0tLS0tLS0tICAgICAgLS0tLS0tLS0tLS0tLS0tCisJICogfCBWQ08gfCAt LS0tLS0tLS0tLS0tLS0tPiB8IENPIGRpdmlkZXIgfCAtPiB8IExWRFMgZGF0YSByYXRlfAorCSAq ICAtLS0tLSAgICAgICBGVkNPICAgICAgICAgIC0tLS0tLS0tLS0tLSAgICAgIC0tLS0tLS0tLS0t LS0tLQorCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEvMi80LzggZGl2ICAgICA3ICog ZGlmZmVyZW50aWFsX2Nsa19yYXRlCisJICovCisJZGF0YV9yYXRlID0gNyAqIGx2ZHNfb3B0cy0+ ZGlmZmVyZW50aWFsX2Nsa19yYXRlOworCWZvciAoY28gPSAxOyBjbyA8PSA4OyBjbyAqPSAyKSB7 CisJCWZ2Y28gPSBkYXRhX3JhdGUgKiBjbzsKKworCQlpZiAoZnZjbyA+PSBNSU5fVkNPX0ZSRVEp CisJCQlicmVhazsKKwl9CisKKwlpZiAoZnZjbyA8IE1JTl9WQ09fRlJFUSB8fCBmdmNvID4gTUFY X1ZDT19GUkVRKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiVkNPIGZyZXF1ZW5jeSAlbHUgaXMg b3V0IG9mIHJhbmdlXG4iLCBmdmNvKTsKKwkJcmV0dXJuIC1FUkFOR0U7CisJfQorCisJLyoKKwkg KiBDTyBpcyBjb25maWd1cmFibGUsIHdoaWxlIENOIGFuZCBDTSBhcmUgbm90LAorCSAqIGFzIGZp eGVkIHJhdGlvcyAxIGFuZCA3IGFyZSBhcHBsaWVkIHJlc3BlY3RpdmVseS4KKwkgKi8KKwlwaHlf d3JpdGUocGh5LCBfX2ZmcyhjbyksIERQSFlfQ08pOworCisJLyogc2V0IHJlZmVyZW5jZSBjbG9j ayByYXRlICovCisJY2xrX3NldF9yYXRlKHByaXYtPnBoeV9yZWZfY2xrLCBsdmRzX29wdHMtPmRp ZmZlcmVudGlhbF9jbGtfcmF0ZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IG1p eGVsX2RwaHlfY29uZmlndXJlKHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9v cHRzICpvcHRzKQoreworCWlmIChwaHktPmF0dHJzLm1vZGUgPT0gUEhZX01PREVfTUlQSV9EUEhZ KQorCQlyZXR1cm4gbWl4ZWxfZHBoeV9jb25maWd1cmVfbWlwaV9kcGh5KHBoeSwgb3B0cyk7CisJ ZWxzZSBpZiAocGh5LT5hdHRycy5tb2RlID09IFBIWV9NT0RFX0xWRFMpCisJCXJldHVybiBtaXhl bF9kcGh5X2NvbmZpZ3VyZV9sdmRzX3BoeShwaHksIG9wdHMpOworCisJZGV2X2VycigmcGh5LT5k ZXYsCisJCSJGYWlsZWQgdG8gY29uZmlndXJlIFBIWSB3aXRoIGludmFsaWQgUEhZIG1vZGU6ICVk XG4iLAorCQkJCQkJCXBoeS0+YXR0cnMubW9kZSk7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0 YXRpYyBpbnQKK21peGVsX2RwaHlfdmFsaWRhdGVfbHZkc19waHkoc3RydWN0IHBoeSAqcGh5LCB1 bmlvbiBwaHlfY29uZmlndXJlX29wdHMgKm9wdHMpCit7CisJc3RydWN0IHBoeV9jb25maWd1cmVf b3B0c19sdmRzICpsdmRzX2NmZyA9ICZvcHRzLT5sdmRzOworCisJaWYgKGx2ZHNfY2ZnLT5iaXRz X3Blcl9sYW5lX2FuZF9kY2xrX2N5Y2xlICE9IDcpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJJ bnZhbGlkIGJpdHMgcGVyIExWRFMgZGF0YSBsYW5lOiAldVxuIiwKKwkJCQkJbHZkc19jZmctPmJp dHNfcGVyX2xhbmVfYW5kX2RjbGtfY3ljbGUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlp ZiAobHZkc19jZmctPmxhbmVzICE9IDQpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJJbnZhbGlk IExWRFMgZGF0YSBsYW5lczogJXVcbiIsCisJCQkJCQlsdmRzX2NmZy0+bGFuZXMpOworCQlyZXR1 cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAobHZkc19jZmctPmRpZmZlcmVudGlhbF9jbGtfcmF0ZSA8 IE1JTl9MVkRTX1JFRkNMS19GUkVRIHx8CisJICAgIGx2ZHNfY2ZnLT5kaWZmZXJlbnRpYWxfY2xr X3JhdGUgPiBNQVhfTFZEU19SRUZDTEtfRlJFUSkgeworCQlkZXZfZXJyKCZwaHktPmRldiwKKwkJ CSJJbnZhbGlkIExWRFMgZGlmZmVyZW50aWFsIGNsb2NrIHJhdGU6ICVsdVxuIiwKKwkJCQkJbHZk c19jZmctPmRpZmZlcmVudGlhbF9jbGtfcmF0ZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG1peGVsX2RwaHlfdmFsaWRhdGUoc3RydWN0IHBo eSAqcGh5LCBlbnVtIHBoeV9tb2RlIG1vZGUsIGludCBzdWJtb2RlLAogCQkJICAgICAgIHVuaW9u IHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKIHsKLQlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2Zn ID0geyAwIH07CisJaWYgKG1vZGUgPT0gUEhZX01PREVfTUlQSV9EUEhZKSB7CisJCXN0cnVjdCBt aXhlbF9kcGh5X2NmZyBtaXBpX2RwaHlfY2ZnID0geyAwIH07CiAKLQlpZiAobW9kZSAhPSBQSFlf TU9ERV9NSVBJX0RQSFkpCi0JCXJldHVybiAtRUlOVkFMOworCQlyZXR1cm4gbWl4ZWxfZHBoeV9j b25maWdfZnJvbV9vcHRzKHBoeSwgJm9wdHMtPm1pcGlfZHBoeSwKKwkJCQkJCQkmbWlwaV9kcGh5 X2NmZyk7CisJfSBlbHNlIGlmIChtb2RlID09IFBIWV9NT0RFX0xWRFMpIHsKKwkJcmV0dXJuIG1p eGVsX2RwaHlfdmFsaWRhdGVfbHZkc19waHkocGh5LCBvcHRzKTsKKwl9CiAKLQlyZXR1cm4gbWl4 ZWxfZHBoeV9jb25maWdfZnJvbV9vcHRzKHBoeSwgJm9wdHMtPm1pcGlfZHBoeSwgJmNmZyk7CisJ ZGV2X2VycigmcGh5LT5kZXYsCisJCSJGYWlsZWQgdG8gdmFsaWRhdGUgUEhZIHdpdGggaW52YWxp ZCBQSFkgbW9kZTogJWRcbiIsIG1vZGUpOworCXJldHVybiAtRUlOVkFMOwogfQogCiBzdGF0aWMg aW50IG1peGVsX2RwaHlfaW5pdChzdHJ1Y3QgcGh5ICpwaHkpCkBAIC0zNzMsMjcgKzUxMCw3NSBA QCBzdGF0aWMgaW50IG1peGVsX2RwaHlfZXhpdChzdHJ1Y3QgcGh5ICpwaHkpCiAJcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbihzdHJ1Y3QgcGh5ICpwaHkpCitz dGF0aWMgaW50IG1peGVsX2RwaHlfcG93ZXJfb25fbWlwaV9kcGh5KHN0cnVjdCBwaHkgKnBoeSkK IHsKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2ICpwcml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7 CiAJdTMyIGxvY2tlZDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHBy aXYtPnBoeV9yZWZfY2xrKTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0dXJuIHJldDsKLQogCXBoeV93 cml0ZShwaHksIFBXUl9PTiwgRFBIWV9QRF9QTEwpOwogCXJldCA9IHJlZ21hcF9yZWFkX3BvbGxf dGltZW91dChwcml2LT5yZWdtYXAsIERQSFlfTE9DSywgbG9ja2VkLAogCQkJCSAgICAgICBsb2Nr ZWQsIFBMTF9MT0NLX1NMRUVQLAogCQkJCSAgICAgICBQTExfTE9DS19USU1FT1VUKTsKIAlpZiAo cmV0IDwgMCkgewogCQlkZXZfZXJyKCZwaHktPmRldiwgIkNvdWxkIG5vdCBnZXQgRFBIWSBsb2Nr ICglZCkhXG4iLCByZXQpOwotCQlnb3RvIGNsb2NrX2Rpc2FibGU7CisJCXJldHVybiByZXQ7CiAJ fQogCXBoeV93cml0ZShwaHksIFBXUl9PTiwgRFBIWV9QRF9EUEhZKTsKIAogCXJldHVybiAwOwor fQorCitzdGF0aWMgaW50IG1peGVsX2RwaHlfcG93ZXJfb25fbHZkc19waHkoc3RydWN0IHBoeSAq cGh5KQoreworCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEo cGh5KTsKKwl1MzIgbG9ja2VkOworCWludCByZXQ7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+bHZkc19yZWdtYXAsIFBIWV9DVFJMLCBMVkRTX0VOLCBMVkRTX0VOKTsKKworCXBoeV93cml0 ZShwaHksIFBXUl9PTiwgRFBIWV9QRF9EUEhZKTsKKwlwaHlfd3JpdGUocGh5LCBQV1JfT04sIERQ SFlfUERfUExMKTsKKworCS8qIGRvIG5vdCB3YWl0IGZvciBzbGF2ZSBMVkRTIFBIWSBiZWluZyBs b2NrZWQgKi8KKwlpZiAocHJpdi0+aXNfc2xhdmUpCisJCXJldHVybiAwOworCisJcmV0ID0gcmVn bWFwX3JlYWRfcG9sbF90aW1lb3V0KHByaXYtPnJlZ21hcCwgRFBIWV9MT0NLLCBsb2NrZWQsCisJ CQkJICAgICAgIGxvY2tlZCwgUExMX0xPQ0tfU0xFRVAsCisJCQkJICAgICAgIFBMTF9MT0NLX1RJ TUVPVVQpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiQ291bGQgbm90 IGdldCBMVkRTIFBIWSBsb2NrICglZCkhXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwor CXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1peGVsX2RwaHlfcG93ZXJfb24oc3RydWN0IHBo eSAqcGh5KQoreworCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRh dGEocGh5KTsKKwlpbnQgcmV0OworCisJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBo eV9yZWZfY2xrKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChwaHktPmF0 dHJzLm1vZGUgPT0gUEhZX01PREVfTUlQSV9EUEhZKSB7CisJCXJldCA9IG1peGVsX2RwaHlfcG93 ZXJfb25fbWlwaV9kcGh5KHBoeSk7CisJfSBlbHNlIGlmIChwaHktPmF0dHJzLm1vZGUgPT0gUEhZ X01PREVfTFZEUykgeworCQlyZXQgPSBtaXhlbF9kcGh5X3Bvd2VyX29uX2x2ZHNfcGh5KHBoeSk7 CisJfSBlbHNlIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsCisJCQkiRmFpbGVkIHRvIHBvd2VyIG9u IFBIWSB3aXRoIGludmFsaWQgUEhZIG1vZGU6ICVkXG4iLAorCQkJCQkJCXBoeS0+YXR0cnMubW9k ZSk7CisJCXJldCA9IC1FSU5WQUw7CisJfQorCisJaWYgKHJldCkKKwkJZ290byBjbG9ja19kaXNh YmxlOworCisJcmV0dXJuIDA7CiBjbG9ja19kaXNhYmxlOgogCWNsa19kaXNhYmxlX3VucHJlcGFy ZShwcml2LT5waHlfcmVmX2Nsayk7CiAJcmV0dXJuIHJldDsKQEAgLTQwNiwxNiArNTkxLDUyIEBA IHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vZmYoc3RydWN0IHBoeSAqcGh5KQogCXBoeV93 cml0ZShwaHksIFBXUl9PRkYsIERQSFlfUERfUExMKTsKIAlwaHlfd3JpdGUocGh5LCBQV1JfT0ZG LCBEUEhZX1BEX0RQSFkpOwogCisJaWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9MVkRT KQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+bHZkc19yZWdtYXAsIFBIWV9DVFJMLCBMVkRT X0VOLCAwKTsKKwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5waHlfcmVmX2Nsayk7CiAK IAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBtaXhlbF9kcGh5X3NldF9tb2RlKHN0cnVjdCBw aHkgKnBoeSwgZW51bSBwaHlfbW9kZSBtb2RlLCBpbnQgc3VibW9kZSkKK3sKKwlzdHJ1Y3QgbWl4 ZWxfZHBoeV9wcml2ICpwcml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CisJaW50IHJldDsKKwor CS8qIEN1cnJlbnRseSwgTUlQSSBEUEhZIG1vZGUgb25seSwgaWYgaXQncyBub3QgYSBjb21ibyBQ SFkuICovCisJaWYgKCFwcml2LT5kZXZkYXRhLT5pc19jb21ibyAmJiBtb2RlICE9IFBIWV9NT0RF X01JUElfRFBIWSkgeworCQlkZXZfZXJyKCZwaHktPmRldiwgIkZhaWxlZCB0byBzZXQgUEhZIG1v ZGUgdG8gTUlQSSBEUEhZXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHByaXYt PmRldmRhdGEtPmlzX2NvbWJvICYmIG1vZGUgIT0gUEhZX01PREVfTFZEUykgeworCQlkZXZfZXJy KCZwaHktPmRldiwgIkZhaWxlZCB0byBzZXQgUEhZIG1vZGUgZm9yIGNvbWJvIFBIWVxuIik7CisJ CXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChwcml2LT5kZXZkYXRhLT5pc19jb21ibykgewor CQl1MzIgcnNjID0gcHJpdi0+aWQgPyBJTVhfU0NfUl9NSVBJXzEgOiBJTVhfU0NfUl9NSVBJXzA7 CisKKwkJcmV0ID0gaW14X3NjX21pc2Nfc2V0X2NvbnRyb2wocHJpdi0+aXBjX2hhbmRsZSwKKwkJ CQkJICAgICAgcnNjLCBJTVhfU0NfQ19NT0RFLAorCQkJCQkgICAgICBtb2RlID09IFBIWV9NT0RF X0xWRFMpOworCQlpZiAocmV0KSB7CisJCQlkZXZfZXJyKCZwaHktPmRldiwKKwkJCQkiRmFpbGVk IHRvIHNldCBQSFkgbW9kZSB2aWEgU0NVIGlwYzogJWRcbiIsIHJldCk7CisJCQlyZXR1cm4gcmV0 OworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5X29w cyBtaXhlbF9kcGh5X3BoeV9vcHMgPSB7CiAJLmluaXQgPSBtaXhlbF9kcGh5X2luaXQsCiAJLmV4 aXQgPSBtaXhlbF9kcGh5X2V4aXQsCiAJLnBvd2VyX29uID0gbWl4ZWxfZHBoeV9wb3dlcl9vbiwK IAkucG93ZXJfb2ZmID0gbWl4ZWxfZHBoeV9wb3dlcl9vZmYsCisJLnNldF9tb2RlID0gbWl4ZWxf ZHBoeV9zZXRfbW9kZSwKIAkuY29uZmlndXJlID0gbWl4ZWxfZHBoeV9jb25maWd1cmUsCiAJLnZh bGlkYXRlID0gbWl4ZWxfZHBoeV92YWxpZGF0ZSwKIAkub3duZXIgPSBUSElTX01PRFVMRSwKQEAg LTQyNCw2ICs2NDUsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeV9vcHMgbWl4ZWxfZHBoeV9w aHlfb3BzID0gewogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWl4ZWxfZHBoeV9v Zl9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDhtcS1taXBpLWRwaHkiLAog CSAgLmRhdGEgPSAmbWl4ZWxfZHBoeV9kZXZkYXRhW01JWEVMX0lNWDhNUV0gfSwKKwl7IC5jb21w YXRpYmxlID0gImZzbCxpbXg4cXhwLW1pcGktZHBoeSIsCisJICAuZGF0YSA9ICZtaXhlbF9kcGh5 X2RldmRhdGFbTUlYRUxfSU1YOFFYUF0gfSwKIAl7IC8qIHNlbnRpbmVsICovIH0sCiB9OwogTU9E VUxFX0RFVklDRV9UQUJMRShvZiwgbWl4ZWxfZHBoeV9vZl9tYXRjaCk7CkBAIC00MzYsNiArNjU5 LDcgQEAgc3RhdGljIGludCBtaXhlbF9kcGh5X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCiAJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdjsKIAlzdHJ1Y3QgcGh5ICpwaHk7 CiAJdm9pZCBfX2lvbWVtICpiYXNlOworCWludCByZXQ7CiAKIAlpZiAoIW5wKQogCQlyZXR1cm4g LUVOT0RFVjsKQEAgLTQ2Nyw2ICs2OTEsMzAgQEAgc3RhdGljIGludCBtaXhlbF9kcGh5X3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJZGV2X2RiZyhkZXYsICJwaHlfcmVmIGNs b2NrIHJhdGU6ICVsdVxuIiwKIAkJY2xrX2dldF9yYXRlKHByaXYtPnBoeV9yZWZfY2xrKSk7CiAK KwlpZiAocHJpdi0+ZGV2ZGF0YS0+aXNfY29tYm8pIHsKKwkJcHJpdi0+bHZkc19yZWdtYXAgPQor CQkJc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfcGhhbmRsZShucCwgImZzbCxzeXNjb24iKTsKKwkJ aWYgKElTX0VSUihwcml2LT5sdmRzX3JlZ21hcCkpIHsKKwkJCXJldCA9IFBUUl9FUlIocHJpdi0+ bHZkc19yZWdtYXApOworCQkJZGV2X2Vycl9wcm9iZShkZXYsIHJldCwgIkZhaWxlZCB0byBnZXQg TFZEUyByZWdtYXBcbiIpOworCQkJcmV0dXJuIHJldDsKKwkJfQorCisJCXByaXYtPmlkID0gb2Zf YWxpYXNfZ2V0X2lkKG5wLCAibWlwaV9kcGh5Iik7CisJCWlmIChwcml2LT5pZCA8IDApIHsKKwkJ CWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBwaHkgbm9kZSBhbGlhcyBpZDogJWRcbiIsCisJ CQkJCQkJCSBwcml2LT5pZCk7CisJCQlyZXR1cm4gcHJpdi0+aWQ7CisJCX0KKworCQlyZXQgPSBp bXhfc2N1X2dldF9oYW5kbGUoJnByaXYtPmlwY19oYW5kbGUpOworCQlpZiAocmV0KSB7CisJCQlk ZXZfZXJyX3Byb2JlKGRldiwgcmV0LAorCQkJCSAgICAgICJGYWlsZWQgdG8gZ2V0IFNDVSBpcGMg aGFuZGxlXG4iKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisKIAlkZXZfc2V0X2RydmRhdGEo ZGV2LCBwcml2KTsKIAogCXBoeSA9IGRldm1fcGh5X2NyZWF0ZShkZXYsIG5wLCAmbWl4ZWxfZHBo eV9waHlfb3BzKTsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=