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 3774BC433F5 for ; Tue, 15 Feb 2022 08:36:16 +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=4id5FKVh6zrQ6Rovu8vzxjTmdZPd+dQ1UCxuiTeqzNw=; b=kSW+LFnptGzTZm n0JpZR19t5KVoOlZNsu9Y2kNy/F4BVykR3rhJIWHqkhR0qCxOoejq4VsYm0Egzc4E50AvGjISFTUf w1Sfj4G663nN0QWpsjdlqT2YL/QM+UqVnXJBdLaZsKH5mJPeRZ0uXS6E0cVrBwzabEajW1vJMJUDY nCyeKSjByqQ9ma2tfF2K64SIfDeuZROA4C5hAREiA6iBXIv0wnFihX3H7P6fXZ5t7TczHIrPncuxh GKX55TBKlREnMPM7XzGP0Y6U+Sy9WftiNObQ3kC8UI7Yqw3yX/GKKf2iT0NN3nsevTA/SEJRIDsl3 +8UKFqE7eYnslnXB1U+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJtIK-001jIa-UR; Tue, 15 Feb 2022 08:34:45 +0000 Received: from mail-db3eur04on0609.outbound.protection.outlook.com ([2a01:111:f400:fe0c::609] helo=EUR04-DB3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJtIF-001jGN-8G for linux-arm-kernel@lists.infradead.org; Tue, 15 Feb 2022 08:34:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RE7tp/KPXbqQO7vXQsxBtbiqnUSL1Xnb9Q0FmKfg2VfYn3kdPro6ObAymxtxwxUjIcWb65/EhF3wMchsxTGKp2eT6FMssnY2MiUPMfE6p7FjzMjS014Dir/PTEi0P08n6zY5aIcfyJ4IQNWDJk6NiaMA05l7+ZPeLh8qLLOSubuCct0InxjEVHonW7ep+DHOejjJqEJ1L7rQGkoDK2XkrZEGjlgvNXKCj9O8Me/b2hIx2gqLKC4MqYFsOMlOPfJM+ze/PDZx5U/3IPhTEJUXucbimhOFZJB6sSeI59x3dzOMZrQkyOopGDPfb6kbHw/uk/hslp5PiMrewnAjsOsbaw== 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=Az6rHMKsLE/50LMBNctvHUf5P3emdiIKEQvq2zfcbnk=; b=fLsIOimSl3OFTBuZGtlWkfkIsuwmehf3CgUmidxGoO4romCEkBLehwGll6rG/Duy1rjZfhgibQhY6AWfIiU+lZYXOW8SOftmt+hF7YFUFaK+jBcSaXG7A4HwjkG5/c9cA9gDclqxUkM4MnAwQdyhbvyySplZYX2aCHa0ZgdEU+jk4nHrzVY3IU5vEo44+gNVh2b/zwPRFUiMQtAlKilI24uR2zRsAIFvN3JW4G1ENvus5zl20i0frJ0V12yWI2BSKytwY4s1C0PqgufD6gqnAm/znPZNL128ipFQww+IuKMHCe0TcKAxMgmze81TODKDkH+SY2WhqCNPwYQ1oElNgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Az6rHMKsLE/50LMBNctvHUf5P3emdiIKEQvq2zfcbnk=; b=iGTfZgm+rWUIza0jduwr/FPkbc44dZGqzBYj4LmRm1sRmMbK0aUVS/tzDqZDnJJ5lYo7OZwTKYXkVlzVYDcIg6+TDLB4HP4dT2GyKsE0dbllzpOzOiJz2g/ql72xBZK0v+b6BeWIspRI7uS1LBcQZ/v0GUKvCa8ZbgMX56PEu14= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by AM0PR04MB5940.eurprd04.prod.outlook.com (2603:10a6:208:117::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.18; Tue, 15 Feb 2022 08:19:43 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::448c:19d:ca9a:123e]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::448c:19d:ca9a:123e%7]) with mapi id 15.20.4975.018; Tue, 15 Feb 2022 08:19:43 +0000 From: "Peng Fan (OSS)" To: sboyd@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, abel.vesa@nxp.com Cc: kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan Subject: [PATCH 3/4] clk: imx: support fracn gppll Date: Tue, 15 Feb 2022 16:18:34 +0800 Message-Id: <20220215081835.790311-4-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215081835.790311-1-peng.fan@oss.nxp.com> References: <20220215081835.790311-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SI2P153CA0026.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::18) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7fd4b2e7-7d3d-484e-f919-08d9f05beb61 X-MS-TrafficTypeDiagnostic: AM0PR04MB5940:EE_ X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:655; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xh9sZ9kSjFUQgr40n57kaVwXF3STZruJ24QsjAjk6Al+EO5kSTwZUylTlDLDkfunmKEMWaql3rMcUKtHrf0CSVkwa0At/vFbJJdfeMWZjoyzIrnCWMGhMhZByUyjnliAI5vGqPj5qypEe94xO7Is2cpJMqJ1SqUMggeG3AHt0aAh0MEf1zOcZb6II18EPODLXU7hnljUWEXO69JxqJyN0S2xfNKn+EB3tTzSiGwS/cJwIWgEVj7WAYx/pdd74MWrqPthbvNpvnubMx0rLw0g0mCTrPC3xhdg4MH9loUwQH3FnEaWeR48BqvG15U2APB4IdQJtBK+9Iiw3hBppfBdTq9s0vYZSNG/GuPrm4m1WOCJ9U8lJzLqbX8/X7OFjnWN3E9465E7k/DqWI5RbIqf9lgy7jftnoGZqiFnOLUlGbASWKQgjOt7o1mrGFM9MPSHCynPiG9Mqr0L5GD7yDFinQh2coXdV7AgBXLUC8HV714H99Y1hFZmSi3BBx+VKvmUQzxRmbmWBj+4Yd9DjiRiXVje8ZEyVsBs8M+kEg8swKvj+WuFpHNrWbNfQLiOQtjHqs9Mh5Wii/uo4uiHyQV4RVtwSeI0n8NyLNE1/l1jd/kpzolfqwj9Jk0BD3x6J2WbzvLjidGXikgn1Y4JvSfeynHI/MiepSMvjVpTxCVWfHTByrJTe797zmlwldXJbabEcCyIjQzsEBgtLaq/hnbs4kcJrIZQKYd0P3igQtih+uF1F12FtW0bKHwgZHzv/BS5fItsxSuZjOIxR+kq+4NCyg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR04MB9417.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(186003)(6486002)(26005)(83380400001)(5660300002)(1076003)(508600001)(86362001)(30864003)(2616005)(6666004)(2906002)(38100700002)(66946007)(66556008)(8936002)(66476007)(4326008)(7416002)(6512007)(52116002)(8676002)(6506007)(38350700002)(56820400005)(54580400013); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzU1ejlCR2lyd1doNDEyOVNEdThMSW5UQ0RqQndqZlRORUtjYUxUUG1pVkdn?= =?utf-8?B?TXpNOFRhN0dCTWNWZTd5Vnl4VzVQYjVHMytKb0dyY1BXQnljeGM1bmdVUTNu?= =?utf-8?B?eCtkaFl1SklsdHRKZlRieUtKZTFacVMwbjgwcTlIbFVMM0tRa0xpZ3VKZHZQ?= =?utf-8?B?dWFoeVVaeWhZS2lyM3V2eUZpQmUvbkxwVjRMK2lha1ZtMGFuV0dRRDUwdjlH?= =?utf-8?B?Z2lSczVXNU9ab3VLUy9pbzQ0dWt5cmEwY0paSFByeDJnMFE4WGRIUlJqTWdh?= =?utf-8?B?dldEYTIzaE5LQjFMUHc2bnFNdG1VaTNsZmZvbDlhUjFUc2hBK0Z6eE5JVDJC?= =?utf-8?B?UnpxdEVHSHFEM3h0dDJZUEJzTHdmVW9uTHcwOG52OFNDT0g2dVlYdEN1T2V6?= =?utf-8?B?TzNWbXJhemhaQktiNkFDbS9pV1ZQamFjbjBYWU9SRWlHKzRYUmFQRnlhaUVD?= =?utf-8?B?WmxadTllWmVaQk5iODgzSHFmREYwMG5raTRzUmxHRWFxQkMrSU9OU2c3SjZq?= =?utf-8?B?WnBFR1JHTXFLbDJuTWZJS21vdGdsUWFvZUdnc2xQNkI3eUZ0cjZZY1VHSS9O?= =?utf-8?B?ek9rOUE5WmQ4UytCeGJ5aGVSdnR5MXQyekIrbnVFUlF3NTBKNjBiOVQyYmZ6?= =?utf-8?B?WVh6SzdLcFcxRGlVRzY3M1BUZTJxMDJEZzhZVHhNWWwzOVFHRGQxbGdERVFq?= =?utf-8?B?bFNPbENGaHFQYnpLRTY4QnAvN0F3ZllWd2VBTnJuc1JvWjRDK0MrWUJjRVF0?= =?utf-8?B?ODBNSkoveHlZYWZLMmFFUDRURlJSR21id2VvQVVrSXRvRGh1azlWZXNnSXla?= =?utf-8?B?Vm1FV1Y1WEhJSzB4bFFzWTdjdkVaS3l3Yk1nQ092UUJJQWRqQVNXUGxCOEdK?= =?utf-8?B?MDZtZFlxbXNyK2ZJZ1J2bnkvSldNb2h3WlRHVllBM2xCTTc4R01BN2RtWXBR?= =?utf-8?B?M0RoOUJadUg2RG5LS1kvYy9sdTAzOUpidWNTN3JLOW0ybDBoNUxySStMeFc5?= =?utf-8?B?cGNROVBJNVJhanhNNjVaRzJkdTlUM01CcXRHdjhidEV4TTE1WEVkS3RrbE9R?= =?utf-8?B?WWNTdm51VEhncnQ2NVpDU05nZEl6REdFdXRlV2JxTCtRTUpFOWc2RjlkYW1J?= =?utf-8?B?QUZ3ZGxzTjB0R0NUaTNoSUlpWGYxcHMyYm5YaGdxd01zbURiZ3FUdWxJamZZ?= =?utf-8?B?aTFvTGd3ZzVtWmtIRk1KOFUwMk8xb3BBSjR4cE16R2lIRVVtbk4wR09kK3VO?= =?utf-8?B?eEtGVkoxd0g0U0hCWG5iQUtHNGdqS0t4MzB0Q3k1andLNEpQbGdsb3pEQjdo?= =?utf-8?B?NXZYYmRVR1VTQjBYbE5NanB3WlJjNWE2WFBFSXRmdnJuUGJIU0dxTWVJSmRx?= =?utf-8?B?dlZYdzJ3RFBUczkzTm5SL3dsMk1nYU1WU1I3eEYwOEptbkdNdHJ0c2NwcHJT?= =?utf-8?B?bFg2dWRlQ05PZ0o3alhqaElYMGlGWmJCV0h4cFdWS3lXNVdPWTRONHN0b1dh?= =?utf-8?B?aWVLQk4zcWJJVDRoU0J5VE9BN2ZKWCtBNU9qNUNlaU5XYTZUNzR0TjRiWUxy?= =?utf-8?B?am9kZU9Fa0FSSnFmMWVDWCt4OTlOVkJQL3NyTW95bFRRK2JUZ29DWVNnZlRs?= =?utf-8?B?Y0hUNjRpOHBGK2RJQnJwc3FidURGaS85dW1DSFdudWRPdnFOci9xTkFtM2JU?= =?utf-8?B?Zmg4cFlPQzdoL2VyaEFST3VQd0ZFZGNQc2FOZHpRVkJYYVlKd0hoK1UxY0o5?= =?utf-8?B?aVpTa2dyQ2JXcnNRQkxJZ1NTQTAxOUFtT3h5elFzMWJEc21mQ09SaEpzZlZU?= =?utf-8?B?emYvQnpya0lxVjlhT3BDUHFheW5DMGVUU2FQODRoZWlHVi9HNExvQS9HVGRE?= =?utf-8?B?Y0dyOVNjR2tzTmhsL3ZPbU1wMklZc1VnZnlKZDNxOHl6UFRGS3BtYnRrSkF1?= =?utf-8?B?cEhpR1B3TXU0MlVWaWx4aXY0MFVWOStPbjRrQmNGQWh3WWJpbDF1eC9yN3Rh?= =?utf-8?B?OTVCNGcxRkovbXlVMmhIeXlBbndOZElQaCtKMWFlc2RydGJmb2xxdVdzSFBn?= =?utf-8?B?U3NSRGJkUi9HOFZZYzNXSkpiMWJKL1pVN0tJNGt0REdaT1YycS9oaXV5TTVD?= =?utf-8?B?QW5ydnFWR0dNaUo0NnYreGlKdEdaUitpV3FSNlU2dFNiZDR6OWhybHlwTnMr?= =?utf-8?Q?Q2p7w9LxLBhaAmD+qI866pM=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd4b2e7-7d3d-484e-f919-08d9f05beb61 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2022 08:19:43.4516 (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: ygO73wJguYMh7MDKA3hSCqkjYn1zZX4q1/VZ/qZ7Zrm8wBuTDWKqcOTHg8x2r8z8sJJGSdLuQCwriluGBhpMXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5940 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220215_003439_440798_B3D46A13 X-CRM114-Status: GOOD ( 20.84 ) 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 RnJvbTogUGVuZyBGYW4gPHBlbmcuZmFuQG54cC5jb20+CgpUaGlzIFBMTCBtb2R1bGUgaXMgYSBG cmFjdGlvbmFsLU4gc3ludGhlc2l6ZXIsCnN1cHBvcnRpbmcgMzAtYml0IG51bWVyYXRvciBhbmQg ZGVub21pbmF0b3IuIE51bWVyYXRvciBpcyBhIHNpZ25lZApudW1iZXIuIEl0IGhhcyBmZWF0dXJl IHRvIGFkanVzdCBmcmFjdGlvbmFsIHBvcnRpb24gb2YgZmVlZGJhY2sKZGl2aWRlciBkeW5hbWlj YWxseS4gVGhpcyBmcmFjbiBncHBsbCBpcyB1c2VkIGluIGkuTVg5My4KClNpZ25lZC1vZmYtYnk6 IFBlbmcgRmFuIDxwZW5nLmZhbkBueHAuY29tPgotLS0KIGRyaXZlcnMvY2xrL2lteC9NYWtlZmls ZSAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2Nsay9pbXgvY2xrLWZyYWNuLWdwcGxsLmMgfCAz MjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2Nsay9pbXgvY2xrLmgg ICAgICAgICAgICAgfCAgMjEgKysKIDMgZmlsZXMgY2hhbmdlZCwgMzQ5IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9pbXgvY2xrLWZyYWNuLWdwcGxsLmMKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9pbXgvTWFrZWZpbGUgYi9kcml2ZXJzL2Nsay9pbXgvTWFr ZWZpbGUKaW5kZXggMTU1NDlhMWMzMzJmLi43MTdhMzNjN2VkNTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvY2xrL2lteC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2Nsay9pbXgvTWFrZWZpbGUKQEAgLTUs NiArNSw3IEBAIG14Yy1jbGstb2JqcyArPSBjbGstYnVzeS5vCiBteGMtY2xrLW9ianMgKz0gY2xr LWNvbXBvc2l0ZS03dWxwLm8KIG14Yy1jbGstb2JqcyArPSBjbGstY29tcG9zaXRlLThtLm8KIG14 Yy1jbGstb2JqcyArPSBjbGstY29tcG9zaXRlLTkzLm8KK214Yy1jbGstb2JqcyArPSBjbGstZnJh Y24tZ3BwbGwubwogbXhjLWNsay1vYmpzICs9IGNsay1jcHUubwogbXhjLWNsay1vYmpzICs9IGNs ay1kaXZpZGVyLWdhdGUubwogbXhjLWNsay1vYmpzICs9IGNsay1maXh1cC1kaXYubwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvaW14L2Nsay1mcmFjbi1ncHBsbC5jIGIvZHJpdmVycy9jbGsvaW14 L2Nsay1mcmFjbi1ncHBsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uYTQ1MTJiMjE2YWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jbGsvaW14L2Nsay1m cmFjbi1ncHBsbC5jCkBAIC0wLDAgKzEsMzI3IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAorLyoKKyAqIENvcHlyaWdodCAyMDIxIE5YUAorICovCisKKyNpbmNsdWRlIDxs aW51eC9iaXRzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+CisjaW5jbHVkZSA8 bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+CisjaW5jbHVkZSA8bGludXgv aW8uaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ CisjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorCisjaW5jbHVkZSAiY2xrLmgiCisKKyNkZWZp bmUgUExMX0NUUkwJCTB4MAorI2RlZmluZSBDTEtNVVhfQllQQVNTCQlCSVQoMikKKyNkZWZpbmUg Q0xLTVVYX0VOCQlCSVQoMSkKKyNkZWZpbmUgUE9XRVJVUF9NQVNLCQlCSVQoMCkKKworI2RlZmlu ZSBQTExfQU5BX1BSRwkJMHgxMAorI2RlZmluZSBQTExfU1BSRUFEX1NQRUNUUlVNCTB4MzAKKwor I2RlZmluZSBQTExfTlVNRVJBVE9SCQkweDQwCisjZGVmaW5lIFBMTF9NRk5fTUFTSwkJR0VOTUFT SygzMSwgMikKKyNkZWZpbmUgUExMX01GTl9TSElGVAkJMgorCisjZGVmaW5lIFBMTF9ERU5PTUlO QVRPUgkJMHg1MAorI2RlZmluZSBQTExfTUZEX01BU0sJCUdFTk1BU0soMjksIDApCisKKyNkZWZp bmUgUExMX0RJVgkJCTB4NjAKKyNkZWZpbmUgUExMX01GSV9NQVNLCQlHRU5NQVNLKDI0LCAxNikK KyNkZWZpbmUgUExMX01GSV9TSElGVAkJMTYKKyNkZWZpbmUgUExMX1JESVZfTUFTSwkJR0VOTUFT SygxNSwgMTMpCisjZGVmaW5lIFBMTF9SRElWX1NISUZUCQkxMworI2RlZmluZSBQTExfT0RJVl9N QVNLCQlHRU5NQVNLKDcsIDApCisKKyNkZWZpbmUgUExMX0RGU19DVFJMKHgpCQkoMHg3MCArICh4 KSAqIDB4MTApCisKKyNkZWZpbmUgUExMX1NUQVRVUwkJMHhGMAorI2RlZmluZSBMT0NLX1NUQVRV UwkJQklUKDApCisKKyNkZWZpbmUgREZTX1NUQVRVUwkJMHhGNAorCisjZGVmaW5lIExPQ0tfVElN RU9VVF9VUwkJMjAwCisKKyNkZWZpbmUgUExMX0ZSQUNOX0dQKF9yYXRlLCBfbWZpLCBfbWZuLCBf bWZkLCBfcmRpdiwgX29kaXYpCVwKKwl7CQkJCQkJCVwKKwkJLnJhdGUJPQkoX3JhdGUpLAkJCVwK KwkJLm1maQk9CShfbWZpKSwJCQkJXAorCQkubWZuCT0JKF9tZm4pLAkJCQlcCisJCS5tZmQJPQko X21mZCksCQkJCVwKKwkJLnJkaXYJPQkoX3JkaXYpLAkJCVwKKwkJLm9kaXYJPQkoX29kaXYpLAkJ CVwKKwl9CisKK3N0cnVjdCBjbGtfZnJhY25fZ3BwbGwgeworCXN0cnVjdCBjbGtfaHcJCQlodzsK Kwl2b2lkIF9faW9tZW0JCQkqYmFzZTsKKwljb25zdCBzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX3Jh dGVfdGFibGUgKnJhdGVfdGFibGU7CisJaW50IHJhdGVfY291bnQ7Cit9OworCisjZGVmaW5lIHRv X2Nsa19mcmFjbl9ncHBsbChfaHcpIGNvbnRhaW5lcl9vZihfaHcsIHN0cnVjdCBjbGtfZnJhY25f Z3BwbGwsIGh3KQorCisvKgorICogRnZjbyA9IPCdkLnwnZGf8J2RkvCdkZPiiJko8J2RgPCdkLnw nZC8K/CdkYDwnZC58J2RgS/wnZGA8J2QufCdkLcpCisgKiBGb3V0ID0gRnZjbyAvIChyZGl2ICog b2RpdikKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBpbXhfZnJhY25fZ3BwbGxfcmF0ZV90YWJs ZSBmcmFjbl90YmxbXSA9IHsKKwlQTExfRlJBQ05fR1AoNjUwMDAwMDAwVSwgODEsIDAsIDAsIDAs IDMpLAorCVBMTF9GUkFDTl9HUCg1OTQwMDAwMDBVLCAxOTgsIDAsIDAsIDAsIDgpLAorCVBMTF9G UkFDTl9HUCg1NjAwMDAwMDBVLCA3MCwgMCwgMCwgMCwgMyksCisJUExMX0ZSQUNOX0dQKDQwMDAw MDAwMFUsIDUwLCAwLCAwLCAwLCAzKSwKKwlQTExfRlJBQ05fR1AoMzkzMjE2MDAwVSwgODEsIDky LCAxMDAsIDAsIDUpCit9OworCitzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX2NsayBpbXhfZnJhY25f Z3BwbGwgPSB7CisJLnJhdGVfdGFibGUgPSBmcmFjbl90YmwsCisJLnJhdGVfY291bnQgPSBBUlJB WV9TSVpFKGZyYWNuX3RibCksCit9OworRVhQT1JUX1NZTUJPTF9HUEwoaW14X2ZyYWNuX2dwcGxs KTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbXhfZnJhY25fZ3BwbGxfcmF0ZV90YWJsZSAqCitp bXhfZ2V0X3BsbF9zZXR0aW5ncyhzdHJ1Y3QgY2xrX2ZyYWNuX2dwcGxsICpwbGwsIHVuc2lnbmVk IGxvbmcgcmF0ZSkKK3sKKwljb25zdCBzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX3JhdGVfdGFibGUg KnJhdGVfdGFibGUgPSBwbGwtPnJhdGVfdGFibGU7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBp IDwgcGxsLT5yYXRlX2NvdW50OyBpKyspCisJCWlmIChyYXRlID09IHJhdGVfdGFibGVbaV0ucmF0 ZSkKKwkJCXJldHVybiAmcmF0ZV90YWJsZVtpXTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0 aWMgbG9uZyBjbGtfZnJhY25fZ3BwbGxfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywgdW5z aWduZWQgbG9uZyByYXRlLAorCQkJCSAgICAgICB1bnNpZ25lZCBsb25nICpwcmF0ZSkKK3sKKwlz dHJ1Y3QgY2xrX2ZyYWNuX2dwcGxsICpwbGwgPSB0b19jbGtfZnJhY25fZ3BwbGwoaHcpOworCWNv bnN0IHN0cnVjdCBpbXhfZnJhY25fZ3BwbGxfcmF0ZV90YWJsZSAqcmF0ZV90YWJsZSA9IHBsbC0+ cmF0ZV90YWJsZTsKKwlpbnQgaTsKKworCS8qIEFzc3VtbWluZyByYXRlX3RhYmxlIGlzIGluIGRl c2NlbmRpbmcgb3JkZXIgKi8KKwlmb3IgKGkgPSAwOyBpIDwgcGxsLT5yYXRlX2NvdW50OyBpKysp CisJCWlmIChyYXRlID49IHJhdGVfdGFibGVbaV0ucmF0ZSkKKwkJCXJldHVybiByYXRlX3RhYmxl W2ldLnJhdGU7CisKKwlpZiAoaSA9PSBwbGwtPnJhdGVfY291bnQpCisJCXByX2VycigiTm90IGFi bGUgdG8gcm91bmQgcmF0ZSBmb3IgJXM6ICVsdVxuIiwgY2xrX2h3X2dldF9uYW1lKGh3KSwgcmF0 ZSk7CisKKwkvKiByZXR1cm4gbWluaW11bSBzdXBwb3J0ZWQgdmFsdWUgKi8KKwlyZXR1cm4gcmF0 ZV90YWJsZVtpIC0gMV0ucmF0ZTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xrX2ZyYWNu X2dwcGxsX3JlY2FsY19yYXRlKHN0cnVjdCBjbGtfaHcgKmh3LCB1bnNpZ25lZCBsb25nIHBhcmVu dF9yYXRlKQoreworCXN0cnVjdCBjbGtfZnJhY25fZ3BwbGwgKnBsbCA9IHRvX2Nsa19mcmFjbl9n cHBsbChodyk7CisJY29uc3Qgc3RydWN0IGlteF9mcmFjbl9ncHBsbF9yYXRlX3RhYmxlICpyYXRl X3RhYmxlID0gcGxsLT5yYXRlX3RhYmxlOworCXUzMiBwbGxfbnVtZXJhdG9yLCBwbGxfZGVub21p bmF0b3IsIHBsbF9kaXY7CisJdTMyIG1maSwgbWZuLCBtZmQsIHJkaXYsIG9kaXY7CisJdTY0IGZ2 Y28gPSBwYXJlbnRfcmF0ZTsKKwlsb25nIHJhdGUgPSAwOworCWludCBpOworCisJcGxsX251bWVy YXRvciA9IHJlYWRsX3JlbGF4ZWQocGxsLT5iYXNlICsgUExMX05VTUVSQVRPUik7CisJbWZuID0g KHBsbF9udW1lcmF0b3IgJiBQTExfTUZOX01BU0spID4+IFBMTF9NRk5fU0hJRlQ7CisKKwlwbGxf ZGVub21pbmF0b3IgPSByZWFkbF9yZWxheGVkKHBsbC0+YmFzZSArIFBMTF9ERU5PTUlOQVRPUik7 CisJbWZkID0gcGxsX2Rlbm9taW5hdG9yICYgUExMX01GRF9NQVNLOworCisJcGxsX2RpdiA9IHJl YWRsX3JlbGF4ZWQocGxsLT5iYXNlICsgUExMX0RJVik7CisJbWZpID0gKHBsbF9kaXYgJiBQTExf TUZJX01BU0spID4+IFBMTF9NRklfU0hJRlQ7CisKKwlyZGl2ID0gKHBsbF9kaXYgJiBQTExfUkRJ Vl9NQVNLKSA+PiBQTExfUkRJVl9TSElGVDsKKwlyZGl2ID0gcmRpdiArIDE7CisJb2RpdiA9IHBs bF9kaXYgJiBQTExfT0RJVl9NQVNLOworCXN3aXRjaCAob2RpdikgeworCWNhc2UgMDoKKwkJb2Rp diA9IDI7CisJCWJyZWFrOworCWNhc2UgMToKKwkJb2RpdiA9IDM7CisJCWJyZWFrOworCWRlZmF1 bHQ6CisJCWJyZWFrOworCX0KKworCS8qCisJICogU29tZXRpbWVzLCB0aGUgcmVjYWxjdWxhdGVk IHJhdGUgaGFzIGRldmlhdGlvbiBkdWUgdG8KKwkgKiB0aGUgZnJhYyBwYXJ0LiBTbyBmaW5kIHRo ZSBhY2N1cmF0ZSBwbGwgcmF0ZSBmcm9tIHRoZSB0YWJsZQorCSAqIGZpcnN0LCBpZiBubyBtYXRj aCByYXRlIGluIHRoZSB0YWJsZSwgdXNlIHRoZSByYXRlIGNhbGN1bGF0ZWQKKwkgKiBmcm9tIHRo ZSBlcXVhdGlvbiBiZWxvdy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgcGxsLT5yYXRlX2NvdW50 OyBpKyspIHsKKwkJaWYgKHJhdGVfdGFibGVbaV0ubWZuID09IG1mbiAmJiByYXRlX3RhYmxlW2ld Lm1maSA9PSBtZmkgJiYKKwkJICAgIHJhdGVfdGFibGVbaV0ubWZkID09IG1mZCAmJiByYXRlX3Rh YmxlW2ldLnJkaXYgPT0gcmRpdiAmJgorCQkgICAgcmF0ZV90YWJsZVtpXS5vZGl2ID09IG9kaXYp CisJCQlyYXRlID0gcmF0ZV90YWJsZVtpXS5yYXRlOworCX0KKworCS8qIEZ2Y28gPSDwnZC58J2R n/CdkZLwnZGT4oiZKPCdkYDwnZC58J2QvCvwnZGA8J2QufCdkYEv8J2RgPCdkLnwnZC3KSAqLwor CWZ2Y28gPSBmdmNvICogbWZpICsgZnZjbyAqIG1mbiAvIG1mZDsKKworCWRvX2RpdihmdmNvLCBy ZGl2ICogb2Rpdik7CisKKwlyZXR1cm4gcmF0ZSA/ICh1bnNpZ25lZCBsb25nKSByYXRlIDogKHVu c2lnbmVkIGxvbmcpZnZjbzsKK30KKworc3RhdGljIGludCBjbGtfZnJhY25fZ3BwbGxfd2FpdF9s b2NrKHN0cnVjdCBjbGtfZnJhY25fZ3BwbGwgKnBsbCkKK3sKKwl1MzIgdmFsOworCisJcmV0dXJu IHJlYWRsX3BvbGxfdGltZW91dChwbGwtPmJhc2UgKyBQTExfU1RBVFVTLCB2YWwsCisJCQkJICB2 YWwgJiBMT0NLX1NUQVRVUywgMCwgTE9DS19USU1FT1VUX1VTKTsKK30KKworc3RhdGljIGludCBj bGtfZnJhY25fZ3BwbGxfc2V0X3JhdGUoc3RydWN0IGNsa19odyAqaHcsIHVuc2lnbmVkIGxvbmcg ZHJhdGUsCisJCQkJICAgIHVuc2lnbmVkIGxvbmcgcHJhdGUpCit7CisJc3RydWN0IGNsa19mcmFj bl9ncHBsbCAqcGxsID0gdG9fY2xrX2ZyYWNuX2dwcGxsKGh3KTsKKwljb25zdCBzdHJ1Y3QgaW14 X2ZyYWNuX2dwcGxsX3JhdGVfdGFibGUgKnJhdGU7CisJdTMyIHRtcCwgcGxsX2RpdiwgYW5hX21m bjsKKwlpbnQgcmV0OworCisJcmF0ZSA9IGlteF9nZXRfcGxsX3NldHRpbmdzKHBsbCwgZHJhdGUp OworCWlmICghcmF0ZSkgeworCQlwcl9lcnIoIiVzOiBJbnZhbGlkIHJhdGUgOiAlbHUgZm9yIHBs bCBjbGsgJXNcbiIsIF9fZnVuY19fLAorCQkJZHJhdGUsIGNsa19od19nZXRfbmFtZShodykpOwor CQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBEaXNhYmxlIG91dHB1dCAqLworCXRtcCA9IHJl YWRsX3JlbGF4ZWQocGxsLT5iYXNlICsgUExMX0NUUkwpOworCXRtcCAmPSB+Q0xLTVVYX0VOOwor CXdyaXRlbF9yZWxheGVkKHRtcCwgcGxsLT5iYXNlICsgUExMX0NUUkwpOworCisJLyogUG93ZXIg RG93biAqLworCXRtcCAmPSB+UE9XRVJVUF9NQVNLOworCXdyaXRlbF9yZWxheGVkKHRtcCwgcGxs LT5iYXNlICsgUExMX0NUUkwpOworCisJLyogRGlzYWJsZSBCWVBBU1MgKi8KKwl0bXAgJj0gfkNM S01VWF9CWVBBU1M7CisJd3JpdGVsX3JlbGF4ZWQodG1wLCBwbGwtPmJhc2UgKyBQTExfQ1RSTCk7 CisKKwlwbGxfZGl2ID0gKHJhdGUtPnJkaXYgPDwgUExMX1JESVZfU0hJRlQpIHwgcmF0ZS0+b2Rp diB8IChyYXRlLT5tZmkgPDwgUExMX01GSV9TSElGVCk7CisJd3JpdGVsX3JlbGF4ZWQocGxsX2Rp diwgcGxsLT5iYXNlICsgUExMX0RJVik7CisJd3JpdGVsX3JlbGF4ZWQocmF0ZS0+bWZkLCBwbGwt PmJhc2UgKyBQTExfREVOT01JTkFUT1IpOworCXdyaXRlbF9yZWxheGVkKHJhdGUtPm1mbiA8PCBQ TExfTUZOX1NISUZULCBwbGwtPmJhc2UgKyBQTExfTlVNRVJBVE9SKTsKKworCS8qIFdhaXQgZm9y IDV1cyBhY2NvcmRpbmcgdG8gZnJhY24gbW9kZSBwbGwgZG9jICovCisJdWRlbGF5KDUpOworCisJ LyogRW5hYmxlIFBvd2VydXAgKi8KKwl0bXAgfD0gUE9XRVJVUF9NQVNLOworCXdyaXRlbF9yZWxh eGVkKHRtcCwgcGxsLT5iYXNlICsgUExMX0NUUkwpOworCisJLyogV2FpdCBMb2NrKi8KKwlyZXQg PSBjbGtfZnJhY25fZ3BwbGxfd2FpdF9sb2NrKHBsbCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJl dDsKKworCS8qIEVuYWJsZSBvdXRwdXQgKi8KKwl0bXAgfD0gQ0xLTVVYX0VOOworCXdyaXRlbF9y ZWxheGVkKHRtcCwgcGxsLT5iYXNlICsgUExMX0NUUkwpOworCisJYW5hX21mbiA9IChyZWFkbF9y ZWxheGVkKHBsbC0+YmFzZSArIFBMTF9TVEFUVVMpICYgUExMX01GTl9NQVNLKSA+PiBQTExfTUZO X1NISUZUOworCisJV0FSTihhbmFfbWZuICE9IHJhdGUtPm1mbiwgImFuYV9tZm4gIT0gcmF0ZS0+ bWZuXG4iKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNsa19mcmFjbl9ncHBsbF9w cmVwYXJlKHN0cnVjdCBjbGtfaHcgKmh3KQoreworCXN0cnVjdCBjbGtfZnJhY25fZ3BwbGwgKnBs bCA9IHRvX2Nsa19mcmFjbl9ncHBsbChodyk7CisJdTMyIHZhbDsKKwlpbnQgcmV0OworCisJdmFs ID0gcmVhZGxfcmVsYXhlZChwbGwtPmJhc2UgKyBQTExfQ1RSTCk7CisJaWYgKHZhbCAmIFBPV0VS VVBfTUFTSykKKwkJcmV0dXJuIDA7CisKKwl2YWwgfD0gQ0xLTVVYX0JZUEFTUzsKKwl3cml0ZWxf cmVsYXhlZCh2YWwsIHBsbC0+YmFzZSArIFBMTF9DVFJMKTsKKworCXZhbCB8PSBQT1dFUlVQX01B U0s7CisJd3JpdGVsX3JlbGF4ZWQodmFsLCBwbGwtPmJhc2UgKyBQTExfQ1RSTCk7CisKKwl2YWwg fD0gQ0xLTVVYX0VOOworCXdyaXRlbF9yZWxheGVkKHZhbCwgcGxsLT5iYXNlICsgUExMX0NUUkwp OworCisJcmV0ID0gY2xrX2ZyYWNuX2dwcGxsX3dhaXRfbG9jayhwbGwpOworCWlmIChyZXQpCisJ CXJldHVybiByZXQ7CisKKwl2YWwgJj0gfkNMS01VWF9CWVBBU1M7CisJd3JpdGVsX3JlbGF4ZWQo dmFsLCBwbGwtPmJhc2UgKyBQTExfQ1RSTCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu dCBjbGtfZnJhY25fZ3BwbGxfaXNfcHJlcGFyZWQoc3RydWN0IGNsa19odyAqaHcpCit7CisJc3Ry dWN0IGNsa19mcmFjbl9ncHBsbCAqcGxsID0gdG9fY2xrX2ZyYWNuX2dwcGxsKGh3KTsKKwl1MzIg dmFsOworCisJdmFsID0gcmVhZGxfcmVsYXhlZChwbGwtPmJhc2UgKyBQTExfQ1RSTCk7CisKKwly ZXR1cm4gKHZhbCAmIFBPV0VSVVBfTUFTSykgPyAxIDogMDsKK30KKworc3RhdGljIHZvaWQgY2xr X2ZyYWNuX2dwcGxsX3VucHJlcGFyZShzdHJ1Y3QgY2xrX2h3ICpodykKK3sKKwlzdHJ1Y3QgY2xr X2ZyYWNuX2dwcGxsICpwbGwgPSB0b19jbGtfZnJhY25fZ3BwbGwoaHcpOworCXUzMiB2YWw7CisK Kwl2YWwgPSByZWFkbF9yZWxheGVkKHBsbC0+YmFzZSArIFBMTF9DVFJMKTsKKwl2YWwgJj0gflBP V0VSVVBfTUFTSzsKKwl3cml0ZWxfcmVsYXhlZCh2YWwsIHBsbC0+YmFzZSArIFBMTF9DVFJMKTsK K30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfb3BzIGNsa19mcmFjbl9ncHBsbF9vcHMgPSB7 CisJLnByZXBhcmUJPSBjbGtfZnJhY25fZ3BwbGxfcHJlcGFyZSwKKwkudW5wcmVwYXJlCT0gY2xr X2ZyYWNuX2dwcGxsX3VucHJlcGFyZSwKKwkuaXNfcHJlcGFyZWQJPSBjbGtfZnJhY25fZ3BwbGxf aXNfcHJlcGFyZWQsCisJLnJlY2FsY19yYXRlCT0gY2xrX2ZyYWNuX2dwcGxsX3JlY2FsY19yYXRl LAorCS5yb3VuZF9yYXRlCT0gY2xrX2ZyYWNuX2dwcGxsX3JvdW5kX3JhdGUsCisJLnNldF9yYXRl CT0gY2xrX2ZyYWNuX2dwcGxsX3NldF9yYXRlLAorfTsKKworc3RydWN0IGNsa19odyAqaW14X2Ns a19mcmFjbl9ncHBsbChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwYXJlbnRfbmFtZSwg dm9pZCBfX2lvbWVtICpiYXNlLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpbXhfZnJhY25fZ3BwbGxf Y2xrICpwbGxfY2xrKQoreworCXN0cnVjdCBjbGtfZnJhY25fZ3BwbGwgKnBsbDsKKwlzdHJ1Y3Qg Y2xrX2h3ICpodzsKKwlzdHJ1Y3QgY2xrX2luaXRfZGF0YSBpbml0OworCWludCByZXQ7CisKKwlw bGwgPSBremFsbG9jKHNpemVvZigqcGxsKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwbGwpCisJCXJl dHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJaW5pdC5uYW1lID0gbmFtZTsKKwlpbml0LmZsYWdz ID0gcGxsX2Nsay0+ZmxhZ3M7CisJaW5pdC5wYXJlbnRfbmFtZXMgPSAmcGFyZW50X25hbWU7CisJ aW5pdC5udW1fcGFyZW50cyA9IDE7CisJaW5pdC5vcHMgPSAmY2xrX2ZyYWNuX2dwcGxsX29wczsK KworCXBsbC0+YmFzZSA9IGJhc2U7CisJcGxsLT5ody5pbml0ID0gJmluaXQ7CisJcGxsLT5yYXRl X3RhYmxlID0gcGxsX2Nsay0+cmF0ZV90YWJsZTsKKwlwbGwtPnJhdGVfY291bnQgPSBwbGxfY2xr LT5yYXRlX2NvdW50OworCisJaHcgPSAmcGxsLT5odzsKKworCXJldCA9IGNsa19od19yZWdpc3Rl cihOVUxMLCBodyk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBmYWlsZWQgdG8gcmVnaXN0 ZXIgcGxsICVzICVkXG4iLCBfX2Z1bmNfXywgbmFtZSwgcmV0KTsKKwkJa2ZyZWUocGxsKTsKKwkJ cmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisKKwlyZXR1cm4gaHc7Cit9CitFWFBPUlRfU1lNQk9M X0dQTChpbXhfY2xrX2ZyYWNuX2dwcGxsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL2lteC9j bGsuaCBiL2RyaXZlcnMvY2xrL2lteC9jbGsuaAppbmRleCA2M2ViN2M1M2IxMjMuLmE3Y2JiY2Qx YTNmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jbGsvaW14L2Nsay5oCisrKyBiL2RyaXZlcnMvY2xr L2lteC9jbGsuaApAQCAtNzIsNiArNzIsMjcgQEAgZXh0ZXJuIHN0cnVjdCBpbXhfcGxsMTR4eF9j bGsgaW14XzE0MTZ4X3BsbDsKIGV4dGVybiBzdHJ1Y3QgaW14X3BsbDE0eHhfY2xrIGlteF8xNDQz eF9wbGw7CiBleHRlcm4gc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXhfMTQ0M3hfZHJhbV9wbGw7 CiAKKy8qIE5PVEU6IFJhdGUgdGFibGUgc2hvdWxkIGJlIGtlcHQgc29ydGVkIGluIGRlc2NlbmRp bmcgb3JkZXIuICovCitzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX3JhdGVfdGFibGUgeworCXVuc2ln bmVkIGludCByYXRlOworCXVuc2lnbmVkIGludCBtZmk7CisJdW5zaWduZWQgaW50IG1mbjsKKwl1 bnNpZ25lZCBpbnQgbWZkOworCXVuc2lnbmVkIGludCByZGl2OworCXVuc2lnbmVkIGludCBvZGl2 OworfTsKKworc3RydWN0IGlteF9mcmFjbl9ncHBsbF9jbGsgeworCWNvbnN0IHN0cnVjdCBpbXhf ZnJhY25fZ3BwbGxfcmF0ZV90YWJsZSAqcmF0ZV90YWJsZTsKKwlpbnQgcmF0ZV9jb3VudDsKKwlp bnQgZmxhZ3M7Cit9OworCitzdHJ1Y3QgY2xrX2h3ICppbXhfY2xrX2ZyYWNuX2dwcGxsKGNvbnN0 IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhcmVudF9uYW1lLCB2b2lkIF9faW9tZW0gKmJhc2Us CisJCQkJICAgY29uc3Qgc3RydWN0IGlteF9mcmFjbl9ncHBsbF9jbGsgKnBsbF9jbGspOworCitl eHRlcm4gc3RydWN0IGlteF9mcmFjbl9ncHBsbF9jbGsgaW14X2ZyYWNuX2dwcGxsOworCiAjZGVm aW5lIGlteF9jbGtfY3B1KG5hbWUsIHBhcmVudF9uYW1lLCBkaXYsIG11eCwgcGxsLCBzdGVwKSBc CiAJdG9fY2xrKGlteF9jbGtfaHdfY3B1KG5hbWUsIHBhcmVudF9uYW1lLCBkaXYsIG11eCwgcGxs LCBzdGVwKSkKIAotLSAKMi4yNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=