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 9234DC4332F for ; Tue, 12 Dec 2023 18:32: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:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MP2wDJrpy6gSGzxKQCi6sQwOjL3nlvIN1W3qIbf8CQM=; b=j7/ILOMP7bQdam +oUBZpyhjXkp7J0M/o8D3ABQlZQIVBmk6We1bwy7fX736KS9aJ6yTOpY3qF0+oBvYY6VpDmzx9Dpr eN/HMrdlDtZ4pJXaM4rpgdTgLqPCrwUZ4/mK93hMysa2Y+fOguD9JozE4xQov1dmR2eS9muBnkJbR WZByv50qY4UxPb+my46IsrGDWc4fr3jb96YK0JGyMuVRw4XKinBrBHMRizGJRj3p0gRSr4hgBIxYt AFapNUK8gVqpitWM15dkaLTgdH3KzYl+YzNnZ1gYEeFPdlJibtVkD9m5OCPsgel1T5m1wmeCBcRr6 7kmmgvc9XDEQ8oildkAA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rD7YX-00CVYj-1F; Tue, 12 Dec 2023 18:32:33 +0000 Received: from mail-vi1eur05on20603.outbound.protection.outlook.com ([2a01:111:f400:7d00::603] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rD7YU-00CVY3-0Z for linux-arm-kernel@lists.infradead.org; Tue, 12 Dec 2023 18:32:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b8mHU3pxdqB1QC1m52tMbzUUQjer1ET3v3JrvpE8z3w63ZpXAhg/jFtUcHOrgwtCTqN2s/bMCUrAUQt1ALR73LN8zbegQ2mKmINy5m3cxOMOwPFbsonm58ekkX0gA+lxwPO0XnV7j8Mtvbpw6pcS/PVIWCFq9n3yEFJW/tpYGK6/0t7E8f9t91RQJpmEy73zh5eL5tJCA2bZHyN7scJMFJB19ls29B3SPBfchWeRr1tY9Ba3HQBDQhenBYNgNAS1pBJTM1Eo9ZmD13/MAy2i+ORwmL7B7/GIB1OAXHK17ZundOiiOMHXU36mh/a7HZpYf9u3C7RyMoX+0TatCHskJg== 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=z4hFilGVkLG7hv3Y6u/dmWlllUmCVa6jIGddL5yxCAg=; b=IgziUxaoIFMmCVNwb3Awu7Q0djyEffKuzJchFvakcS/caooF51Jd7Ppv/zt9ocVMwOkqjUp/CRr5eEzF9X78IHMtd+feyQWMgnxNgOIbVFXtqsyXjjkTFfOTSc66BrAtd+OSp/gO27Nj/7WJL4pVG3XoC6Xo/kBix91/w8gncMYEM3OMq5JI48peFmP8oCoEXGk4hKOYJ4VGAP2nijBFDR4pIxbW7rgJ13Ubj/qDJx+cfOKnkfU/pN3AFi7bYe1DmTR8vT3ydMOVgbZgbo8Ai+syNaMzUdwSripCCam6iXuGf2ROxGsPNPRzRE5cspJWgyWRaGptPlmDDCFd9Q4IwA== 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=z4hFilGVkLG7hv3Y6u/dmWlllUmCVa6jIGddL5yxCAg=; b=nlo90P0OaAhLEtzUf/oYumNUo/4EKud3Sv/XLgLypQRPaiSzSRkHUJDNB2729ZFnJNJvhXJydcStViwUtoaA3OpPeUDdhxw8wz6SiNtjOZxteJmAcjJNJnThE+WxSzOpBaXTrHIrh22YshC2hKa8oaO6iu8h7vpsFUY9mtzxyDQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DU0PR04MB9587.eurprd04.prod.outlook.com (2603:10a6:10:317::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Tue, 12 Dec 2023 18:32:21 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%6]) with mapi id 15.20.7068.033; Tue, 12 Dec 2023 18:32:21 +0000 Date: Tue, 12 Dec 2023 13:32:11 -0500 From: Frank Li To: Manivannan Sadhasivam Cc: bhelgaas@google.com, conor+dt@kernel.org, devicetree@vger.kernel.org, festevam@gmail.com, helgaas@kernel.org, hongxing.zhu@nxp.com, imx@lists.linux.dev, kernel@pengutronix.de, krzysztof.kozlowski+dt@linaro.org, kw@linux.com, l.stach@pengutronix.de, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lpieralisi@kernel.org, robh@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org Subject: Re: [PATCH v3 01/13] PCI: imx6: Simplify clock handling by using HAS_CLK_* bitmask Message-ID: References: <20231211215842.134823-1-Frank.Li@nxp.com> <20231211215842.134823-2-Frank.Li@nxp.com> <20231212164913.GA21240@thinkpad> Content-Disposition: inline In-Reply-To: <20231212164913.GA21240@thinkpad> X-ClientProxiedBy: BY3PR10CA0007.namprd10.prod.outlook.com (2603:10b6:a03:255::12) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DU0PR04MB9587:EE_ X-MS-Office365-Filtering-Correlation-Id: bb622771-3bcc-453c-ef70-08dbfb40ad88 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Jn1Pnj/PbdCwat4eRpLf2Us+r7WeB8VV9lFmg6ox1SpoLWu1svj8fvTBA3kMjAyzJej6p0lyhoBALGPYYnhBvOo2n/AoB8VO2RCzbWLmUXXXtGw/FI4OKR6nG4rh4UYt3cAO10EoKSJDyMXfawFtQndBucunwNgZFKh+PbIyMm0eZNHMn5eGzQflrykxCys3OJhyGb4RBswElAl1H05Mx0nTbBvDUwflky5w1wVrU7TXfoQh/7UXZTBof8RfgQG1pfN3/65p9aKhVLUHzkHdmfiJVx3eOdwC1mzja0hJKrgonSol/q+Sc6H/0T3SSXjeWP+C6xryWLtH/M5RwLgEKDLJZxFRiX0B4u/ssIBg3P6/tud/N/UiWN6LIXqeHRnHeUttmuaeJCl8dnqs/++9sFQ0D0SbL1qXlR3dIuKXMat9lzTGi5bBlGQlq81uncEJ3+V4aWLc/8VYSkE7xYwukfLib2mywejsbU7IO6eeMWB/vb7dd5h9ExUw/JThMa/e1u9KPVzGzUULz82E9YPeuBsjQKrlJALfpcIQqlZ1IAyf6DFo8AnLIthQg5bI8cpgwsLF4xFB+ultJ7qsUSKHZIdo8TLsdtg3J8EYCp4S0MaDb4XqGGA6i7BdoXdbDxN+ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7916004)(136003)(346002)(366004)(376002)(39860400002)(396003)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(66899024)(6506007)(6486002)(26005)(6512007)(6666004)(52116002)(478600001)(9686003)(38350700005)(38100700002)(86362001)(41300700001)(33716001)(2906002)(5660300002)(66476007)(66946007)(6916009)(7416002)(83380400001)(8936002)(4326008)(8676002)(316002)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cjFBWStzeTlUS3hHYVBvb0Y5dlQwUUNIeXgrK0lvRCs0RlVvaWNudDN3QTVu?= =?utf-8?B?QUV4TjlSemhZYlBRQjJscmdWaEc3UGNMR09aM2psZXFDUVBGZjc1bHB6Zldn?= =?utf-8?B?SHpNWERzWnZuRHlvZzA0SkJ5czAyV3ZMRlFNd2tkQ0oxSVhqQ1dtc2RtdjRl?= =?utf-8?B?MnFnQjNkdmpiUU1FYW9UazZwRWZIM211bHZBWVI5bHVadldCbmpoYjk4cE1l?= =?utf-8?B?RFlrYTBpK0pESVF2Y3dqd090WnBjN3h2aXlQNWhRbmttREQybDE0UFBKWnVj?= =?utf-8?B?UTEyVEFuZ1kvS0VHTFVCUmZyY1c1cFlHR01YbEI3aC95ckFYQnVMZ3ZPNmNy?= =?utf-8?B?eUhwcmFPZ2l2Ujk4SGlCdHFwcFJjTHhVUUkxb1ZaaHg3V01KSXprT1RCSUpK?= =?utf-8?B?V3RFbStiYmFPWHJ1RmJUZmNzbFlLMndCNnRLeGlRNjhHYTVhYmhHa2ZXMlJW?= =?utf-8?B?bzVGTUo0dFZoS0hZRHIxbnlSSENiVjVmTDFIYkxCcnJmY0NEZCtZMHNnZFBk?= =?utf-8?B?MER5NmY3ZHFSK295S3hRazZobXRCYmpKVDJpRW1wZlZTcUNUTzVSa2dmeVNl?= =?utf-8?B?Vk1KeHNOcDZYT3A0cVk3djRlTC9NMkxsT2hwTWNyOUhSQjdnV1k5eklxbXFN?= =?utf-8?B?SWdCNVBJTnZLZHJvNlJiTkpDWURMTnhLMUtSSWdDTVpLRUtVT1RqK010enBV?= =?utf-8?B?MW0wL2gzMU5ya1RZN3lsWWY4OVJPTWNYTS9tMi9JY2U3aklHb2pnM2t2bDlq?= =?utf-8?B?ZG5vUzBSL3BDOU5SS3FiQVB5TVJsb2s3TG5Sc1lxNFRJb0owdFhWc3N3NE1I?= =?utf-8?B?ZXZwbmp5NWxBNForWlIyamVFMWZZVkgvZEhzM1c4czFNWmJDYWk5V25lU2h6?= =?utf-8?B?TzVKS3h3UkJWcDlrbC9zSmdJMys1aU9TU1dtUVFCOGdraUsveEV2K2d3blJr?= =?utf-8?B?NXo0NXEwRWwxNlF5SUx2RlMzTlZkd2MxaHg0NTJNNXhYbUNqSmJaQjB6UkJr?= =?utf-8?B?QTRuUVM4UmVhRjBra2c3N05vc0pJVEVTUkRvbmtKa1gyUHdzMTF4bEgvWXBp?= =?utf-8?B?OEtoMEswd00xNTFsbDVlTXRGVUE4RlhPRmlyTW5JY1lJenFJdThFeW9WQmVL?= =?utf-8?B?ejRnNysyWmJjWHdIb3hsNWtMOUJnK092N0dac21LY2tDck95djg3eFVUSk5N?= =?utf-8?B?Y0lWOTF0eWpuNXFWYk81T1BWRWpUTUcvQTR6Z2pOMStYNUIxMGcyeXNuamZO?= =?utf-8?B?a25RR0lIT25tckVhQ0xoN1RjeFBoMzNROEV6eld1MDVodDROeC9MQWJXd0hG?= =?utf-8?B?bHRrQ2E1UFdkZFl1WWFSdkt2eEt0L1ZtcmVpYlJWS3FLbWhBV040NUxsVjRT?= =?utf-8?B?VzJqb0NKaWZ3L1FGdjE1blVBY1o0aUxHd1lmN09sa0g0QXF5V3hESlp0dHR3?= =?utf-8?B?aDQydEJLdThTSmtyc3hXOHU2d0Z0NmxTM3VmaGpmMERnM3FrTHJ1SjJMbWty?= =?utf-8?B?bEtGS0NxTXhnRUZrMFhWYklyQ0xrMFRLbEVlaUJCUjlGMk9NbDgrU1pHU1pF?= =?utf-8?B?OEZxa0p1TCtLaXJEWCtLci9iWWNQczYxdTJ4TmQ1UmtUM3gvSmNWeENpdkZF?= =?utf-8?B?ZXUwSGNGN21NSWtlVExzK2lMNnJFYXRMeE94UzJCa2tJMThlRFR6bkVwb2tN?= =?utf-8?B?aEgrdFNQWEV5SFBTV2F1SFVGK2ltSjJqZmp6UGwxVEUzZXlLQzNTbC9nd2RQ?= =?utf-8?B?aTVJd3o3dmJNOXI5eUxwSGt3RjFBVXUvbVdwcTdoS0xlQmxpYzYxTUs5S2t3?= =?utf-8?B?cVlZaGk4U0cxd3FWSzc1RitiZ3RvWnFYSk1BSW9vM0NkVHZaUkR4Qy9OUk95?= =?utf-8?B?SWlubFlIR2NZNXEzL09RSVp1OTkvNHljKys1NlptMnZodDhvalJ6ay9ueFYz?= =?utf-8?B?NmE1SlB4RFNnR3BvQkEreldFVHo1a2xVNWpIa1B0N3NOZXJMekZQYVU5TEtu?= =?utf-8?B?MVV1bE1SQmhhdFFOYlMrZUZQaWhLblhwUk8zTFFXT0VuK3dDMHUwbmp4bWcw?= =?utf-8?B?VGRzKzI2RDVaK3ZUOXBHNWY4NWZDdCttVnkxU3RHVmpLR0U3WnVBRmluQkda?= =?utf-8?Q?Ni1E=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb622771-3bcc-453c-ef70-08dbfb40ad88 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2023 18:32:21.2638 (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: gcQDnL1TUB3tZIuxqmDR+UoHsx8OlGjoD3iIzUJ67v0/anX6mHiKwzwwH0dYallpZIvaYrsY0in4BsgXJgfAyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9587 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231212_103230_480771_F3EEDD43 X-CRM114-Status: GOOD ( 35.31 ) 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 T24gVHVlLCBEZWMgMTIsIDIwMjMgYXQgMTA6MTk6MTNQTSArMDUzMCwgTWFuaXZhbm5hbiBTYWRo YXNpdmFtIHdyb3RlOgo+IE9uIE1vbiwgRGVjIDExLCAyMDIzIGF0IDA0OjU4OjMwUE0gLTA1MDAs IEZyYW5rIExpIHdyb3RlOgo+ID4gUmVmYWN0b3JzIHRoZSBjbG9jayBoYW5kbGluZyBsb2dpYyBp biB0aGUgaW14NiBQQ0kgZHJpdmVyIGJ5IGFkZGluZwo+ID4gSEFTX0NMS18qIGJpdG1hc2sgZGVm aW5lIGZvciBkcnZkYXRhOjpmbGFncyAuIFNpbXBsaWZpZXMgdGhlIGNvZGUgYW5kIG1ha2VzCj4g PiBpdCBtb3JlIG1haW50YWluYWJsZSwgYXMgZnV0dXJlIGFkZGl0aW9ucyBvZiBTT0Mgc3VwcG9y dCB3aWxsIG9ubHkgcmVxdWlyZQo+ID4gc3RyYWlnaHRmb3J3YXJkIGNoYW5nZXMuIFRoZSBkcnZk YXRhOjpmbGFncyBhbmQgYSBiaXRtYXNrIGVuc3VyZXMgYSBjbGVhbmVyCj4gPiBhbmQgbW9yZSBz Y2FsYWJsZSBzd2l0Y2gtY2FzZSBzdHJ1Y3R1cmUgZm9yIGhhbmRsaW5nIGNsb2Nrcy4KPiA+IAo+ IAo+IElzIHRoZXJlIGFueSBuZWNlc3NpdHkgdG8gdmFsaWRhdGUgZWFjaCBjbG9jayBpbiB0aGUg ZHJpdmVyPyBJIG1lYW4sIGNhbid0IHlvdQo+IGp1c3QgcmVseSBvbiBkZXZpY2V0cmVlIHRvIHBy b3ZpZGUgZW5vdWdoIGNsb2NrcyBmb3IgdGhlIGZ1bmN0aW9uaW5nIG9mIHRoZSBQQ0llCj4gY29u dHJvbGxlcj8KPiAKPiBJZiB5b3UgY2FuIHJlbHkgb24gZGV2aWNldHJlZSAoZXZlcnlvbmUgc2hv dWxkIGluIGFuIGlkZWFsIHdvcmxkKSwgdGhlbiB5b3UgY2FuCj4ganVzdCB1c2UgZGV2bV9jbGtf YnVsa19nZXRfYWxsKCkgdG8gZ2V0IGFsbCBhdmFpbGFibGUgY2xvY2tzIGZvciB0aGUgU29DIGFu ZAo+IGp1c3QgZW5hYmxlL2Rpc2FibGUgd2hhdGV2ZXIgaXMgYXZhaWxhYmxlLgo+IAo+IFRoaXMg d2lsbCBncmVhdGx5IHNpbXBsaWZ5IHRoZSBjb2RlLgo+IAo+IE9ubHkgZG93bnNpZGUgb2YgdGhp cyBhcHByb2FjaCBpcywgaWYgdGhlIGRldmljZXRyZWUgaXMgbm90IHN1cHBseWluZyBlbm91Z2gK PiBjbG9ja3MsIHRoZW4gaXQgd2lsbCBiZSBkaWZmaWN1bHQgdG8gZmluZCB3aHkgUENJZSBpcyBu b3Qgd29ya2luZy4gQnV0IHRoaXMgYWxzbwo+IG1lYW5zIHRoYXQgdGhlIGRldmljZXRyZWUgaXMg c2NyZXdlZC4KCkkgaGF2ZSBpZGVhLCBob3cgYWJvdXQgYWRkIGNsayBuYW1lIGFycmF5IGluIGRy dmRhdGEuCgpzdWNoIGFzCiAgICAgIGNsa19uYW1lc1tdID0geyJidXMiLCAiYXV4IiwgImF4aSIs IC4uLn0KICAgICAgY2xrX2NudCA9IDQuCgpUaGVuIHVzZSBkZXZtX2Nsa19ibGtfZ2V0X2FsbCgp LgoKQ29kZSB3aWxsIGJlIHNpbXBsaWVkIGFuZCBub3QgdG9vIG11Y2ggZGVwZW5kIG9uIGRldmlj ZXRyZWUncyB2YWxpZGF0ZS4KCkZyYW5rCgo+IAo+IC0gTWFuaQo+IAo+ID4gU2lnbmVkLW9mZi1i eTogRnJhbmsgTGkgPEZyYW5rLkxpQG54cC5jb20+Cj4gPiAtLS0KPiA+IAo+ID4gTm90ZXM6Cj4g PiAgICAgQ2hhbmdlIGZyb20gdjEgdG8gdjMKPiA+ICAgICAtIG5vbmUKPiA+IAo+ID4gIGRyaXZl cnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMgfCA4NCArKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRp b25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9w Y2ktaW14Ni5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWlteDYuYwo+ID4gaW5k ZXggNzQ3MDMzNjJhZWVjNy4uOGE5YjUyNzkzNGY4MCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv cGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMKPiA+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvZHdjL3BjaS1pbXg2LmMKPiA+IEBAIC02MCw2ICs2MCwxMCBAQCBlbnVtIGlteDZfcGNp ZV92YXJpYW50cyB7Cj4gPiAgI2RlZmluZSBJTVg2X1BDSUVfRkxBR19JTVg2X1BIWQkJCUJJVCgw KQo+ID4gICNkZWZpbmUgSU1YNl9QQ0lFX0ZMQUdfSU1YNl9TUEVFRF9DSEFOR0UJQklUKDEpCj4g PiAgI2RlZmluZSBJTVg2X1BDSUVfRkxBR19TVVBQT1JUU19TVVNQRU5ECQlCSVQoMikKPiA+ICsj ZGVmaW5lIElNWDZfUENJRV9GTEFHX0hBU19DTEtfSU5CT1VORF9BWEkJQklUKDMpCj4gPiArI2Rl ZmluZSBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0FVWAkJQklUKDQpCj4gPiArCj4gPiArI2RlZmlu ZSBpbXg2X2NoZWNrX2ZsYWcocGNpLCB2YWwpCShwY2ktPmRydmRhdGEtPmZsYWdzICYgdmFsKQo+ ID4gIAo+ID4gIHN0cnVjdCBpbXg2X3BjaWVfZHJ2ZGF0YSB7Cj4gPiAgCWVudW0gaW14Nl9wY2ll X3ZhcmlhbnRzIHZhcmlhbnQ7Cj4gPiBAQCAtNTUwLDE5ICs1NTQsMjMgQEAgc3RhdGljIGludCBp bXg2X3BjaWVfYXR0YWNoX3BkKHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ICAKPiA+ICBzdGF0aWMg aW50IGlteDZfcGNpZV9lbmFibGVfcmVmX2NsayhzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3BjaWUp Cj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gaW14Nl9wY2llLT5wY2k7Cj4gPiAt CXN0cnVjdCBkZXZpY2UgKmRldiA9IHBjaS0+ZGV2Owo+ID4gIAl1bnNpZ25lZCBpbnQgb2Zmc2V0 Owo+ID4gIAlpbnQgcmV0ID0gMDsKPiA+ICAKPiA+IC0Jc3dpdGNoIChpbXg2X3BjaWUtPmRydmRh dGEtPnZhcmlhbnQpIHsKPiA+IC0JY2FzZSBJTVg2U1g6Cj4gPiArCWlmIChpbXg2X2NoZWNrX2Zs YWcoaW14Nl9wY2llLCBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0lOQk9VTkRfQVhJKSkgewo+ID4g IAkJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGlteDZfcGNpZS0+cGNpZV9pbmJvdW5kX2F4aSk7 Cj4gPiAtCQlpZiAocmV0KSB7Cj4gPiAtCQkJZGV2X2VycihkZXYsICJ1bmFibGUgdG8gZW5hYmxl IHBjaWVfYXhpIGNsb2NrXG4iKTsKPiA+IC0JCQlicmVhazsKPiA+IC0JCX0KPiA+ICsJCWlmIChy ZXQpCj4gPiArCQkJcmV0dXJuIHJldDsKPiA+ICsJfQo+ID4gIAo+ID4gKwlpZiAoaW14Nl9jaGVj a19mbGFnKGlteDZfcGNpZSwgSU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19BVVgpKSB7Cj4gPiArCQly ZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoaW14Nl9wY2llLT5wY2llX2F1eCk7Cj4gPiArCQlpZiAo cmV0KQo+ID4gKwkJCXJldHVybiByZXQ7Cj4gPiArCX0KPiA+ICsKPiA+ICsJc3dpdGNoIChpbXg2 X3BjaWUtPmRydmRhdGEtPnZhcmlhbnQpIHsKPiA+ICsJY2FzZSBJTVg2U1g6Cj4gPiAgCQlyZWdt YXBfdXBkYXRlX2JpdHMoaW14Nl9wY2llLT5pb211eGNfZ3ByLCBJT01VWENfR1BSMTIsCj4gPiAg CQkJCSAgIElNWDZTWF9HUFIxMl9QQ0lFX1RFU1RfUE9XRVJET1dOLCAwKTsKPiA+ICAJCWJyZWFr Owo+ID4gQEAgLTU4OSwxMiArNTk3LDYgQEAgc3RhdGljIGludCBpbXg2X3BjaWVfZW5hYmxlX3Jl Zl9jbGsoc3RydWN0IGlteDZfcGNpZSAqaW14Nl9wY2llKQo+ID4gIAljYXNlIElNWDhNUV9FUDoK PiA+ICAJY2FzZSBJTVg4TVA6Cj4gPiAgCWNhc2UgSU1YOE1QX0VQOgo+ID4gLQkJcmV0ID0gY2xr X3ByZXBhcmVfZW5hYmxlKGlteDZfcGNpZS0+cGNpZV9hdXgpOwo+ID4gLQkJaWYgKHJldCkgewo+ ID4gLQkJCWRldl9lcnIoZGV2LCAidW5hYmxlIHRvIGVuYWJsZSBwY2llX2F1eCBjbG9ja1xuIik7 Cj4gPiAtCQkJYnJlYWs7Cj4gPiAtCQl9Cj4gPiAtCj4gPiAgCQlvZmZzZXQgPSBpbXg2X3BjaWVf Z3JwX29mZnNldChpbXg2X3BjaWUpOwo+ID4gIAkJLyoKPiA+ICAJCSAqIFNldCB0aGUgb3ZlciBy aWRlIGxvdyBhbmQgZW5hYmxlZAo+ID4gQEAgLTYxNCwxMCArNjE2LDEzIEBAIHN0YXRpYyBpbnQg aW14Nl9wY2llX2VuYWJsZV9yZWZfY2xrKHN0cnVjdCBpbXg2X3BjaWUgKmlteDZfcGNpZSkKPiA+ ICAKPiA+ICBzdGF0aWMgdm9pZCBpbXg2X3BjaWVfZGlzYWJsZV9yZWZfY2xrKHN0cnVjdCBpbXg2 X3BjaWUgKmlteDZfcGNpZSkKPiA+ICB7Cj4gPiAtCXN3aXRjaCAoaW14Nl9wY2llLT5kcnZkYXRh LT52YXJpYW50KSB7Cj4gPiAtCWNhc2UgSU1YNlNYOgo+ID4gKwlpZiAoaW14Nl9jaGVja19mbGFn KGlteDZfcGNpZSwgSU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19JTkJPVU5EX0FYSSkpCj4gPiAgCQlj bGtfZGlzYWJsZV91bnByZXBhcmUoaW14Nl9wY2llLT5wY2llX2luYm91bmRfYXhpKTsKPiA+IC0J CWJyZWFrOwo+ID4gKwo+ID4gKwlpZiAoaW14Nl9jaGVja19mbGFnKGlteDZfcGNpZSwgSU1YNl9Q Q0lFX0ZMQUdfSEFTX0NMS19BVVgpKQo+ID4gKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGlteDZf cGNpZS0+cGNpZV9hdXgpOwo+ID4gKwo+ID4gKwlzd2l0Y2ggKGlteDZfcGNpZS0+ZHJ2ZGF0YS0+ dmFyaWFudCkgewo+ID4gIAljYXNlIElNWDZRUDoKPiA+ICAJY2FzZSBJTVg2UToKPiA+ICAJCXJl Z21hcF91cGRhdGVfYml0cyhpbXg2X3BjaWUtPmlvbXV4Y19ncHIsIElPTVVYQ19HUFIxLAo+ID4g QEAgLTYzMSwxNCArNjM2LDYgQEAgc3RhdGljIHZvaWQgaW14Nl9wY2llX2Rpc2FibGVfcmVmX2Ns ayhzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3BjaWUpCj4gPiAgCQkJCSAgIElNWDdEX0dQUjEyX1BD SUVfUEhZX1JFRkNMS19TRUwsCj4gPiAgCQkJCSAgIElNWDdEX0dQUjEyX1BDSUVfUEhZX1JFRkNM S19TRUwpOwo+ID4gIAkJYnJlYWs7Cj4gPiAtCWNhc2UgSU1YOE1NOgo+ID4gLQljYXNlIElNWDhN TV9FUDoKPiA+IC0JY2FzZSBJTVg4TVE6Cj4gPiAtCWNhc2UgSU1YOE1RX0VQOgo+ID4gLQljYXNl IElNWDhNUDoKPiA+IC0JY2FzZSBJTVg4TVBfRVA6Cj4gPiAtCQljbGtfZGlzYWJsZV91bnByZXBh cmUoaW14Nl9wY2llLT5wY2llX2F1eCk7Cj4gPiAtCQlicmVhazsKPiA+ICAJZGVmYXVsdDoKPiA+ ICAJCWJyZWFrOwo+ID4gIAl9Cj4gPiBAQCAtMTMxNiwyMSArMTMxMywyMSBAQCBzdGF0aWMgaW50 IGlteDZfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gIAkJcmV0 dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGlteDZfcGNpZS0+cGNpZSksCj4gPiAgCQkJ CSAgICAgInBjaWUgY2xvY2sgc291cmNlIG1pc3Npbmcgb3IgaW52YWxpZFxuIik7Cj4gPiAgCj4g PiAtCXN3aXRjaCAoaW14Nl9wY2llLT5kcnZkYXRhLT52YXJpYW50KSB7Cj4gPiAtCWNhc2UgSU1Y NlNYOgo+ID4gLQkJaW14Nl9wY2llLT5wY2llX2luYm91bmRfYXhpID0gZGV2bV9jbGtfZ2V0KGRl diwKPiA+IC0JCQkJCQkJICAgInBjaWVfaW5ib3VuZF9heGkiKTsKPiA+ICsJaWYgKGlteDZfY2hl Y2tfZmxhZyhpbXg2X3BjaWUsIElNWDZfUENJRV9GTEFHX0hBU19DTEtfSU5CT1VORF9BWEkpKSB7 Cj4gPiArCQlpbXg2X3BjaWUtPnBjaWVfaW5ib3VuZF9heGkgPSBkZXZtX2Nsa19nZXQoZGV2LCAi cGNpZV9pbmJvdW5kX2F4aSIpOwo+ID4gIAkJaWYgKElTX0VSUihpbXg2X3BjaWUtPnBjaWVfaW5i b3VuZF9heGkpKQo+ID4gLQkJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihpbXg2 X3BjaWUtPnBjaWVfaW5ib3VuZF9heGkpLAo+ID4gLQkJCQkJICAgICAicGNpZV9pbmJvdW5kX2F4 aSBjbG9jayBtaXNzaW5nIG9yIGludmFsaWRcbiIpOwo+ID4gLQkJYnJlYWs7Cj4gPiAtCWNhc2Ug SU1YOE1ROgo+ID4gLQljYXNlIElNWDhNUV9FUDoKPiA+ICsJCQlkZXZfZXJyX3Byb2JlKGRldiwg UFRSX0VSUihpbXg2X3BjaWUtPnBjaWVfaW5ib3VuZF9heGkpLAo+ID4gKwkJCQkgICAgICAicGNp ZV9pbmJvdW5kX2F4aSBjbG9jayBtaXNzaW5nIG9yIGludmFsaWRcbiIpOwo+ID4gKwl9Cj4gPiAr Cj4gPiArCWlmIChpbXg2X2NoZWNrX2ZsYWcoaW14Nl9wY2llLCBJTVg2X1BDSUVfRkxBR19IQVNf Q0xLX0FVWCkpIHsKPiA+ICAJCWlteDZfcGNpZS0+cGNpZV9hdXggPSBkZXZtX2Nsa19nZXQoZGV2 LCAicGNpZV9hdXgiKTsKPiA+ICAJCWlmIChJU19FUlIoaW14Nl9wY2llLT5wY2llX2F1eCkpCj4g PiAgCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGlteDZfcGNpZS0+cGNpZV9h dXgpLAo+ID4gIAkJCQkJICAgICAicGNpZV9hdXggY2xvY2sgc291cmNlIG1pc3Npbmcgb3IgaW52 YWxpZFxuIik7Cj4gPiAtCQlmYWxsdGhyb3VnaDsKPiA+ICsJfQo+ID4gKwo+ID4gKwlzd2l0Y2gg KGlteDZfcGNpZS0+ZHJ2ZGF0YS0+dmFyaWFudCkgewo+ID4gIAljYXNlIElNWDdEOgo+ID4gIAkJ aWYgKGRiaV9iYXNlLT5zdGFydCA9PSBJTVg4TVFfUENJRTJfQkFTRV9BRERSKQo+ID4gIAkJCWlt eDZfcGNpZS0+Y29udHJvbGxlcl9pZCA9IDE7Cj4gPiBAQCAtMTM1MywxMCArMTM1MCw2IEBAIHN0 YXRpYyBpbnQgaW14Nl9wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g PiAgCWNhc2UgSU1YOE1NX0VQOgo+ID4gIAljYXNlIElNWDhNUDoKPiA+ICAJY2FzZSBJTVg4TVBf RVA6Cj4gPiAtCQlpbXg2X3BjaWUtPnBjaWVfYXV4ID0gZGV2bV9jbGtfZ2V0KGRldiwgInBjaWVf YXV4Iik7Cj4gPiAtCQlpZiAoSVNfRVJSKGlteDZfcGNpZS0+cGNpZV9hdXgpKQo+ID4gLQkJCXJl dHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihpbXg2X3BjaWUtPnBjaWVfYXV4KSwKPiA+ IC0JCQkJCSAgICAgInBjaWVfYXV4IGNsb2NrIHNvdXJjZSBtaXNzaW5nIG9yIGludmFsaWRcbiIp Owo+ID4gIAkJaW14Nl9wY2llLT5hcHBzX3Jlc2V0ID0gZGV2bV9yZXNldF9jb250cm9sX2dldF9l eGNsdXNpdmUoZGV2LAo+ID4gIAkJCQkJCQkJCSAiYXBwcyIpOwo+ID4gIAkJaWYgKElTX0VSUihp bXg2X3BjaWUtPmFwcHNfcmVzZXQpKQo+ID4gQEAgLTE0ODIsNyArMTQ3NSw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaW14Nl9wY2llX2RydmRhdGEgZHJ2ZGF0YVtdID0gewo+ID4gIAkJLnZhcmlh bnQgPSBJTVg2U1gsCj4gPiAgCQkuZmxhZ3MgPSBJTVg2X1BDSUVfRkxBR19JTVg2X1BIWSB8Cj4g PiAgCQkJIElNWDZfUENJRV9GTEFHX0lNWDZfU1BFRURfQ0hBTkdFIHwKPiA+IC0JCQkgSU1YNl9Q Q0lFX0ZMQUdfU1VQUE9SVFNfU1VTUEVORCwKPiA+ICsJCQkgSU1YNl9QQ0lFX0ZMQUdfU1VQUE9S VFNfU1VTUEVORCB8Cj4gPiArCQkJIElNWDZfUENJRV9GTEFHX0hBU19DTEtfSU5CT1VORF9BWEks Cj4gPiAgCQkuZ3ByID0gImZzbCxpbXg2cS1pb211eGMtZ3ByIiwKPiA+ICAJfSwKPiA+ICAJW0lN WDZRUF0gPSB7Cj4gPiBAQCAtMTUwMCwzMCArMTQ5NCwzNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGlteDZfcGNpZV9kcnZkYXRhIGRydmRhdGFbXSA9IHsKPiA+ICAJfSwKPiA+ICAJW0lNWDhNUV0g PSB7Cj4gPiAgCQkudmFyaWFudCA9IElNWDhNUSwKPiA+ICsJCS5mbGFncyA9IElNWDZfUENJRV9G TEFHX0hBU19DTEtfQVVYLAo+ID4gIAkJLmdwciA9ICJmc2wsaW14OG1xLWlvbXV4Yy1ncHIiLAo+ ID4gIAl9LAo+ID4gIAlbSU1YOE1NXSA9IHsKPiA+ICAJCS52YXJpYW50ID0gSU1YOE1NLAo+ID4g LQkJLmZsYWdzID0gSU1YNl9QQ0lFX0ZMQUdfU1VQUE9SVFNfU1VTUEVORCwKPiA+ICsJCS5mbGFn cyA9IElNWDZfUENJRV9GTEFHX1NVUFBPUlRTX1NVU1BFTkQgfAo+ID4gKwkJCSBJTVg2X1BDSUVf RkxBR19IQVNfQ0xLX0FVWCwKPiA+ICAJCS5ncHIgPSAiZnNsLGlteDhtbS1pb211eGMtZ3ByIiwK PiA+ICAJfSwKPiA+ICAJW0lNWDhNUF0gPSB7Cj4gPiAgCQkudmFyaWFudCA9IElNWDhNUCwKPiA+ IC0JCS5mbGFncyA9IElNWDZfUENJRV9GTEFHX1NVUFBPUlRTX1NVU1BFTkQsCj4gPiArCQkuZmxh Z3MgPSBJTVg2X1BDSUVfRkxBR19TVVBQT1JUU19TVVNQRU5EIHwKPiA+ICsJCQkgSU1YNl9QQ0lF X0ZMQUdfSEFTX0NMS19BVVgsCj4gPiAgCQkuZ3ByID0gImZzbCxpbXg4bXAtaW9tdXhjLWdwciIs Cj4gPiAgCX0sCj4gPiAgCVtJTVg4TVFfRVBdID0gewo+ID4gIAkJLnZhcmlhbnQgPSBJTVg4TVFf RVAsCj4gPiArCQkuZmxhZ3MgPSBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0FVWCwKPiA+ICAJCS5t b2RlID0gRFdfUENJRV9FUF9UWVBFLAo+ID4gIAkJLmdwciA9ICJmc2wsaW14OG1xLWlvbXV4Yy1n cHIiLAo+ID4gIAl9LAo+ID4gIAlbSU1YOE1NX0VQXSA9IHsKPiA+ICAJCS52YXJpYW50ID0gSU1Y OE1NX0VQLAo+ID4gKwkJLmZsYWdzID0gSU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19BVVgsCj4gPiAg CQkubW9kZSA9IERXX1BDSUVfRVBfVFlQRSwKPiA+ICAJCS5ncHIgPSAiZnNsLGlteDhtbS1pb211 eGMtZ3ByIiwKPiA+ICAJfSwKPiA+ICAJW0lNWDhNUF9FUF0gPSB7Cj4gPiAgCQkudmFyaWFudCA9 IElNWDhNUF9FUCwKPiA+ICsJCS5mbGFncyA9IElNWDZfUENJRV9GTEFHX0hBU19DTEtfQVVYLAo+ ID4gIAkJLm1vZGUgPSBEV19QQ0lFX0VQX1RZUEUsCj4gPiAgCQkuZ3ByID0gImZzbCxpbXg4bXAt aW9tdXhjLWdwciIsCj4gPiAgCX0sCj4gPiAtLSAKPiA+IDIuMzQuMQo+ID4gCj4gCj4gLS0gCj4g 4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=