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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DC60AC433EF for ; Sat, 2 Apr 2022 04:03:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RAsX39ISoRA4pj1d+PS+m0QFVeXfZ0+pXqENaHifCUU=; b=JLOZ+41RtIcMJk luA8mUCgw09aCiMBHFy30N0TZP+V2q7hZr3bw7t9wKW5gJJBEWOTphdl17R/XqtEkgK7ib9YORaFl 3VbwssN5gaep0I8TFuA95DQNMqDpi2cuOGJCksjvf9cCM91nquPCSiEQpgZEWXtAYb1CXVaWnUULO bdJyUqc0N39s2b0RpGTlKUX+XBV0V5HayemDUgH72hGwkjjy1dX+cdfHdJ7XvSCT0iXD93u4embsX 6WihvMYCYeVyd0I7TFMbQG+oQh/p2Y8QFr3dF65ZFdShn1pmgIzPn6HDluzVtUi3hfPayJ2OPcXNe COXwP0x8lTsXYl39X9zQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1naUyM-007t8I-D4; Sat, 02 Apr 2022 04:02:46 +0000 Received: from mail-he1eur04on061f.outbound.protection.outlook.com ([2a01:111:f400:fe0d::61f] helo=EUR04-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1naUy8-007t3Y-I7 for linux-arm-kernel@lists.infradead.org; Sat, 02 Apr 2022 04:02:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z/DUT6UUTTkU+tQ52iFehpiptNKbzDZjqogouG2l56kpv2RmxuFFrSPhQ8IP7BQiHvnaD33aPcF1iMU9ngeYaEMT29+Td6sxphqK6WE4qJ5X8wuK0/J2Y8e20noI3kGHyk3PAELtf6OOTKsEJ6i5B+sfh9NivNleZHLiMig4imYM8Wc6k30RTxC0q3KOoAIhlJarCV2A9ux+zlIJyI7EtFSrVbUh63HHZiyk7SGa/a1Twu9gyyNOWzfeFBAhcp9CD0ZFglOrHQle379M974HNqRb4YwI56B5VKOoPja+TMbEgyQVJpji2SpdSNdZsAqeoGinAFgZeGX6grOvehxzGg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z23oGthQQVatgNiHhq/oRsg65W52HNMSx8ap0xPZR4U=; b=OL1+QIOsE8F9k2uNMWlJIr4ZG9GNIwVii9LMX9RTiIblnjdOZTjIskQtxDnvGlo4lI0MnweHJ3plgDU2b0S0fKvjwYyqE8tTZNSHZ62ahBXAdw5oxTFFn1ehLDT8PeuUPWaQuJkoaITlOiHTZKpWB+UFa0S6WwPKoCgJPUXipsq7qC8fyIHh2rEUlrZJN1fYAhmwNuY2QU0UmNkJKphQJ70VLUMPMx7ryvigySwGvifo9cMzih+nFlNDFBG6SoD/3lcECQ0y9cffRaEJcbd+1TNRf8y1OJGE0swX5JSsZlARwxxgKO/4H7OeVLuwQpUSOJYptX3M8ZlUuWVjdYpeUg== 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=z23oGthQQVatgNiHhq/oRsg65W52HNMSx8ap0xPZR4U=; b=kzJM90MLXmJjZKLWaxy9VBVszbaIN3dwYL3h7j9/EFlq5NO34YihnHHL/yzIrq9gm3YS3S9oeG1WJuleQy7QYaZudm3YofOnikoes64Af8OXbDiFuP+wtVOm+rXTt4bIeT8hK6kMiVkd0QG0Uz27BJifAF/K79veZt+AtnntfHk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by HE1PR04MB3210.eurprd04.prod.outlook.com (2603:10a6:7:1e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.30; Sat, 2 Apr 2022 04:02:28 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5123.030; Sat, 2 Apr 2022 04:02:28 +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 Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, a.hajda@samsung.com, narmstrong@baylibre.com, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@siol.net, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm, robert.foss@linaro.org Subject: [PATCH v6 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Sat, 2 Apr 2022 12:03:25 +0800 Message-Id: <20220402040325.2465222-6-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220402040325.2465222-1-victor.liu@nxp.com> References: <20220402040325.2465222-1-victor.liu@nxp.com> X-ClientProxiedBy: SGAP274CA0011.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b6::23) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8c092a1-6c70-4934-5f33-08da145d9a38 X-MS-TrafficTypeDiagnostic: HE1PR04MB3210:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: POPCa5D+2AcPW+7wLiGchEmht5aQzLIObjG4hLYgLd6fqHfVUFdspen/9Nm5oS1eEYCmycAKXz6DuixC1Ml0Cbffn5I8b7pjqpKVEQS3ogOsNo4+ji8FZL2mdxeDs1X7t4AQ7To/YL1fGPRGxuMlmqMtlvLuZpbZgDGEzbds+TDXTSo9DlUOZnokT59xpyv7/q9zxQjS1LmZN0QF1C0MWsd1LA+T8xNW94DuMjFN4oRUvebcVAh+c7VM4ItAPuVOd40vybt4EKIBvHmNBqySoCHKRVWbHzeK9JpZwFdhOrK/rxn6WVRordBWfPpcp5VfjHCc6GGaFbVMuCFdnCtbuBmtcCREsOj7I8o076OvPR7dDCm6yJn22eObs1xpnFa2ChMu+/Tv3fa/2ASSM2qooNh2Rq6i+TqcpXPBo0qg4Rr13wFo2wy6SXtXQCtiBAu+vGSjSVUK07e83ZJxPl/GUWGekH+2X7EweK3WvH6+OZwAeO/JhrtHmByFjo2EZdmNWMVSQFSepRENDFBDFizllJHIWk6YzvZxL3udDeccSVxBYRP41hN2xZPyelSxH6Q5tKOSbUa0pAjFt/p1saZUvYGpJ0GV8p5qUiT+QhulZZjFCIO/lbdsnC27BXKcbuZjngvCnge94pfNu+hTus4ZQQ0NjBed7T9DkpRBsGuTIxl1ypaJ1PLnqtd8oAEAw6jOeT3AhjGSH+YtnlrTupWR8w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(66574015)(86362001)(6512007)(186003)(26005)(2616005)(1076003)(83380400001)(4326008)(8676002)(66946007)(38350700002)(66556008)(66476007)(30864003)(38100700002)(2906002)(36756003)(7416002)(5660300002)(8936002)(508600001)(52116002)(6486002)(6666004)(6506007)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q3ZidzJncHk3dWZoU2Z5L3RTQmFDUlcxVFpEL3IyV095MW12eDJLTFBYd3V3?= =?utf-8?B?cXZSTFBUSTVwaFdaSmdyZm9JeExDdFpOMmpEQ2Rnd25RR281czdUdXdhZjR1?= =?utf-8?B?SFkrenhObXJqdlhibDlpK2U1c0JIdDhDTWU3TFVnMXJvdFI4QzltdjJ3aC9L?= =?utf-8?B?MUIzaSsrT2w1QXdzdFlzbHhuQXo3VTNsWjlGcnY5OUhWb3haWFZ3VkxEU1h5?= =?utf-8?B?d0pHcFFCWG9URzhOTGI0dEtKT205QkVCeXA0aGU2M011Sms4d0RoL0duUFU4?= =?utf-8?B?aWd4bnUrNXhOUzRpSWdtaXY2MEhJOEV3eCthdXI2VzI3TXBYcU8wekZQLy9k?= =?utf-8?B?aTVzbGZlekprM3IweHF1VE8yeGxpTzhncnZTcWhpY0NqZS85NHNoZlVMWlBZ?= =?utf-8?B?Y0VmVDhzbFN3aW93em9XZ0RqdzlSREI5TmQ1R0pCY3Z0WEF4WTZlaHB5WGIz?= =?utf-8?B?N2RNdG1pU05hb0V2bnprd3dLQTRSOFlDVUtpRjFOem1UWFA2TmNacm1wT0Rp?= =?utf-8?B?TUQ0S3JwTkhpZlcyOEF1aU9LNndHTjNCb2lxdDhMTTFyVld3TUhGSjEvQXlj?= =?utf-8?B?akU5eDFldTNoNnR4cTVKaEFHbWNkbXp4MUFNZDVGQWhwZTRZZDNob3RSRDZB?= =?utf-8?B?ZU1FcTdVRWQ2cmFRK2gyUmY0TDQvNDRQV2FoR0xUckRkeS8wclAwSXgwNlFF?= =?utf-8?B?YkIxejJBTWNhYW85OEwrNHZUVnpSZzNmbExURGw0TTRsZTM5VFdlODdnUmV6?= =?utf-8?B?SmNFUVNlaENhdmF0OHpyVE1PTUdKbHR5TDNMeExBcytHSXJ3OUR3d0M4Q1ly?= =?utf-8?B?TGJmUG5rZ0l4S2ViMTNiQ28zTnRtc0p0b01OUnQ3T3hFMEErZzU1ZHdYUDBG?= =?utf-8?B?d0VsQnpMZVFtUFZSdVgxYWtmY29Vck5ndndCQXZHbXpPUldqNFpuck1UT3g1?= =?utf-8?B?T0ZQVmNjK25LMTlxSm95RU5QUjZUWjBSdTRrYjhjTGRqZGI3aldKVmM4eUJ0?= =?utf-8?B?eW5ZemEvSWdqWElHVFU4OS9LRXRWTkpPS1hDaTZ1aWFlU2dPb3JCSG9PbS8y?= =?utf-8?B?Y3VMSWE4M0gwQWpsd0J5a3F6OXdibmVvZlV5b3NWYWdqS01RTFZFRmplNWJh?= =?utf-8?B?MVlrcE1CR1c2Uzdoemg1NUFEcEU5Z3ZVQk9IYkhPRU1WMTNCL1NBN01WRk5u?= =?utf-8?B?OGM2Z1I0dTYvQ2NXQlVBVVl4RDhTdC9BakRQbkZmYlNheGYwc2FnZ2ZhdWln?= =?utf-8?B?Q3RJc0hRVUY1MVpPcDh4STMxNUo2UlZRbXBwK3R3KzVyTEM1Mk8wTWpzTjJX?= =?utf-8?B?V1dmL3E4R2w5K0JFUHNkWkFLUTY0aTJVRlRzUnFpdFVSWlBHL1lpRXE1dkZD?= =?utf-8?B?am5TZ2E0ZkFNMkJ5VUsxTWI2OU1LOTBOT0hMRVBLV3VIWWF5QStNdmlrOWVZ?= =?utf-8?B?bnpRbkc3QVFCbUUxa3d3Qzlkczl3a1p3L1hPVVhtN1dhT21ERUU3Mm9MTEVZ?= =?utf-8?B?OTQ1dnMwNThQZVAzbTBCNERnT0ZjaUd3QU1CeWErNVAzTnJTZE5VQm1iNnhs?= =?utf-8?B?QXpPUGFXd1RBN2tmeVRUQlVtNEtNRm5rSTdJd0NZNnNnK2lvUnRtWk5neGov?= =?utf-8?B?Mk5tOGNYZFlTSEhmdkphbkc1NXE5L0E0V1FScGtkdjJnU0FuKzNVcUtvWG12?= =?utf-8?B?Y1NtOTZKdnNlUXFGVEcra2doQWE5TkNmN1EzS3huczRjUEN4VFhOQ0o0Qk81?= =?utf-8?B?SFMwUm5ZdE1CUUN3YkdQRjdzRU1IRFBFUDk3aEJVeStOdlEzQjNYdWtVai9t?= =?utf-8?B?RTAwWHhFaXR4NU8vaUlsMTY3Skx4ditCWnBVa3lGNjAxTWx1ZHFTcEdFZkVa?= =?utf-8?B?WTVvRkVmUzdGbU5SUkdFMVB3RlhKRG5Cb0NrWW1kRnlXVXlWR3dYMXJjcnJt?= =?utf-8?B?SHk2MTkrYjl4VTBMQ3F6dEp6aDFQcUxzZUxIV21EeGFTZGtsNkFrZElOVjlC?= =?utf-8?B?UWZzdHFlT3dGZ2hrNmgzUjVhL28wY0RaNjVERDdvemQ1MlVIekZNWEhKbFU0?= =?utf-8?B?V0dKSWlIcVgvay9sSXlJZm5HS0dSb1NMYnM1UlNRLzVSZFlvVXZzVnM1dU1u?= =?utf-8?B?VzFBM2ZEOHVmekJhd0dqbzhlR1oxSmNuRW53M2Z2b1Q3QkZJV0lMSnl2bklI?= =?utf-8?B?WTl2N1RzdjdnMHVSUU5oVTlyRWNOd2VwaklyYVhxU0JoYVVtQmRCQ3lsMk11?= =?utf-8?B?N21adVRKTitIMkNZVXg5bCsxMjd0VWlWVE1GME52RERzaDV0VEhiNFI1OFNQ?= =?utf-8?B?Vkdrb203S2ovRlJXY1JMVERLeTAvWlVseWRHV2hqT2JGb3FaWDFUdz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8c092a1-6c70-4934-5f33-08da145d9a38 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2022 04:02:28.1370 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uYo9V5vwiVl61T/5nJfwAXM7JSM24I6940W6loTXhryhmmL+7Vr3cT1198dLbFEWjepDcLHV/3RtRP7LTonzmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3210 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220401_210232_838722_98527620 X-CRM114-Status: GOOD ( 22.65 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 PgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4LWlteEBueHAuY29tPgpSZXZpZXdlZC1ieTogR3Vp ZG8gR8O8bnRoZXIgPGFneEBzaWd4Y3B1Lm9yZz4KU2lnbmVkLW9mZi1ieTogTGl1IFlpbmcgPHZp Y3Rvci5saXVAbnhwLmNvbT4KLS0tCnY1LT52NjoKKiBObyBjaGFuZ2UuCgp2NC0+djU6CiogTm8g Y2hhbmdlLgoKdjMtPnY0OgoqIEFkZCBHdWlkbydzIFItYiB0YWcuCgp2Mi0+djM6CiogSW1wcm92 ZSByZWFkYWJpbGl0eSBvZiBtaXhlbF9kcGh5X3NldF9tb2RlKCkuIChHdWlkbykKCnYxLT52MjoK KiBQcmludCBpbnZhbGlkIFBIWSBtb2RlIGluIGRtZXNnLiAoR3VpZG8pCgogLi4uL3BoeS9mcmVl c2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jICAgIHwgMjY5ICsrKysrKysrKysrKysrKysr LQogMSBmaWxlIGNoYW5nZWQsIDI1OCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5j IGIvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYwppbmRleCBh OTU1NzJiMzk3Y2EuLmFmMWVjZGEwOTFjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9waHkvZnJlZXNj YWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYworKysgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUv cGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jCkBAIC00LDE3ICs0LDMxIEBACiAgKiBDb3B5cmlnaHQg MjAxOSBQdXJpc20gU1BDCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+CiAjaW5j bHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+CiAjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS9pbXgvaXBjLmg+ CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUvaW14L3N2Yy9taXNjLmg+CiAjaW5jbHVkZSA8bGlu dXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tZmQv c3lzY29uLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvb2Yu aD4KICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgogI2luY2x1ZGUgPGxpbnV4L3BoeS9w aHkuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51 eC9yZWdtYXAuaD4KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9maXJtd2FyZS9pbXgvcnNyYy5oPgor CisvKiBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXJzKENTUikgKi8KKyNkZWZpbmUgUEhZX0NU UkwJCQkweDAwCisjZGVmaW5lICBDQ01fTUFTSwkJCUdFTk1BU0soNywgNSkKKyNkZWZpbmUgIEND TShuKQkJCQlGSUVMRF9QUkVQKENDTV9NQVNLLCAobikpCisjZGVmaW5lICBDQV9NQVNLCQkJR0VO TUFTSyg0LCAyKQorI2RlZmluZSAgQ0EobikJCQkJRklFTERfUFJFUChDQV9NQVNLLCAobikpCisj ZGVmaW5lICBSRkIJCQkJQklUKDEpCisjZGVmaW5lICBMVkRTX0VOCQkJQklUKDApCiAKIC8qIERQ SFkgcmVnaXN0ZXJzICovCiAjZGVmaW5lIERQSFlfUERfRFBIWQkJCTB4MDAKQEAgLTU1LDggKzY5 LDE1IEBACiAjZGVmaW5lIFBXUl9PTgkwCiAjZGVmaW5lIFBXUl9PRkYJMQogCisjZGVmaW5lIE1J Tl9WQ09fRlJFUSA2NDAwMDAwMDAKKyNkZWZpbmUgTUFYX1ZDT19GUkVRIDE1MDAwMDAwMDAKKwor I2RlZmluZSBNSU5fTFZEU19SRUZDTEtfRlJFUSAyNDAwMDAwMAorI2RlZmluZSBNQVhfTFZEU19S RUZDTEtfRlJFUSAxNTAwMDAwMDAKKwogZW51bSBtaXhlbF9kcGh5X2RldnR5cGUgewogCU1JWEVM X0lNWDhNUSwKKwlNSVhFTF9JTVg4UVhQLAogfTsKIAogc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0 YSB7CkBAIC02NSw2ICs4Niw3IEBAIHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgewogCXU4IHJl Z19yeGxwcnA7CiAJdTggcmVnX3J4Y2RycDsKIAl1OCByZWdfcnhoc19zZXR0bGU7CisJYm9vbCBp c19jb21ibzsJLyogTUlQSSBEUEhZIGFuZCBMVkRTIFBIWSBjb21ibyAqLwogfTsKIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgbWl4ZWxfZHBoeV9kZXZkYXRhW10gPSB7 CkBAIC03NCw2ICs5NiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0 YSBtaXhlbF9kcGh5X2RldmRhdGFbXSA9IHsKIAkJLnJlZ19yeGxwcnAgPSAweDQwLAogCQkucmVn X3J4Y2RycCA9IDB4NDQsCiAJCS5yZWdfcnhoc19zZXR0bGUgPSAweDQ4LAorCQkuaXNfY29tYm8g PSBmYWxzZSwKKwl9LAorCVtNSVhFTF9JTVg4UVhQXSA9IHsKKwkJLmlzX2NvbWJvID0gdHJ1ZSwK IAl9LAogfTsKIApAQCAtOTUsOCArMTIxLDEyIEBAIHN0cnVjdCBtaXhlbF9kcGh5X2NmZyB7CiBz dHJ1Y3QgbWl4ZWxfZHBoeV9wcml2IHsKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2ZnOwogCXN0 cnVjdCByZWdtYXAgKnJlZ21hcDsKKwlzdHJ1Y3QgcmVnbWFwICpsdmRzX3JlZ21hcDsKIAlzdHJ1 Y3QgY2xrICpwaHlfcmVmX2NsazsKIAljb25zdCBzdHJ1Y3QgbWl4ZWxfZHBoeV9kZXZkYXRhICpk ZXZkYXRhOworCXN0cnVjdCBpbXhfc2NfaXBjICppcGNfaGFuZGxlOworCWJvb2wgaXNfc2xhdmU7 CisJaW50IGlkOwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIG1peGVs X2RwaHlfcmVnbWFwX2NvbmZpZyA9IHsKQEAgLTMxNyw3ICszNDcsOCBAQCBzdGF0aWMgaW50IG1p eGVsX2RwaHlfc2V0X3BsbF9wYXJhbXMoc3RydWN0IHBoeSAqcGh5KQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgaW50IG1peGVsX2RwaHlfY29uZmlndXJlKHN0cnVjdCBwaHkgKnBoeSwgdW5pb24g cGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQorc3RhdGljIGludAorbWl4ZWxfZHBoeV9jb25maWd1 cmVfbWlwaV9kcGh5KHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpv cHRzKQogewogCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEo cGh5KTsKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2ZnID0geyAwIH07CkBAIC0zNDUsMTUgKzM3 NiwxMjEgQEAgc3RhdGljIGludCBtaXhlbF9kcGh5X2NvbmZpZ3VyZShzdHJ1Y3QgcGh5ICpwaHks IHVuaW9uIHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGlj IGludAorbWl4ZWxfZHBoeV9jb25maWd1cmVfbHZkc19waHkoc3RydWN0IHBoeSAqcGh5LCB1bmlv biBwaHlfY29uZmlndXJlX29wdHMgKm9wdHMpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAq cHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCXN0cnVjdCBwaHlfY29uZmlndXJlX29wdHNf bHZkcyAqbHZkc19vcHRzID0gJm9wdHMtPmx2ZHM7CisJdW5zaWduZWQgbG9uZyBkYXRhX3JhdGU7 CisJdW5zaWduZWQgbG9uZyBmdmNvOworCXUzMiByc2M7CisJdTMyIGNvOworCWludCByZXQ7CisK Kwlwcml2LT5pc19zbGF2ZSA9IGx2ZHNfb3B0cy0+aXNfc2xhdmU7CisKKwkvKiBMVkRTIGludGVy ZmFjZSBwaW5zICovCisJcmVnbWFwX3dyaXRlKHByaXYtPmx2ZHNfcmVnbWFwLCBQSFlfQ1RSTCwg Q0NNKDB4NSkgfCBDQSgweDQpIHwgUkZCKTsKKworCS8qIGVuYWJsZSBNT0RFOCBvbmx5IGZvciBz bGF2ZSBMVkRTIFBIWSAqLworCXJzYyA9IHByaXYtPmlkID8gSU1YX1NDX1JfTUlQSV8xIDogSU1Y X1NDX1JfTUlQSV8wOworCXJldCA9IGlteF9zY19taXNjX3NldF9jb250cm9sKHByaXYtPmlwY19o YW5kbGUsIHJzYywgSU1YX1NDX0NfRFVBTF9NT0RFLAorCQkJCSAgICAgIGx2ZHNfb3B0cy0+aXNf c2xhdmUpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJGYWlsZWQgdG8gY29u ZmlndXJlIE1PREU4OiAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkvKgorCSAq IENob29zZSBhbiBhcHByb3ByaWF0ZSBkaXZpZGVyIHJhdGlvIHRvIG1lZXQgdGhlIHJlcXVpcmVt ZW50IG9mCisJICogUExMIFZDTyBmcmVxdWVuY3kgcmFuZ2UuCisJICoKKwkgKiAgLS0tLS0gIDY0 ME1IeiB+IDE1MDBNSHogICAtLS0tLS0tLS0tLS0gICAgICAtLS0tLS0tLS0tLS0tLS0KKwkgKiB8 IFZDTyB8IC0tLS0tLS0tLS0tLS0tLS0+IHwgQ08gZGl2aWRlciB8IC0+IHwgTFZEUyBkYXRhIHJh dGV8CisJICogIC0tLS0tICAgICAgIEZWQ08gICAgICAgICAgLS0tLS0tLS0tLS0tICAgICAgLS0t LS0tLS0tLS0tLS0tCisJICogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS8yLzQvOCBkaXYg ICAgIDcgKiBkaWZmZXJlbnRpYWxfY2xrX3JhdGUKKwkgKi8KKwlkYXRhX3JhdGUgPSA3ICogbHZk c19vcHRzLT5kaWZmZXJlbnRpYWxfY2xrX3JhdGU7CisJZm9yIChjbyA9IDE7IGNvIDw9IDg7IGNv ICo9IDIpIHsKKwkJZnZjbyA9IGRhdGFfcmF0ZSAqIGNvOworCisJCWlmIChmdmNvID49IE1JTl9W Q09fRlJFUSkKKwkJCWJyZWFrOworCX0KKworCWlmIChmdmNvIDwgTUlOX1ZDT19GUkVRIHx8IGZ2 Y28gPiBNQVhfVkNPX0ZSRVEpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJWQ08gZnJlcXVlbmN5 ICVsdSBpcyBvdXQgb2YgcmFuZ2VcbiIsIGZ2Y28pOworCQlyZXR1cm4gLUVSQU5HRTsKKwl9CisK KwkvKgorCSAqIENPIGlzIGNvbmZpZ3VyYWJsZSwgd2hpbGUgQ04gYW5kIENNIGFyZSBub3QsCisJ ICogYXMgZml4ZWQgcmF0aW9zIDEgYW5kIDcgYXJlIGFwcGxpZWQgcmVzcGVjdGl2ZWx5LgorCSAq LworCXBoeV93cml0ZShwaHksIF9fZmZzKGNvKSwgRFBIWV9DTyk7CisKKwkvKiBzZXQgcmVmZXJl bmNlIGNsb2NrIHJhdGUgKi8KKwljbGtfc2V0X3JhdGUocHJpdi0+cGh5X3JlZl9jbGssIGx2ZHNf b3B0cy0+ZGlmZmVyZW50aWFsX2Nsa19yYXRlKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRp YyBpbnQgbWl4ZWxfZHBoeV9jb25maWd1cmUoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBwaHlfY29u ZmlndXJlX29wdHMgKm9wdHMpCit7CisJaWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9N SVBJX0RQSFkpCisJCXJldHVybiBtaXhlbF9kcGh5X2NvbmZpZ3VyZV9taXBpX2RwaHkocGh5LCBv cHRzKTsKKwllbHNlIGlmIChwaHktPmF0dHJzLm1vZGUgPT0gUEhZX01PREVfTFZEUykKKwkJcmV0 dXJuIG1peGVsX2RwaHlfY29uZmlndXJlX2x2ZHNfcGh5KHBoeSwgb3B0cyk7CisKKwlkZXZfZXJy KCZwaHktPmRldiwKKwkJIkZhaWxlZCB0byBjb25maWd1cmUgUEhZIHdpdGggaW52YWxpZCBQSFkg bW9kZTogJWRcbiIsCisJCQkJCQkJcGh5LT5hdHRycy5tb2RlKTsKKwlyZXR1cm4gLUVJTlZBTDsK K30KKworc3RhdGljIGludAorbWl4ZWxfZHBoeV92YWxpZGF0ZV9sdmRzX3BoeShzdHJ1Y3QgcGh5 ICpwaHksIHVuaW9uIHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKK3sKKwlzdHJ1Y3QgcGh5X2Nv bmZpZ3VyZV9vcHRzX2x2ZHMgKmx2ZHNfY2ZnID0gJm9wdHMtPmx2ZHM7CisKKwlpZiAobHZkc19j ZmctPmJpdHNfcGVyX2xhbmVfYW5kX2RjbGtfY3ljbGUgIT0gNykgeworCQlkZXZfZXJyKCZwaHkt PmRldiwgIkludmFsaWQgYml0cyBwZXIgTFZEUyBkYXRhIGxhbmU6ICV1XG4iLAorCQkJCQlsdmRz X2NmZy0+Yml0c19wZXJfbGFuZV9hbmRfZGNsa19jeWNsZSk7CisJCXJldHVybiAtRUlOVkFMOwor CX0KKworCWlmIChsdmRzX2NmZy0+bGFuZXMgIT0gNCkgeworCQlkZXZfZXJyKCZwaHktPmRldiwg IkludmFsaWQgTFZEUyBkYXRhIGxhbmVzOiAldVxuIiwKKwkJCQkJCWx2ZHNfY2ZnLT5sYW5lcyk7 CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChsdmRzX2NmZy0+ZGlmZmVyZW50aWFsX2Ns a19yYXRlIDwgTUlOX0xWRFNfUkVGQ0xLX0ZSRVEgfHwKKwkgICAgbHZkc19jZmctPmRpZmZlcmVu dGlhbF9jbGtfcmF0ZSA+IE1BWF9MVkRTX1JFRkNMS19GUkVRKSB7CisJCWRldl9lcnIoJnBoeS0+ ZGV2LAorCQkJIkludmFsaWQgTFZEUyBkaWZmZXJlbnRpYWwgY2xvY2sgcmF0ZTogJWx1XG4iLAor CQkJCQlsdmRzX2NmZy0+ZGlmZmVyZW50aWFsX2Nsa19yYXRlKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV92YWxpZGF0ZShz dHJ1Y3QgcGh5ICpwaHksIGVudW0gcGh5X21vZGUgbW9kZSwgaW50IHN1Ym1vZGUsCiAJCQkgICAg ICAgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQogewotCXN0cnVjdCBtaXhlbF9kcGh5 X2NmZyBjZmcgPSB7IDAgfTsKKwlpZiAobW9kZSA9PSBQSFlfTU9ERV9NSVBJX0RQSFkpIHsKKwkJ c3RydWN0IG1peGVsX2RwaHlfY2ZnIG1pcGlfZHBoeV9jZmcgPSB7IDAgfTsKIAotCWlmIChtb2Rl ICE9IFBIWV9NT0RFX01JUElfRFBIWSkKLQkJcmV0dXJuIC1FSU5WQUw7CisJCXJldHVybiBtaXhl bF9kcGh5X2NvbmZpZ19mcm9tX29wdHMocGh5LCAmb3B0cy0+bWlwaV9kcGh5LAorCQkJCQkJCSZt aXBpX2RwaHlfY2ZnKTsKKwl9IGVsc2UgaWYgKG1vZGUgPT0gUEhZX01PREVfTFZEUykgeworCQly ZXR1cm4gbWl4ZWxfZHBoeV92YWxpZGF0ZV9sdmRzX3BoeShwaHksIG9wdHMpOworCX0KIAotCXJl dHVybiBtaXhlbF9kcGh5X2NvbmZpZ19mcm9tX29wdHMocGh5LCAmb3B0cy0+bWlwaV9kcGh5LCAm Y2ZnKTsKKwlkZXZfZXJyKCZwaHktPmRldiwKKwkJIkZhaWxlZCB0byB2YWxpZGF0ZSBQSFkgd2l0 aCBpbnZhbGlkIFBIWSBtb2RlOiAlZFxuIiwgbW9kZSk7CisJcmV0dXJuIC1FSU5WQUw7CiB9CiAK IHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9pbml0KHN0cnVjdCBwaHkgKnBoeSkKQEAgLTM3MywyNiAr NTEwLDc0IEBAIHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9leGl0KHN0cnVjdCBwaHkgKnBoeSkKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBtaXhlbF9kcGh5X3Bvd2VyX29uKHN0cnVjdCBwaHkg KnBoeSkKK3N0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbl9taXBpX2RwaHkoc3RydWN0IHBo eSAqcGh5KQogewogCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRh dGEocGh5KTsKIAl1MzIgbG9ja2VkOwogCWludCByZXQ7CiAKLQlyZXQgPSBjbGtfcHJlcGFyZV9l bmFibGUocHJpdi0+cGh5X3JlZl9jbGspOwotCWlmIChyZXQgPCAwKQotCQlyZXR1cm4gcmV0Owot CiAJcGh5X3dyaXRlKHBoeSwgUFdSX09OLCBEUEhZX1BEX1BMTCk7CiAJcmV0ID0gcmVnbWFwX3Jl YWRfcG9sbF90aW1lb3V0KHByaXYtPnJlZ21hcCwgRFBIWV9MT0NLLCBsb2NrZWQsCiAJCQkJICAg ICAgIGxvY2tlZCwgUExMX0xPQ0tfU0xFRVAsCiAJCQkJICAgICAgIFBMTF9MT0NLX1RJTUVPVVQp OwogCWlmIChyZXQgPCAwKSB7CiAJCWRldl9lcnIoJnBoeS0+ZGV2LCAiQ291bGQgbm90IGdldCBE UEhZIGxvY2sgKCVkKSFcbiIsIHJldCk7Ci0JCWdvdG8gY2xvY2tfZGlzYWJsZTsKKwkJcmV0dXJu IHJldDsKIAl9CiAJcGh5X3dyaXRlKHBoeSwgUFdSX09OLCBEUEhZX1BEX0RQSFkpOwogCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbl9sdmRzX3BoeShzdHJ1 Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRf ZHJ2ZGF0YShwaHkpOworCXUzMiBsb2NrZWQ7CisJaW50IHJldDsKKworCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5sdmRzX3JlZ21hcCwgUEhZX0NUUkwsIExWRFNfRU4sIExWRFNfRU4pOworCisJ cGh5X3dyaXRlKHBoeSwgUFdSX09OLCBEUEhZX1BEX0RQSFkpOworCXBoeV93cml0ZShwaHksIFBX Ul9PTiwgRFBIWV9QRF9QTEwpOworCisJLyogZG8gbm90IHdhaXQgZm9yIHNsYXZlIExWRFMgUEhZ IGJlaW5nIGxvY2tlZCAqLworCWlmIChwcml2LT5pc19zbGF2ZSkKKwkJcmV0dXJuIDA7CisKKwly ZXQgPSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQocHJpdi0+cmVnbWFwLCBEUEhZX0xPQ0ssIGxv Y2tlZCwKKwkJCQkgICAgICAgbG9ja2VkLCBQTExfTE9DS19TTEVFUCwKKwkJCQkgICAgICAgUExM X0xPQ0tfVElNRU9VVCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJD b3VsZCBub3QgZ2V0IExWRFMgUEhZIGxvY2sgKCVkKSFcbiIsIHJldCk7CisJCXJldHVybiByZXQ7 CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbihz dHJ1Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9n ZXRfZHJ2ZGF0YShwaHkpOworCWludCByZXQ7CisKKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUo cHJpdi0+cGh5X3JlZl9jbGspOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJaWYg KHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9NSVBJX0RQSFkpIHsKKwkJcmV0ID0gbWl4ZWxf ZHBoeV9wb3dlcl9vbl9taXBpX2RwaHkocGh5KTsKKwl9IGVsc2UgaWYgKHBoeS0+YXR0cnMubW9k ZSA9PSBQSFlfTU9ERV9MVkRTKSB7CisJCXJldCA9IG1peGVsX2RwaHlfcG93ZXJfb25fbHZkc19w aHkocGh5KTsKKwl9IGVsc2UgeworCQlkZXZfZXJyKCZwaHktPmRldiwKKwkJCSJGYWlsZWQgdG8g cG93ZXIgb24gUEhZIHdpdGggaW52YWxpZCBQSFkgbW9kZTogJWRcbiIsCisJCQkJCQkJcGh5LT5h dHRycy5tb2RlKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisKKwlpZiAocmV0KQorCQlnb3RvIGNs b2NrX2Rpc2FibGU7CisKIAlyZXR1cm4gMDsKIGNsb2NrX2Rpc2FibGU6CiAJY2xrX2Rpc2FibGVf dW5wcmVwYXJlKHByaXYtPnBoeV9yZWZfY2xrKTsKQEAgLTQwNiwxNiArNTkxLDUxIEBAIHN0YXRp YyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vZmYoc3RydWN0IHBoeSAqcGh5KQogCXBoeV93cml0ZShw aHksIFBXUl9PRkYsIERQSFlfUERfUExMKTsKIAlwaHlfd3JpdGUocGh5LCBQV1JfT0ZGLCBEUEhZ X1BEX0RQSFkpOwogCisJaWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9MVkRTKQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+bHZkc19yZWdtYXAsIFBIWV9DVFJMLCBMVkRTX0VOLCAw KTsKKwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5waHlfcmVmX2Nsayk7CiAKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGludCBtaXhlbF9kcGh5X3NldF9tb2RlKHN0cnVjdCBwaHkgKnBo eSwgZW51bSBwaHlfbW9kZSBtb2RlLCBpbnQgc3VibW9kZSkKK3sKKwlzdHJ1Y3QgbWl4ZWxfZHBo eV9wcml2ICpwcml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CisJaW50IHJldDsKKworCWlmIChw cml2LT5kZXZkYXRhLT5pc19jb21ibyAmJiBtb2RlICE9IFBIWV9NT0RFX0xWRFMpIHsKKwkJZGV2 X2VycigmcGh5LT5kZXYsICJGYWlsZWQgdG8gc2V0IFBIWSBtb2RlIGZvciBjb21ibyBQSFlcbiIp OworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoIXByaXYtPmRldmRhdGEtPmlzX2NvbWJv ICYmIG1vZGUgIT0gUEhZX01PREVfTUlQSV9EUEhZKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAi RmFpbGVkIHRvIHNldCBQSFkgbW9kZSB0byBNSVBJIERQSFlcbiIpOworCQlyZXR1cm4gLUVJTlZB TDsKKwl9CisKKwlpZiAocHJpdi0+ZGV2ZGF0YS0+aXNfY29tYm8pIHsKKwkJdTMyIHJzYyA9IHBy aXYtPmlkID8gSU1YX1NDX1JfTUlQSV8xIDogSU1YX1NDX1JfTUlQSV8wOworCisJCXJldCA9IGlt eF9zY19taXNjX3NldF9jb250cm9sKHByaXYtPmlwY19oYW5kbGUsCisJCQkJCSAgICAgIHJzYywg SU1YX1NDX0NfTU9ERSwKKwkJCQkJICAgICAgbW9kZSA9PSBQSFlfTU9ERV9MVkRTKTsKKwkJaWYg KHJldCkgeworCQkJZGV2X2VycigmcGh5LT5kZXYsCisJCQkJIkZhaWxlZCB0byBzZXQgUEhZIG1v ZGUgdmlhIFNDVSBpcGM6ICVkXG4iLCByZXQpOworCQkJcmV0dXJuIHJldDsKKwkJfQorCX0KKwor CXJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeV9vcHMgbWl4ZWxfZHBoeV9w aHlfb3BzID0gewogCS5pbml0ID0gbWl4ZWxfZHBoeV9pbml0LAogCS5leGl0ID0gbWl4ZWxfZHBo eV9leGl0LAogCS5wb3dlcl9vbiA9IG1peGVsX2RwaHlfcG93ZXJfb24sCiAJLnBvd2VyX29mZiA9 IG1peGVsX2RwaHlfcG93ZXJfb2ZmLAorCS5zZXRfbW9kZSA9IG1peGVsX2RwaHlfc2V0X21vZGUs CiAJLmNvbmZpZ3VyZSA9IG1peGVsX2RwaHlfY29uZmlndXJlLAogCS52YWxpZGF0ZSA9IG1peGVs X2RwaHlfdmFsaWRhdGUsCiAJLm93bmVyID0gVEhJU19NT0RVTEUsCkBAIC00MjQsNiArNjQ0LDgg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlfb3BzIG1peGVsX2RwaHlfcGh5X29wcyA9IHsKIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1peGVsX2RwaHlfb2ZfbWF0Y2hbXSA9IHsK IAl7IC5jb21wYXRpYmxlID0gImZzbCxpbXg4bXEtbWlwaS1kcGh5IiwKIAkgIC5kYXRhID0gJm1p eGVsX2RwaHlfZGV2ZGF0YVtNSVhFTF9JTVg4TVFdIH0sCisJeyAuY29tcGF0aWJsZSA9ICJmc2ws aW14OHF4cC1taXBpLWRwaHkiLAorCSAgLmRhdGEgPSAmbWl4ZWxfZHBoeV9kZXZkYXRhW01JWEVM X0lNWDhRWFBdIH0sCiAJeyAvKiBzZW50aW5lbCAqLyB9LAogfTsKIE1PRFVMRV9ERVZJQ0VfVEFC TEUob2YsIG1peGVsX2RwaHlfb2ZfbWF0Y2gpOwpAQCAtNDM2LDYgKzY1OCw3IEBAIHN0YXRpYyBp bnQgbWl4ZWxfZHBoeV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXN0cnVj dCBtaXhlbF9kcGh5X3ByaXYgKnByaXY7CiAJc3RydWN0IHBoeSAqcGh5OwogCXZvaWQgX19pb21l bSAqYmFzZTsKKwlpbnQgcmV0OwogCiAJaWYgKCFucCkKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC00 NjcsNiArNjkwLDMwIEBAIHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCWRldl9kYmcoZGV2LCAicGh5X3JlZiBjbG9jayByYXRlOiAlbHVc biIsCiAJCWNsa19nZXRfcmF0ZShwcml2LT5waHlfcmVmX2NsaykpOwogCisJaWYgKHByaXYtPmRl dmRhdGEtPmlzX2NvbWJvKSB7CisJCXByaXYtPmx2ZHNfcmVnbWFwID0KKwkJCXN5c2Nvbl9yZWdt YXBfbG9va3VwX2J5X3BoYW5kbGUobnAsICJmc2wsc3lzY29uIik7CisJCWlmIChJU19FUlIocHJp di0+bHZkc19yZWdtYXApKSB7CisJCQlyZXQgPSBQVFJfRVJSKHByaXYtPmx2ZHNfcmVnbWFwKTsK KwkJCWRldl9lcnJfcHJvYmUoZGV2LCByZXQsICJGYWlsZWQgdG8gZ2V0IExWRFMgcmVnbWFwXG4i KTsKKwkJCXJldHVybiByZXQ7CisJCX0KKworCQlwcml2LT5pZCA9IG9mX2FsaWFzX2dldF9pZChu cCwgIm1pcGlfZHBoeSIpOworCQlpZiAocHJpdi0+aWQgPCAwKSB7CisJCQlkZXZfZXJyKGRldiwg IkZhaWxlZCB0byBnZXQgcGh5IG5vZGUgYWxpYXMgaWQ6ICVkXG4iLAorCQkJCQkJCQkgcHJpdi0+ aWQpOworCQkJcmV0dXJuIHByaXYtPmlkOworCQl9CisKKwkJcmV0ID0gaW14X3NjdV9nZXRfaGFu ZGxlKCZwcml2LT5pcGNfaGFuZGxlKTsKKwkJaWYgKHJldCkgeworCQkJZGV2X2Vycl9wcm9iZShk ZXYsIHJldCwKKwkJCQkgICAgICAiRmFpbGVkIHRvIGdldCBTQ1UgaXBjIGhhbmRsZVxuIik7CisJ CQlyZXR1cm4gcmV0OworCQl9CisJfQorCiAJZGV2X3NldF9kcnZkYXRhKGRldiwgcHJpdik7CiAK IAlwaHkgPSBkZXZtX3BoeV9jcmVhdGUoZGV2LCBucCwgJm1peGVsX2RwaHlfcGh5X29wcyk7Ci0t IAoyLjI1LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==