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 0F6F4C433EF for ; Sat, 2 Apr 2022 05:40:32 +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=Zm0ypcEhVN84dY cWoLvG9NitIFXE009kCszDqH8wu1oHisUPoSQRVZbIvMAp9hSUv2fk0HUWfT+o+z2NJe2ndj/p93t xB6RuZsvZcU8P3DIUsYGWwUUKeb33PR/La72o4sLxvthjHbcrN6nLU0M80RkIP+RsUMxZDuL7rphI xD/EhNsDPok3EpWrxEjHIhkP9pJaqHGkpg1xLHCiDH6756qiU1BBPig1p4k4YOxfXMBq87rjcf76J aibOC2kViOwAvIVOnVCRmqhINEIg3RSS57y/S8UwVx8zo0y9r1F5PLHDCQM+z2UuPOSi6B3dNVUDB LJpzDkdu7bdLUIGnCe5g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1naWTQ-0087IF-Nn; Sat, 02 Apr 2022 05:38:56 +0000 Received: from mail-he1eur01on062b.outbound.protection.outlook.com ([2a01:111:f400:fe1e::62b] helo=EUR01-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1naWTM-0087HY-He; Sat, 02 Apr 2022 05:38:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bI1v0qaM3KhgOKCX28Psb5jHBtW+EdJzfAuUyVCXz+TyXJwadZVOLpXOH0j817fnuGEqeoE3/zgRhn1DPIAFku9MxOp+fdu5PsDniz0oC6ECZvhQjjo71omYQnN5j+eesP27omhKNaTzkPBzG+puajaUoUAG6tRqfJ4h59g9OSZuvBYWEfjmVYs5lrJGDnwjdg5SDcMRyAEWCug1H2PZpJ6B4EPcE/LJfBzYf4Ou1frkZE6fH35sBkW71Z8GikupJ7yyTMphkt8RO3jNoGQ0WSfiQi1BTSBRHq6gvGwPGVrEDEm5PVr5lHaSBk7iKEIUOt4czCxTjkZh1Ko9KdwewQ== 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=S+Ea326d8hh3h8ZVewqHqb41v7kZX/rv5VkeldgeVPJd8WVvNeBW+BYc0Y6fPggLgFzYjg3zBBBac/zI7LmbB4g5+hVnesF9tq45FpNKZHa0h5tcjQYXGe4Y7aTVmLriCaOEecck3iDf1m/GFPLFH6GnvmQCJjX4Twqg9qEUsFqBfJERWgCLpeXfaeYVt/ZReZoFcxtHKaJeh6cr1CayP7LoJdu2ZD7lBOrlYGy8ldZgvBFaXlxvmSvcd/1Me2ilYv4cuOTDy5xUFI9IbofpjHj0i5iBC++1S8FtqEKA9su0w8d4My9rExh6qx+OeUOpuHbmo932NSPs/NBhDU+Z3g== 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=lzgjOlFackcCQE1NQ+ktGzjsEFA77B/55cIqZVL1PWO93dK5ri3PTJeeGNdTqhaulG/UdMwVMVS76ICQnt3GcwB1X340afbWSTdpgTPwT6lTcOOGfyzsfUR9AWpDtm5XuCYUvGgZVKEwPwhPOhYZBy0+9Rdw/FZKHGTGWy5f3WQ= 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 AM7PR04MB6776.eurprd04.prod.outlook.com (2603:10a6:20b:103::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.25; Sat, 2 Apr 2022 05:23:50 +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 05:23:50 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, 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, andrzej.hajda@intel.com, narmstrong@baylibre.com, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, 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 resend 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Sat, 2 Apr 2022 13:24:51 +0800 Message-Id: <20220402052451.2517469-6-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220402052451.2517469-1-victor.liu@nxp.com> References: <20220402052451.2517469-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2P153CA0008.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::19) 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: f17bc912-c9ad-4142-b3b3-08da1468f86c X-MS-TrafficTypeDiagnostic: AM7PR04MB6776: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: A/KZ0eYp2tS5elt5hPBQC6Tdhfx+a0NbRx1K1oNfeC+EyafljFkpfxRbWuhIozO2OOoppgR3A5moYC12Ce5whUhk5J+h90aWVQNKih//eQUbdyCdbWkBbRH4rJHLShh8CfITEbWerrG581JY6nreZxA8JEU77aY3UkqAK2aS/yqTq8qrOt1pccUJO451vAI3L7sz7srlitsptwTzsRfS97nGkIc3uetyaKRdj98xs0Gyy/KGYch27pT0LjLe9bDKOkcYcU6XKU9H/pg5Z1dy6SjV0upDarKRO+ysEFHj0meIxyUff5EBLGIQjAS9yDZSiOZKCxPuPcOeRpixldwouOan+MNMeZ5585v3n5s+xtiZCmSLORwOoFzCoWUAyyqt1Z37gwMZQN2f1FDu+EaLJDg+/Zp0aBv7YMYZ8tJt56NjB2fhLwCoqBAlrvRXVgEXJIUadXogFcoaiXgGhSOupbuS6LH7BMDfXjmccPT0+cM2Qvocp7WuRC/9bWuVejksZkK8M8I8g0plp7BgQpKREKx3EJxOSD700u3V75KWtbIVDc8oLKRANMIQbPhHRh5bzd8FcRmZJRJYcAbIQQJbBa3DLHgTwD41n/9cQgBpaQ4+eAK3ksZrTJVKvMSFnR85j+gegk5lGBgDuTRwiPGVJ/9NCbUnhLUCKXGaH1x0qGir/BsQDKpOZQrS41agaEKZwi3W40b8+xddRmDmM1OrkA== 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)(1076003)(30864003)(8936002)(7416002)(186003)(66556008)(26005)(2616005)(316002)(66946007)(8676002)(66476007)(5660300002)(4326008)(86362001)(66574015)(83380400001)(36756003)(2906002)(52116002)(6486002)(508600001)(38350700002)(6512007)(38100700002)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHZ1OGRJTjVpS005WEQxYlBIV1dkdWtVMVJJVlVrUFN1Q1Z6RkZtMWJ3amZy?= =?utf-8?B?d3Z2TExQNjhOd2d1bmQxVnIrRnU0NlFPMWtiNzgvRUx3UGd6Z1ZUd09CTjVI?= =?utf-8?B?TGVlRGtvSm9weTRYZ0xhTkN2NzhDK1lvTnF3RXp6NjNQajBlakpPTUx6WWJp?= =?utf-8?B?akVpeXk4OVRmUTNpcS9PWEVhbjBBdWFZS0ttV0VieWZLdmVDUC9oMk5IUDY0?= =?utf-8?B?YkZ5eHd6R2kyaDc3SldoNzZxbzljS0drYytVU042U1RCMXdWcVdRUGcrOFI5?= =?utf-8?B?OUVGWDFuUVVTK0liSkFQMXlHZ2FyZjFqYlBMK1dWaGM3akdrbm5qSUIrb3Er?= =?utf-8?B?NWsyVjBtM0g5ZmV4K0JUUlJ6SUxrWEhIT0VIQUJGSEc4QnFQdWFibXBQRDFm?= =?utf-8?B?QWM4VzZLRytlVFFSWXJWOG1raW5GbzdXS0ZIaHExR0hGNE1HdUhyMGgrUEpN?= =?utf-8?B?OEtJbndia3NvdVRoVGt5YnRXR3dzdkJFVVVMbnJSVUg1bGJvMzlDTndVMXZ3?= =?utf-8?B?R3lGWG5CZks1NXptVE15eXJ4UDJveTM4enV6d3Y5RUVzaWVYWUozekpuM1F4?= =?utf-8?B?cnJ5MzJyWFZES2VBd0dBblJjZVJnNUVQRkhEUWphc1NVNzk2SU9VQ3F2Nmlr?= =?utf-8?B?MkpRbHptRnVxdEFXbEVrc3JyMmJINTlETGVkWDRYcFBFYWtaT1R5LzV2bmlE?= =?utf-8?B?N0htUnlac096ejFMNHJpN3FOZm1vUEVPZllibXVwRXIxRDVJZHdjNUVGVXVs?= =?utf-8?B?OFZRZ0FNZ0FzdERpWWxKUTJIYnJZRStYbFlRbkp5VnFtbGZCS3lkTk9PTFV4?= =?utf-8?B?MEowS0RzbWJNMjA2UGQwNEN4UWt5OTRwZ0laRzMydUNUTzRiVUhTMVlYWXZD?= =?utf-8?B?dEV6R0I5NTNydG1YMGlBVFlLWE1GZXlvQU5HaExOeCszcUlEa3pXeHRVcWV3?= =?utf-8?B?N1Yxdlo4NlI3WllPejIxRmZiQjFheGZJbVhYRGcyQ1Iya0lMa0tlOXNBbTVD?= =?utf-8?B?Z3VEZndTaWIvSXd5MU9lUTFwWXRjU3kwNmw3K2hUNnRuQktPZEhMZ1Zza040?= =?utf-8?B?dXdiRC9LcVdLd1hXNk5zVFVVR2JXSG9vNTVWdU1KQjR2b3BHb2RPZWcrRkI1?= =?utf-8?B?RkdZR2RaTWRUbmhsVUtCNzA1Nmh6Q3I2SUUwVEZCdzdSQ0Nld0ZIQkxHK3Fq?= =?utf-8?B?dElZREU4WElnUUt2MzhZZStERXJMRVZNRkhRc1dsaGRsVmFqQWIydHg0amdn?= =?utf-8?B?Y242ditDQWg5Qkt5cHBMV21kRllQTDVDUmFnL2xha1B4UVhtSGJUd3ZHZlBo?= =?utf-8?B?U0NuTDdtVDZiWVI2VENpMlh5SENKS1hSTm1TRGEzdzgyUEhCZWlGOUtaTkVM?= =?utf-8?B?SytBQzdOVnpiNDZ3YzZwWUhhTTBWWHFJMEE5OWtkZ3VvQndJblhtL1NadWt6?= =?utf-8?B?US9QeWNYRnN2dG1CWndkckpHdzJTNXUzbHBtZ3lKU0VMTVdMTnhBOHBuZThM?= =?utf-8?B?WUFMdlFMdGp0bDlwei93Yk9malk1dVZ1WGU0RWg3czV2czllTE12OHVqM1hZ?= =?utf-8?B?Yk84V21VUGVJeVFxU0Z4VmRlK3I1V2tnWkRYbzRhOGZ0TUlHazVoaDBJSnlT?= =?utf-8?B?VlFiK3lpNUo0YWhXRWhRUnBaVk5vYU9LNHBWaVR0NkdsZ0QwakVBUDRPUWJ6?= =?utf-8?B?NnRtaFVWaWRaZEhVeEp5RmZ2eFVlaGZ3QnI0Z1YyVWZ5WjZIcHd0QTM4K0pD?= =?utf-8?B?VzV5YWJEUi94TzJBRzdvYnRpMWM3SlFzdzh0RzNrRkFnV2tzMXl2VU8wcEVp?= =?utf-8?B?RElJNzJoRTRtSnE5S0FlckU0TFYxNS9ZSWtaL000UmlRMHZkZSsrK1J1ODdC?= =?utf-8?B?d3R4SnNaM2ZUdWZ2QnAzbHgyNjkxa1NOYk9veTFNR05OcENUektjUnV0cVRR?= =?utf-8?B?ZWRvN1M3QzZOSitCYTVPb21EVnJnaCtMU1A3MU9hWTA5ZTFtNGRCNWo3aURC?= =?utf-8?B?eWxENzVkUXhtbXRLNTNUeFA3UEtwcDFCVmpEMTVyNWxuQ05KeVJsSEdKbm1G?= =?utf-8?B?a1o3MEZuVG5vMS8yUGNXWFFmUHp5dFZoTThMZ0JRaCtWYjRnbkVFQml4VzU4?= =?utf-8?B?V0RiaEhNaUdmL3BldUNuMTlQeUpzcW14bzRGM1Y0ZThFVVVOeWJleGhwQWl6?= =?utf-8?B?c0MweTUxVjgwK0UrYjlBa1l5V0dlc2hnWm1TWXR3VmIzcDRhY3BXbngwb2VG?= =?utf-8?B?M2hvV3pmTUhpQmhlVUlncnVjK2lwU0JjTjFyWGhlT005VllEbFl0VVhyM2NQ?= =?utf-8?B?WjFLRGIwZGdOTkp3VXRQVWdHTDMrZHowZktXWll3TU9kbm9pSTgrQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f17bc912-c9ad-4142-b3b3-08da1468f86c X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2022 05:23:50.6186 (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: zO3k9VOd1Qc+5c7RLDars4IDWhJ7gVJSTdcZMNz2lmZ6SBmGotfyb19GgifEsDCzDHrj4aN5A0wyPU59CDvQKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6776 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220401_223852_790916_62DD9370 X-CRM114-Status: GOOD ( 21.90 ) 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==