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=-14.2 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=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 2D7DFC433DB for ; Thu, 25 Mar 2021 09:26:27 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 42B4B619E4 for ; Thu, 25 Mar 2021 09:26:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42B4B619E4 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=desiato.20200630; 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=zkJcxZFkRbT2Hzn43/tgzkF2QxqrMYpiIFLUaeZEU10=; b=L9EKQfYcpGoi9AvQkyiKu2vUx hOepsy44/pIAhZTrQeDKzq21TqQ28neuUcl2pWf+mQ0EQ5o7AQcBxcDAdP8upLPttvFDYt6+vLlL2 2YVmLnEMSg4SqRG2DDzurs22CanR59HFZK96TDzfpKQ5wg4TArLJFRXl1fUNr6ZYDZUqziI2RnCIH Ok1FMRp8OGI1EiDGMpuoiDL80h0G04cpLK3T2pgfgdev9g1GZfo0Z1cr8q15udF44pFwyXqSLjHlJ wzMqkf55rekw5flORxFkNax0Py3JhgwJFd7+PjgIAWsEDaYhBTyknoDqBUwiVepDSM+8nIz7vx22u HZNINLAzw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lPMDf-0014Gm-HO; Thu, 25 Mar 2021 09:24:00 +0000 Received: from mail-eopbgr130055.outbound.protection.outlook.com ([40.107.13.55] helo=EUR01-HE1-obe.outbound.protection.outlook.com) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lPM5I-0013Kq-DV for linux-arm-kernel@lists.infradead.org; Thu, 25 Mar 2021 09:15:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UA0Fv0NXjf6MxejH9JTkotYx0hvpy7CenG1rg3POfXixPGsk+DZ8+75x4p/avYECrj4DslEzoCbxmovXhFmCbTq4+lbhfgAd8QEA1BEJu2X2xlOhFcVRK1QEdtOg5J+0wIf2hNDa4+JMTca1tjrlvdF5TEi3ZDDc/lGTNfS/fjAqgCUh3rS25RGGvx0uXVuYJd/KZ/VS9My/AirWLDOYqb3Jd0Lo3v/7WJ2VOw0MSZktiQ3pdllnpC/K+o4ne31IcYg4S6M88bSKgPixslNuF4TEzV+OLhMe05Ae+7wzYZZR7Lg1bWaxoY3Ok18xa5yoTfHHC7YhlSywj7JOeRgXew== 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=47Id5AaZFapkL4ou76e5Dq9DA/qR0fEfwUZDX8cHhus=; b=Z3J3k2EW6KuFbk5jXhfXtU+njPbOxpzhSDv49aR7MdqP+e/MI+cAYjm1nSLYfyhLlBw4nVBHhNXWLJrrGXcDhmwQ/euxbPGzq8tlgGCx0E/muBoR4pw0WnGUyMrBomf+uy++WayNzOEi1QwdTk4BdsK7vTB0ysbjbGO14NlT2bgPhEis69jTCwUcM7VH79IYDU+i8ul/hZZOcQB0dYRdlee15SZswoWM+XuMUh2q5Znz01SzQtvc0I7/M2z2K4BAZz7eYeue578KlC9Mob4CZ+fjdxQMa0sNKd+dR8e5L5xtfyN3EgVhQ74c6JWwQQw+fjjJF7GFGORQrXiv4lSU6w== 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=47Id5AaZFapkL4ou76e5Dq9DA/qR0fEfwUZDX8cHhus=; b=ShbwuGIPLQI4wPbjdBfRT36oCUXzfzKL2iTp5qwhxDOmyecgM1957/ERlc8YjDiS42ukXuSuqiRYcepoN9NVehDdvP/vnXtomsNlxjj06wlaatHnx0ncQUP7qpKU0y53k7QmXv3WezhVZ8o6NV4qwsIML3uOXHSljTHG+dFgaOo= 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 VI1PR04MB2975.eurprd04.prod.outlook.com (2603:10a6:802:9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25; Thu, 25 Mar 2021 09:15:17 +0000 Received: from VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::3ce1:4759:5c33:514c]) by VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::3ce1:4759:5c33:514c%5]) with mapi id 15.20.3977.026; Thu, 25 Mar 2021 09:15:17 +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 v5 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Thu, 25 Mar 2021 17:00:32 +0800 Message-Id: <1616662832-27048-6-git-send-email-victor.liu@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1616662832-27048-1-git-send-email-victor.liu@nxp.com> References: <1616662832-27048-1-git-send-email-victor.liu@nxp.com> X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: HK2PR02CA0164.apcprd02.prod.outlook.com (2603:1096:201:1f::24) 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 HK2PR02CA0164.apcprd02.prod.outlook.com (2603:1096:201:1f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3977.25 via Frontend Transport; Thu, 25 Mar 2021 09:15:11 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: c39f07a3-1e05-4f33-3b27-08d8ef6e8157 X-MS-TrafficTypeDiagnostic: VI1PR04MB2975: 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: TQBNzquU5vMwJlyugSGO4cqXtdzmw/WqjsH+dhJIbUKFcWkocPWnrZBnVFjf8zb+yzk2B/sSwA8ePGxQ4n+Zgp4J5VOBbRnMdxlnzXw1ZWLhHaKWDno7QVZAqt/l7hQlzjwIMGOtQ3nDjQnrEYoPQozWd39PUQurJSIFEaloLOKcRKgKH1WIYTbQnyyW9XJ1wHNBlF4bwLk8BsWC3w6GnixMM2ppXS0nHD1JX7tAtfbLhA3njFito3xxYmheW2HT2n/JXSuc+ZIudtKd3zEnF7O+XH+dLFRcroD6ZP9eZIioXgJOus956jqcuPM9hs4reX6JW5sqEgH1YfgJ2P1t6Pik9yfBhqCacLfQyZ92zCitjrhOqPA4llsgk20dJNgdU3e1Fq25pKKuUBBtbT4Bg4OnaP/iQwm8BvGC90Z75UG4tWzoc6L5W2ozNpvcVUjjUTf/E/PaADiCdg6vvZjID9ESUiSFOA6K/LTfI0YuRIUf3nUQpmwZRV1Hjp6GLpOSzfzxdF/FvTNOUoj3pOTlRWL5IghCCLD2y6/HGCJ35+qGbLzMtDMcdPk+GjQ4TH0z4eQ+0Tmv4yV4jJgvAJPJ/1nqSBC5dJq/dTieiB1KWhd4b0X+oTdy6+x/uP/N9xK0vIqzK7/e4AzWCAUwHPRb8BgJMG4yuIrbrbFYXntC+EvqyTtz0gLE1I3LE8TVi/VW 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)(136003)(396003)(366004)(376002)(39860400002)(346002)(26005)(66574015)(4326008)(38100700001)(186003)(66946007)(52116002)(7416002)(83380400001)(36756003)(6506007)(2906002)(6486002)(86362001)(8936002)(66556008)(8676002)(316002)(6512007)(6666004)(66476007)(5660300002)(30864003)(956004)(2616005)(478600001)(16526019)(473944003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?U1hpNFBoVHVvY3VHWWlENUpBcElwd2YvM1BKYlFhdnZzanhnQklLaDdzYUNz?= =?utf-8?B?c0hTR0o3MnI4UlFyNkVOa093bWdDLzN5dVN2TmMvQTFNdkU2S1ozQ2l1MG4z?= =?utf-8?B?a01rMFJlcitYdmovSmVUd2tXbEJNNEZsTU5LKzFKcTYvV1l1Q2QzcmVydDg2?= =?utf-8?B?MUJMaEJNdzVrU3NXempHaEsrNzdPQndpMllJYVM2VzF0M05kdWVubEI1WDQx?= =?utf-8?B?eTNKbys0b0daQXluOXVTTU5aU1BOcEdlMGVUeTNzV2F3UU9VYUc3RXZDTlZY?= =?utf-8?B?YjA2TVlVcFVwSkdmamtHSHlvZEZnY3UxMGlmdng3cE9XVEZDUGlaN1JiOXFu?= =?utf-8?B?QjFFek8wM0EwRzBDV0ZwM3kzbjZlSHJOQXhaUzdic2lRRmJKeHQrWk1ETjFt?= =?utf-8?B?TUE2L1ZFTWpxWDZ2UnNCVTNPNzM1RFFSR29mdG1JL1RXaC9ycytQWGtUSDhV?= =?utf-8?B?MVU5aHNsOWNFVjlXRjZmdEFzaEhST25iQWVSVWxwMmlxKzIwRDRvaUFXdmdu?= =?utf-8?B?Ni8rTkpxRFE2ZTAyZGNXVXdqdXpxZ2NZNDVCTTJ0bkJEemxRRGhLSFZKNTIy?= =?utf-8?B?S2xKaGIzckV4MzcyRkhmaXpYdEwrdE5KOWxUdW1vVTJyaHhIZ252MkQybzlM?= =?utf-8?B?Q3FlVytreFRxVzJEMWd4YVh2blE0SVp1dUNwSFo2VFJ1bXJIT2FHWktsalBH?= =?utf-8?B?R2Z5YjN0VVJ1bFg4R0xqeEV6cnBpMWhMZjAvKzcyY1FhMTVtbWRJRFJ1b2s5?= =?utf-8?B?MlBzZ1RBVUNCTlJ4Z25ueTlZZEliSCs5amJ3SmtBUjhqV0xlWXVkNkFYcEV3?= =?utf-8?B?bFROSTdYM1VkZ2pOY3UraGhscnR0eWgwNVZjRmVqanB0MEZoOWl3bzRMaFk2?= =?utf-8?B?ak5ZVlVRVEpaYmw4WktTMDJoTEZSS1NtN2xuMk5QMXRBUzZWbW9QN0lPbjd4?= =?utf-8?B?Q29RSHVpRThOaHg4clUydTNyN1UranF6aFdwYXBFcGl0ekFSRERZb3V3UWUx?= =?utf-8?B?bFN3ZUJEZkZpWVY5eld0a1I5TStLUllQTGVLNURKZm9iS2crcFhnWDFsQjN1?= =?utf-8?B?TzI4aWJYbEZ0RTFSYzU2MlBGUThYYXpOQXg4N1pmdlkyYSsydUlsMzkrRnRU?= =?utf-8?B?ajNwMVNWVmFjN2dIME1vNThTTzZGYkltVTV3c1hhUlJsU0QybDFvSXBSYm5N?= =?utf-8?B?Y1NiM3J5L0JTaUVEeU9ROEU5WXZwSFlkL1lUaHNTL1FhR0hTbnplemJBWDQx?= =?utf-8?B?NkFNSENKNmhQQVV5Q2JxZ2U1TGxBbjVMbjljU0JiRkEvWUNHNnZtc0t3NkNx?= =?utf-8?B?V0hhdGMwZWcvcWZnWUFJd2R2aVRyeXdGeC9mVm5TbmZhdjRvQzdSYzFGdW9H?= =?utf-8?B?S0QweHdGU3I1SEw5ZVpvb1p6RnNib2xDeE9SWVZRTWdZc3NnekswQWlhL1dh?= =?utf-8?B?TENRS1hpMmY3bU9WWEpLMHorTStKZ3Q5clVBaU5GN0hYQllhU2x4bnNMOUVv?= =?utf-8?B?VDlzczZCTFVBRm40UG9VWlRnL3liUi81b2xTMGJaTEdkN3ROM2lsaDBJNU55?= =?utf-8?B?NUhOV1JzR3NObDd4MHMxWDkwMW9ZRTZHZjVIMXlJVGl6L2F3VzZqSnhOeWxz?= =?utf-8?B?aWRvazNqOG85UFNvbEtOOTAxRnE1WHJqRzQ1SFFTdkNsVGZGekJmbTlwaUZi?= =?utf-8?B?ZFhvck5uVGRVaFA1bTVBSmJKTTNZR0c3SnBHYXVXekxOdUZXT0xFM0lvSVRP?= =?utf-8?Q?kCsmwg2+Z9n4oLVNtZF0iUAxobZ2/Rhh56xJK6X?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c39f07a3-1e05-4f33-3b27-08d8ef6e8157 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB3983.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2021 09:15:17.2771 (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: EdUhv26AUPOOFuIqvTWPMAN2rWe8PW8xQ6qhEFxgUQCz0s0ZlwlWDydLTqAt6BhpVutPON2oEy1PZbtYn9uZZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2975 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210325_091528_960334_1F0F13A0 X-CRM114-Status: GOOD ( 25.14 ) 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 Y3Rvci5saXVAbnhwLmNvbT4KLS0tCnY0LT52NToKKiBObyBjaGFuZ2UuCgp2My0+djQ6CiogQWRk IEd1aWRvJ3MgUi1iIHRhZy4KCnYyLT52MzoKKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIG1peGVs X2RwaHlfc2V0X21vZGUoKS4gKEd1aWRvKQoKdjEtPnYyOgoqIFByaW50IGludmFsaWQgUEhZIG1v ZGUgaW4gZG1lc2cuIChHdWlkbykKCiBkcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4 LW1pcGktZHBoeS5jIHwgMjY5ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFu Z2VkLCAyNTggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYyBiL2RyaXZlcnMvcGh5 L2ZyZWVzY2FsZS9waHktZnNsLWlteDgtbWlwaS1kcGh5LmMKaW5kZXggYTk1NTcyYi4uYWYxZWNk YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OC1taXBpLWRw aHkuYworKysgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5j CkBAIC00LDE3ICs0LDMxIEBACiAgKiBDb3B5cmlnaHQgMjAxOSBQdXJpc20gU1BDCiAgKi8KIAor I2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5j bHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNp bmNsdWRlIDxsaW51eC9maXJtd2FyZS9pbXgvaXBjLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdh cmUvaW14L3N2Yy9taXNjLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51 eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+CiAjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvb2YuaD4KICNpbmNsdWRlIDxsaW51eC9vZl9w bGF0Zm9ybS5oPgogI2luY2x1ZGUgPGxpbnV4L3BoeS9waHkuaD4KICNpbmNsdWRlIDxsaW51eC9w bGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KKyNpbmNsdWRlIDxk dC1iaW5kaW5ncy9maXJtd2FyZS9pbXgvcnNyYy5oPgorCisvKiBDb250cm9sIGFuZCBTdGF0dXMg UmVnaXN0ZXJzKENTUikgKi8KKyNkZWZpbmUgUEhZX0NUUkwJCQkweDAwCisjZGVmaW5lICBDQ01f TUFTSwkJCUdFTk1BU0soNywgNSkKKyNkZWZpbmUgIENDTShuKQkJCQlGSUVMRF9QUkVQKENDTV9N QVNLLCAobikpCisjZGVmaW5lICBDQV9NQVNLCQkJR0VOTUFTSyg0LCAyKQorI2RlZmluZSAgQ0Eo bikJCQkJRklFTERfUFJFUChDQV9NQVNLLCAobikpCisjZGVmaW5lICBSRkIJCQkJQklUKDEpCisj ZGVmaW5lICBMVkRTX0VOCQkJQklUKDApCiAKIC8qIERQSFkgcmVnaXN0ZXJzICovCiAjZGVmaW5l IERQSFlfUERfRFBIWQkJCTB4MDAKQEAgLTU1LDggKzY5LDE1IEBACiAjZGVmaW5lIFBXUl9PTgkw CiAjZGVmaW5lIFBXUl9PRkYJMQogCisjZGVmaW5lIE1JTl9WQ09fRlJFUSA2NDAwMDAwMDAKKyNk ZWZpbmUgTUFYX1ZDT19GUkVRIDE1MDAwMDAwMDAKKworI2RlZmluZSBNSU5fTFZEU19SRUZDTEtf RlJFUSAyNDAwMDAwMAorI2RlZmluZSBNQVhfTFZEU19SRUZDTEtfRlJFUSAxNTAwMDAwMDAKKwog ZW51bSBtaXhlbF9kcGh5X2RldnR5cGUgewogCU1JWEVMX0lNWDhNUSwKKwlNSVhFTF9JTVg4UVhQ LAogfTsKIAogc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0YSB7CkBAIC02NSw2ICs4Niw3IEBAIHN0 cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgewogCXU4IHJlZ19yeGxwcnA7CiAJdTggcmVnX3J4Y2Ry cDsKIAl1OCByZWdfcnhoc19zZXR0bGU7CisJYm9vbCBpc19jb21ibzsJLyogTUlQSSBEUEhZIGFu ZCBMVkRTIFBIWSBjb21ibyAqLwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBtaXhlbF9kcGh5 X2RldmRhdGEgbWl4ZWxfZHBoeV9kZXZkYXRhW10gPSB7CkBAIC03NCw2ICs5NiwxMCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0YSBtaXhlbF9kcGh5X2RldmRhdGFbXSA9 IHsKIAkJLnJlZ19yeGxwcnAgPSAweDQwLAogCQkucmVnX3J4Y2RycCA9IDB4NDQsCiAJCS5yZWdf cnhoc19zZXR0bGUgPSAweDQ4LAorCQkuaXNfY29tYm8gPSBmYWxzZSwKKwl9LAorCVtNSVhFTF9J TVg4UVhQXSA9IHsKKwkJLmlzX2NvbWJvID0gdHJ1ZSwKIAl9LAogfTsKIApAQCAtOTUsOCArMTIx LDEyIEBAIHN0cnVjdCBtaXhlbF9kcGh5X2NmZyB7CiBzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2IHsK IAlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2ZnOwogCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsKKwlz dHJ1Y3QgcmVnbWFwICpsdmRzX3JlZ21hcDsKIAlzdHJ1Y3QgY2xrICpwaHlfcmVmX2NsazsKIAlj b25zdCBzdHJ1Y3QgbWl4ZWxfZHBoeV9kZXZkYXRhICpkZXZkYXRhOworCXN0cnVjdCBpbXhfc2Nf aXBjICppcGNfaGFuZGxlOworCWJvb2wgaXNfc2xhdmU7CisJaW50IGlkOwogfTsKIAogc3RhdGlj IGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIG1peGVsX2RwaHlfcmVnbWFwX2NvbmZpZyA9IHsK QEAgLTMxNyw3ICszNDcsOCBAQCBzdGF0aWMgaW50IG1peGVsX2RwaHlfc2V0X3BsbF9wYXJhbXMo c3RydWN0IHBoeSAqcGh5KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG1peGVsX2RwaHlf Y29uZmlndXJlKHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRz KQorc3RhdGljIGludAorbWl4ZWxfZHBoeV9jb25maWd1cmVfbWlwaV9kcGh5KHN0cnVjdCBwaHkg KnBoeSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQogewogCXN0cnVjdCBtaXhlbF9k cGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKIAlzdHJ1Y3QgbWl4ZWxfZHBo eV9jZmcgY2ZnID0geyAwIH07CkBAIC0zNDUsMTUgKzM3NiwxMjEgQEAgc3RhdGljIGludCBtaXhl bF9kcGh5X2NvbmZpZ3VyZShzdHJ1Y3QgcGh5ICpwaHksIHVuaW9uIHBoeV9jb25maWd1cmVfb3B0 cyAqb3B0cykKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludAorbWl4ZWxfZHBoeV9jb25maWd1 cmVfbHZkc19waHkoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBwaHlfY29uZmlndXJlX29wdHMgKm9w dHMpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShw aHkpOworCXN0cnVjdCBwaHlfY29uZmlndXJlX29wdHNfbHZkcyAqbHZkc19vcHRzID0gJm9wdHMt Pmx2ZHM7CisJdW5zaWduZWQgbG9uZyBkYXRhX3JhdGU7CisJdW5zaWduZWQgbG9uZyBmdmNvOwor CXUzMiByc2M7CisJdTMyIGNvOworCWludCByZXQ7CisKKwlwcml2LT5pc19zbGF2ZSA9IGx2ZHNf b3B0cy0+aXNfc2xhdmU7CisKKwkvKiBMVkRTIGludGVyZmFjZSBwaW5zICovCisJcmVnbWFwX3dy aXRlKHByaXYtPmx2ZHNfcmVnbWFwLCBQSFlfQ1RSTCwgQ0NNKDB4NSkgfCBDQSgweDQpIHwgUkZC KTsKKworCS8qIGVuYWJsZSBNT0RFOCBvbmx5IGZvciBzbGF2ZSBMVkRTIFBIWSAqLworCXJzYyA9 IHByaXYtPmlkID8gSU1YX1NDX1JfTUlQSV8xIDogSU1YX1NDX1JfTUlQSV8wOworCXJldCA9IGlt eF9zY19taXNjX3NldF9jb250cm9sKHByaXYtPmlwY19oYW5kbGUsIHJzYywgSU1YX1NDX0NfRFVB TF9NT0RFLAorCQkJCSAgICAgIGx2ZHNfb3B0cy0+aXNfc2xhdmUpOworCWlmIChyZXQpIHsKKwkJ ZGV2X2VycigmcGh5LT5kZXYsICJGYWlsZWQgdG8gY29uZmlndXJlIE1PREU4OiAlZFxuIiwgcmV0 KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkvKgorCSAqIENob29zZSBhbiBhcHByb3ByaWF0ZSBk aXZpZGVyIHJhdGlvIHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50IG9mCisJICogUExMIFZDTyBmcmVx dWVuY3kgcmFuZ2UuCisJICoKKwkgKiAgLS0tLS0gIDY0ME1IeiB+IDE1MDBNSHogICAtLS0tLS0t LS0tLS0gICAgICAtLS0tLS0tLS0tLS0tLS0KKwkgKiB8IFZDTyB8IC0tLS0tLS0tLS0tLS0tLS0+ IHwgQ08gZGl2aWRlciB8IC0+IHwgTFZEUyBkYXRhIHJhdGV8CisJICogIC0tLS0tICAgICAgIEZW Q08gICAgICAgICAgLS0tLS0tLS0tLS0tICAgICAgLS0tLS0tLS0tLS0tLS0tCisJICogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMS8yLzQvOCBkaXYgICAgIDcgKiBkaWZmZXJlbnRpYWxfY2xr X3JhdGUKKwkgKi8KKwlkYXRhX3JhdGUgPSA3ICogbHZkc19vcHRzLT5kaWZmZXJlbnRpYWxfY2xr X3JhdGU7CisJZm9yIChjbyA9IDE7IGNvIDw9IDg7IGNvICo9IDIpIHsKKwkJZnZjbyA9IGRhdGFf cmF0ZSAqIGNvOworCisJCWlmIChmdmNvID49IE1JTl9WQ09fRlJFUSkKKwkJCWJyZWFrOworCX0K KworCWlmIChmdmNvIDwgTUlOX1ZDT19GUkVRIHx8IGZ2Y28gPiBNQVhfVkNPX0ZSRVEpIHsKKwkJ ZGV2X2VycigmcGh5LT5kZXYsICJWQ08gZnJlcXVlbmN5ICVsdSBpcyBvdXQgb2YgcmFuZ2VcbiIs IGZ2Y28pOworCQlyZXR1cm4gLUVSQU5HRTsKKwl9CisKKwkvKgorCSAqIENPIGlzIGNvbmZpZ3Vy YWJsZSwgd2hpbGUgQ04gYW5kIENNIGFyZSBub3QsCisJICogYXMgZml4ZWQgcmF0aW9zIDEgYW5k IDcgYXJlIGFwcGxpZWQgcmVzcGVjdGl2ZWx5LgorCSAqLworCXBoeV93cml0ZShwaHksIF9fZmZz KGNvKSwgRFBIWV9DTyk7CisKKwkvKiBzZXQgcmVmZXJlbmNlIGNsb2NrIHJhdGUgKi8KKwljbGtf c2V0X3JhdGUocHJpdi0+cGh5X3JlZl9jbGssIGx2ZHNfb3B0cy0+ZGlmZmVyZW50aWFsX2Nsa19y YXRlKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbWl4ZWxfZHBoeV9jb25maWd1 cmUoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBwaHlfY29uZmlndXJlX29wdHMgKm9wdHMpCit7CisJ aWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9NSVBJX0RQSFkpCisJCXJldHVybiBtaXhl bF9kcGh5X2NvbmZpZ3VyZV9taXBpX2RwaHkocGh5LCBvcHRzKTsKKwllbHNlIGlmIChwaHktPmF0 dHJzLm1vZGUgPT0gUEhZX01PREVfTFZEUykKKwkJcmV0dXJuIG1peGVsX2RwaHlfY29uZmlndXJl X2x2ZHNfcGh5KHBoeSwgb3B0cyk7CisKKwlkZXZfZXJyKCZwaHktPmRldiwKKwkJIkZhaWxlZCB0 byBjb25maWd1cmUgUEhZIHdpdGggaW52YWxpZCBQSFkgbW9kZTogJWRcbiIsCisJCQkJCQkJcGh5 LT5hdHRycy5tb2RlKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludAorbWl4ZWxf ZHBoeV92YWxpZGF0ZV9sdmRzX3BoeShzdHJ1Y3QgcGh5ICpwaHksIHVuaW9uIHBoeV9jb25maWd1 cmVfb3B0cyAqb3B0cykKK3sKKwlzdHJ1Y3QgcGh5X2NvbmZpZ3VyZV9vcHRzX2x2ZHMgKmx2ZHNf Y2ZnID0gJm9wdHMtPmx2ZHM7CisKKwlpZiAobHZkc19jZmctPmJpdHNfcGVyX2xhbmVfYW5kX2Rj bGtfY3ljbGUgIT0gNykgeworCQlkZXZfZXJyKCZwaHktPmRldiwgIkludmFsaWQgYml0cyBwZXIg TFZEUyBkYXRhIGxhbmU6ICV1XG4iLAorCQkJCQlsdmRzX2NmZy0+Yml0c19wZXJfbGFuZV9hbmRf ZGNsa19jeWNsZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChsdmRzX2NmZy0+bGFu ZXMgIT0gNCkgeworCQlkZXZfZXJyKCZwaHktPmRldiwgIkludmFsaWQgTFZEUyBkYXRhIGxhbmVz OiAldVxuIiwKKwkJCQkJCWx2ZHNfY2ZnLT5sYW5lcyk7CisJCXJldHVybiAtRUlOVkFMOworCX0K KworCWlmIChsdmRzX2NmZy0+ZGlmZmVyZW50aWFsX2Nsa19yYXRlIDwgTUlOX0xWRFNfUkVGQ0xL X0ZSRVEgfHwKKwkgICAgbHZkc19jZmctPmRpZmZlcmVudGlhbF9jbGtfcmF0ZSA+IE1BWF9MVkRT X1JFRkNMS19GUkVRKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LAorCQkJIkludmFsaWQgTFZEUyBk aWZmZXJlbnRpYWwgY2xvY2sgcmF0ZTogJWx1XG4iLAorCQkJCQlsdmRzX2NmZy0+ZGlmZmVyZW50 aWFsX2Nsa19yYXRlKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisK IHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV92YWxpZGF0ZShzdHJ1Y3QgcGh5ICpwaHksIGVudW0gcGh5 X21vZGUgbW9kZSwgaW50IHN1Ym1vZGUsCiAJCQkgICAgICAgdW5pb24gcGh5X2NvbmZpZ3VyZV9v cHRzICpvcHRzKQogewotCXN0cnVjdCBtaXhlbF9kcGh5X2NmZyBjZmcgPSB7IDAgfTsKKwlpZiAo bW9kZSA9PSBQSFlfTU9ERV9NSVBJX0RQSFkpIHsKKwkJc3RydWN0IG1peGVsX2RwaHlfY2ZnIG1p cGlfZHBoeV9jZmcgPSB7IDAgfTsKIAotCWlmIChtb2RlICE9IFBIWV9NT0RFX01JUElfRFBIWSkK LQkJcmV0dXJuIC1FSU5WQUw7CisJCXJldHVybiBtaXhlbF9kcGh5X2NvbmZpZ19mcm9tX29wdHMo cGh5LCAmb3B0cy0+bWlwaV9kcGh5LAorCQkJCQkJCSZtaXBpX2RwaHlfY2ZnKTsKKwl9IGVsc2Ug aWYgKG1vZGUgPT0gUEhZX01PREVfTFZEUykgeworCQlyZXR1cm4gbWl4ZWxfZHBoeV92YWxpZGF0 ZV9sdmRzX3BoeShwaHksIG9wdHMpOworCX0KIAotCXJldHVybiBtaXhlbF9kcGh5X2NvbmZpZ19m cm9tX29wdHMocGh5LCAmb3B0cy0+bWlwaV9kcGh5LCAmY2ZnKTsKKwlkZXZfZXJyKCZwaHktPmRl diwKKwkJIkZhaWxlZCB0byB2YWxpZGF0ZSBQSFkgd2l0aCBpbnZhbGlkIFBIWSBtb2RlOiAlZFxu IiwgbW9kZSk7CisJcmV0dXJuIC1FSU5WQUw7CiB9CiAKIHN0YXRpYyBpbnQgbWl4ZWxfZHBoeV9p bml0KHN0cnVjdCBwaHkgKnBoeSkKQEAgLTM3MywyNyArNTEwLDc1IEBAIHN0YXRpYyBpbnQgbWl4 ZWxfZHBoeV9leGl0KHN0cnVjdCBwaHkgKnBoeSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlu dCBtaXhlbF9kcGh5X3Bvd2VyX29uKHN0cnVjdCBwaHkgKnBoeSkKK3N0YXRpYyBpbnQgbWl4ZWxf ZHBoeV9wb3dlcl9vbl9taXBpX2RwaHkoc3RydWN0IHBoeSAqcGh5KQogewogCXN0cnVjdCBtaXhl bF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKIAl1MzIgbG9ja2VkOwog CWludCByZXQ7CiAKLQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUocHJpdi0+cGh5X3JlZl9jbGsp OwotCWlmIChyZXQgPCAwKQotCQlyZXR1cm4gcmV0OwotCiAJcGh5X3dyaXRlKHBoeSwgUFdSX09O LCBEUEhZX1BEX1BMTCk7CiAJcmV0ID0gcmVnbWFwX3JlYWRfcG9sbF90aW1lb3V0KHByaXYtPnJl Z21hcCwgRFBIWV9MT0NLLCBsb2NrZWQsCiAJCQkJICAgICAgIGxvY2tlZCwgUExMX0xPQ0tfU0xF RVAsCiAJCQkJICAgICAgIFBMTF9MT0NLX1RJTUVPVVQpOwogCWlmIChyZXQgPCAwKSB7CiAJCWRl dl9lcnIoJnBoeS0+ZGV2LCAiQ291bGQgbm90IGdldCBEUEhZIGxvY2sgKCVkKSFcbiIsIHJldCk7 Ci0JCWdvdG8gY2xvY2tfZGlzYWJsZTsKKwkJcmV0dXJuIHJldDsKIAl9CiAJcGh5X3dyaXRlKHBo eSwgUFdSX09OLCBEUEhZX1BEX0RQSFkpOwogCiAJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg bWl4ZWxfZHBoeV9wb3dlcl9vbl9sdmRzX3BoeShzdHJ1Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0 IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCXUzMiBsb2Nr ZWQ7CisJaW50IHJldDsKKworCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5sdmRzX3JlZ21hcCwg UEhZX0NUUkwsIExWRFNfRU4sIExWRFNfRU4pOworCisJcGh5X3dyaXRlKHBoeSwgUFdSX09OLCBE UEhZX1BEX0RQSFkpOworCXBoeV93cml0ZShwaHksIFBXUl9PTiwgRFBIWV9QRF9QTEwpOworCisJ LyogZG8gbm90IHdhaXQgZm9yIHNsYXZlIExWRFMgUEhZIGJlaW5nIGxvY2tlZCAqLworCWlmIChw cml2LT5pc19zbGF2ZSkKKwkJcmV0dXJuIDA7CisKKwlyZXQgPSByZWdtYXBfcmVhZF9wb2xsX3Rp bWVvdXQocHJpdi0+cmVnbWFwLCBEUEhZX0xPQ0ssIGxvY2tlZCwKKwkJCQkgICAgICAgbG9ja2Vk LCBQTExfTE9DS19TTEVFUCwKKwkJCQkgICAgICAgUExMX0xPQ0tfVElNRU9VVCk7CisJaWYgKHJl dCA8IDApIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJDb3VsZCBub3QgZ2V0IExWRFMgUEhZIGxv Y2sgKCVkKSFcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbihzdHJ1Y3QgcGh5ICpwaHkpCit7CisJc3Ry dWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCWludCBy ZXQ7CisKKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUocHJpdi0+cGh5X3JlZl9jbGspOworCWlm IChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJaWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlf TU9ERV9NSVBJX0RQSFkpIHsKKwkJcmV0ID0gbWl4ZWxfZHBoeV9wb3dlcl9vbl9taXBpX2RwaHko cGh5KTsKKwl9IGVsc2UgaWYgKHBoeS0+YXR0cnMubW9kZSA9PSBQSFlfTU9ERV9MVkRTKSB7CisJ CXJldCA9IG1peGVsX2RwaHlfcG93ZXJfb25fbHZkc19waHkocGh5KTsKKwl9IGVsc2UgeworCQlk ZXZfZXJyKCZwaHktPmRldiwKKwkJCSJGYWlsZWQgdG8gcG93ZXIgb24gUEhZIHdpdGggaW52YWxp ZCBQSFkgbW9kZTogJWRcbiIsCisJCQkJCQkJcGh5LT5hdHRycy5tb2RlKTsKKwkJcmV0ID0gLUVJ TlZBTDsKKwl9CisKKwlpZiAocmV0KQorCQlnb3RvIGNsb2NrX2Rpc2FibGU7CisKKwlyZXR1cm4g MDsKIGNsb2NrX2Rpc2FibGU6CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPnBoeV9yZWZf Y2xrKTsKIAlyZXR1cm4gcmV0OwpAQCAtNDA2LDE2ICs1OTEsNTEgQEAgc3RhdGljIGludCBtaXhl bF9kcGh5X3Bvd2VyX29mZihzdHJ1Y3QgcGh5ICpwaHkpCiAJcGh5X3dyaXRlKHBoeSwgUFdSX09G RiwgRFBIWV9QRF9QTEwpOwogCXBoeV93cml0ZShwaHksIFBXUl9PRkYsIERQSFlfUERfRFBIWSk7 CiAKKwlpZiAocGh5LT5hdHRycy5tb2RlID09IFBIWV9NT0RFX0xWRFMpCisJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5sdmRzX3JlZ21hcCwgUEhZX0NUUkwsIExWRFNfRU4sIDApOworCiAJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPnBoeV9yZWZfY2xrKTsKIAogCXJldHVybiAwOwogfQog CitzdGF0aWMgaW50IG1peGVsX2RwaHlfc2V0X21vZGUoc3RydWN0IHBoeSAqcGh5LCBlbnVtIHBo eV9tb2RlIG1vZGUsIGludCBzdWJtb2RlKQoreworCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnBy aXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKKwlpbnQgcmV0OworCisJaWYgKHByaXYtPmRldmRh dGEtPmlzX2NvbWJvICYmIG1vZGUgIT0gUEhZX01PREVfTFZEUykgeworCQlkZXZfZXJyKCZwaHkt PmRldiwgIkZhaWxlZCB0byBzZXQgUEhZIG1vZGUgZm9yIGNvbWJvIFBIWVxuIik7CisJCXJldHVy biAtRUlOVkFMOworCX0KKworCWlmICghcHJpdi0+ZGV2ZGF0YS0+aXNfY29tYm8gJiYgbW9kZSAh PSBQSFlfTU9ERV9NSVBJX0RQSFkpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJGYWlsZWQgdG8g c2V0IFBIWSBtb2RlIHRvIE1JUEkgRFBIWVxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CWlmIChwcml2LT5kZXZkYXRhLT5pc19jb21ibykgeworCQl1MzIgcnNjID0gcHJpdi0+aWQgPyBJ TVhfU0NfUl9NSVBJXzEgOiBJTVhfU0NfUl9NSVBJXzA7CisKKwkJcmV0ID0gaW14X3NjX21pc2Nf c2V0X2NvbnRyb2wocHJpdi0+aXBjX2hhbmRsZSwKKwkJCQkJICAgICAgcnNjLCBJTVhfU0NfQ19N T0RFLAorCQkJCQkgICAgICBtb2RlID09IFBIWV9NT0RFX0xWRFMpOworCQlpZiAocmV0KSB7CisJ CQlkZXZfZXJyKCZwaHktPmRldiwKKwkJCQkiRmFpbGVkIHRvIHNldCBQSFkgbW9kZSB2aWEgU0NV IGlwYzogJWRcbiIsIHJldCk7CisJCQlyZXR1cm4gcmV0OworCQl9CisJfQorCisJcmV0dXJuIDA7 Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5X29wcyBtaXhlbF9kcGh5X3BoeV9vcHMgPSB7 CiAJLmluaXQgPSBtaXhlbF9kcGh5X2luaXQsCiAJLmV4aXQgPSBtaXhlbF9kcGh5X2V4aXQsCiAJ LnBvd2VyX29uID0gbWl4ZWxfZHBoeV9wb3dlcl9vbiwKIAkucG93ZXJfb2ZmID0gbWl4ZWxfZHBo eV9wb3dlcl9vZmYsCisJLnNldF9tb2RlID0gbWl4ZWxfZHBoeV9zZXRfbW9kZSwKIAkuY29uZmln dXJlID0gbWl4ZWxfZHBoeV9jb25maWd1cmUsCiAJLnZhbGlkYXRlID0gbWl4ZWxfZHBoeV92YWxp ZGF0ZSwKIAkub3duZXIgPSBUSElTX01PRFVMRSwKQEAgLTQyNCw2ICs2NDQsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHBoeV9vcHMgbWl4ZWxfZHBoeV9waHlfb3BzID0gewogc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWl4ZWxfZHBoeV9vZl9tYXRjaFtdID0gewogCXsgLmNvbXBh dGlibGUgPSAiZnNsLGlteDhtcS1taXBpLWRwaHkiLAogCSAgLmRhdGEgPSAmbWl4ZWxfZHBoeV9k ZXZkYXRhW01JWEVMX0lNWDhNUV0gfSwKKwl7IC5jb21wYXRpYmxlID0gImZzbCxpbXg4cXhwLW1p cGktZHBoeSIsCisJICAuZGF0YSA9ICZtaXhlbF9kcGh5X2RldmRhdGFbTUlYRUxfSU1YOFFYUF0g fSwKIAl7IC8qIHNlbnRpbmVsICovIH0sCiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbWl4 ZWxfZHBoeV9vZl9tYXRjaCk7CkBAIC00MzYsNiArNjU4LDcgQEAgc3RhdGljIGludCBtaXhlbF9k cGh5X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJc3RydWN0IG1peGVsX2Rw aHlfcHJpdiAqcHJpdjsKIAlzdHJ1Y3QgcGh5ICpwaHk7CiAJdm9pZCBfX2lvbWVtICpiYXNlOwor CWludCByZXQ7CiAKIAlpZiAoIW5wKQogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTQ2Nyw2ICs2OTAs MzAgQEAgc3RhdGljIGludCBtaXhlbF9kcGh5X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCiAJZGV2X2RiZyhkZXYsICJwaHlfcmVmIGNsb2NrIHJhdGU6ICVsdVxuIiwKIAkJY2xr X2dldF9yYXRlKHByaXYtPnBoeV9yZWZfY2xrKSk7CiAKKwlpZiAocHJpdi0+ZGV2ZGF0YS0+aXNf Y29tYm8pIHsKKwkJcHJpdi0+bHZkc19yZWdtYXAgPQorCQkJc3lzY29uX3JlZ21hcF9sb29rdXBf YnlfcGhhbmRsZShucCwgImZzbCxzeXNjb24iKTsKKwkJaWYgKElTX0VSUihwcml2LT5sdmRzX3Jl Z21hcCkpIHsKKwkJCXJldCA9IFBUUl9FUlIocHJpdi0+bHZkc19yZWdtYXApOworCQkJZGV2X2Vy cl9wcm9iZShkZXYsIHJldCwgIkZhaWxlZCB0byBnZXQgTFZEUyByZWdtYXBcbiIpOworCQkJcmV0 dXJuIHJldDsKKwkJfQorCisJCXByaXYtPmlkID0gb2ZfYWxpYXNfZ2V0X2lkKG5wLCAibWlwaV9k cGh5Iik7CisJCWlmIChwcml2LT5pZCA8IDApIHsKKwkJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRv IGdldCBwaHkgbm9kZSBhbGlhcyBpZDogJWRcbiIsCisJCQkJCQkJCSBwcml2LT5pZCk7CisJCQly ZXR1cm4gcHJpdi0+aWQ7CisJCX0KKworCQlyZXQgPSBpbXhfc2N1X2dldF9oYW5kbGUoJnByaXYt PmlwY19oYW5kbGUpOworCQlpZiAocmV0KSB7CisJCQlkZXZfZXJyX3Byb2JlKGRldiwgcmV0LAor CQkJCSAgICAgICJGYWlsZWQgdG8gZ2V0IFNDVSBpcGMgaGFuZGxlXG4iKTsKKwkJCXJldHVybiBy ZXQ7CisJCX0KKwl9CisKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBwcml2KTsKIAogCXBoeSA9IGRl dm1fcGh5X2NyZWF0ZShkZXYsIG5wLCAmbWl4ZWxfZHBoeV9waHlfb3BzKTsKLS0gCjIuNy40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=