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 75859C433EF for ; Wed, 23 Feb 2022 06:45:13 +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=d5Cp7Fk40DnGPBckkSJ8fP81UDc1YDgufbaNxj9IBhs=; b=WzKA6Vx76/4A4D j4zy/Kz9LPirT6CfNnwSLe9It/r6w62O2+CjmWu4gyyprqIrY8YEQkaRmwywv6DROp1hQ94hjaLhW +qcporTpfkX0T4J1bHt8M2ZZVxHgd8nfE2jf9Xi2Fa81KOvzVdO2+XlR5ivg+w66ZBMbRtVxO8Spv VTxv76cmQOWCVzIHk34ey/kaCfbikJWaVhP8fj+xFuTwupV0SsVPF6IjVTwAddER2tv0VeIonyCJ7 7RI3ESKr6sYC7cmYteI/mYaYIen2xV6opAKf0hda4tEX4BF7fmUGLTl9BOeY5JsalHcjkN9v8jbst k+TuJK6wTjZ7tAOTNzRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nMlMy-00D0U9-6z; Wed, 23 Feb 2022 06:43:24 +0000 Received: from mail-am6eur05on2062e.outbound.protection.outlook.com ([2a01:111:f400:7e1b::62e] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nMlM6-00D0Cc-Hg for linux-arm-kernel@lists.infradead.org; Wed, 23 Feb 2022 06:42:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kvT8PDUY3Be0PRqWNi1EA/WW3nSZEueUpK+9G1kMyI/ly1nSBcwmHM+EX8Sc1o25tT3+luRnvPqgVlbJSZrhbJA22vdrMokVZaHRHIPrG2WJjpciM36jD2Jl1L6k5KLxS6Z4Xnh0hQn7NctFA+WiSoUSQqjjYHGktYZacxXwym3T4kWaPBHp3G8QTjCBmgz/FQO85AXylBCM5I0f+q2gXsA79sZL8zsx1jSeuOICYO2V3iKmDYq5/YnLkiZMyX2GQKY5TtFpkRLp5CIkqOWk/fSUDmuzZt5+7iCfrMD/7QR6KoGqFOS5JVEMj/+2YAJsJHwiKqUFqyJsUvnEM0mrBQ== 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=I6y8KZvIgHATGmIYBESOoyPwOXzllnjzAU06kYu0hNk=; b=i8c9vTThdbPpspYMYnPVZlKFdOJ7qz+a2IXHapkF32QZ+3DzsGo45bKTc42VoZbx/Sf7j1airNWRSunesCIDapbsb5t8uMjEiRS5beqzosCVcs4ULkHlPVT7EuO76EYO1XsXHcPiBdNDTiaKxrbwD3KDns5LpNDlY1br+nZXOYRIYpQzvjGjXY7bscTyRVqBQcE3D8ydeKo6fiVUojys3KwzYB9macPgHPYQ5xiUgD+QZXCPvhsIzSbGBqfZmAJgPn0WnhdXh+E2l6/7BDZwXm+JL2tKNftny/x/FMFotiqo9BE3Zz6zHdfPBODcbVpq5lxHPqkxyyw/lqr+Knrgrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; 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=I6y8KZvIgHATGmIYBESOoyPwOXzllnjzAU06kYu0hNk=; b=NNvY9VUaWD/Fz4AmxSaH7YxPc2QzT14vQL8yNX3PPkvbXcn9YdHK8rUiBXOMgwv7Rp8JxDSoRfD9FWzDSQPY17ldyousEJlP3GyihAkd4GW3+np0TjrgiAOF/bpKJTN37A5j2Q5xYphvt9xIn+goiaYnNKjv7av0Xd4+ZGwPf0g= 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 AM6PR04MB5542.eurprd04.prod.outlook.com (2603:10a6:20b:2c::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.26; Wed, 23 Feb 2022 06:42:26 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::552c:ed46:26dc:77cc]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::552c:ed46:26dc:77cc%4]) with mapi id 15.20.4995.018; Wed, 23 Feb 2022 06:42:26 +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 V3 4/5] clk: imx: support fracn gppll Date: Wed, 23 Feb 2022 14:43:57 +0800 Message-Id: <20220223064358.4097307-5-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220223064358.4097307-1-peng.fan@oss.nxp.com> References: <20220223064358.4097307-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0110.apcprd06.prod.outlook.com (2603:1096:1:1d::12) 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: 2382218f-7654-4d32-c520-08d9f697a7a9 X-MS-TrafficTypeDiagnostic: AM6PR04MB5542:EE_ X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True 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: gRE8r/9cTqeqT9TGGWCY6rKPTqDJd43IdQikZ1KED7ljkoJwxIPYWT8pTY1R3z0VCNLH6wrQ9L1XROqncOzf4jfKZc+d1BcpYo/f86SWR6tBHzr31/aIjk7RlaVcS/tT4+liw7x3m9YHt0KE+VBxzmXCic395G3Q5i3J9c84HQLE0dT/f4YV2LpR6ORmmlCrHycporEunpWjkUyjUJulelOK+qw3OAnwPFA0jgI80xnQ9nuAB/6seECjRhLql8438RH8BVXSZfcvg1jTcw7daiZSVzaa1luLEFScgiU+0Ayp/uzajoUEYgp9cOQdMfQbhcgffBsMBjfm6JCwFmGuEfnrrN1RPoe2sL1ZexwLQzDSuCVKEdSlduIITGU6Vpi4Mvb1h55OBjWFGORaD4WvSN+OXtJFNuRHWIqqQA+SIIUUlWF6zTlv9uqd1WaAhzFaXrBh+U9ANp0Nl5bAoXxNxklGCUEX40pUMoynIi9FQpypfzNYeOjkZfUDDmpkB+JX07Dvw65YnKikcVQoFWJnnMKrJ9AmYHCQ93FkdKJVdGwkJo5LgZp/F+R0AKvniwCraDv5tBKtvD7G6G0IXXBtzFzOd38ChwQLm8If/7j/ypnJBezMukViGP6NEqFAvBc9+oqFvIJbaNATaOUYo8jHDmaRcTxr6Y1WDhuAe1QRetZpDH6svLNpVmrrK1g+4+U+wx1sAU/wXQ/zcKzyyCVu0eCdHarxypCmMuf7p0mlGS9syxR3eTSqaPlTpjfu1YfT8s/ZQDhIeRKxu/uZig/T9Q== 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)(508600001)(5660300002)(6486002)(2906002)(86362001)(316002)(83380400001)(8936002)(7416002)(66476007)(66556008)(6666004)(30864003)(1076003)(52116002)(38100700002)(4326008)(26005)(186003)(2616005)(6512007)(6506007)(66946007)(38350700002)(8676002)(56820400005)(54580400013); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YktYYy9RRnJXdFVaY0VZbjhtYmcvSjVNTkhROVlGajJHSTB5ZCsyM0RXak94?= =?utf-8?B?US9VbmZiQUhOMDAvcmI4ZlZud3FNQkdkbTNpMkwyZkVXZjFJSTZlQWkzVG1X?= =?utf-8?B?aUxCQ3JBM2lxMCtnd25yZFpjMDBPd0RLTDl6R1JlZTF3NFh4bTRYZkYvcUx6?= =?utf-8?B?UVRlaXFLa1Z5TXk3WEJnS3A4blJvKzNrclkwOWNrNWdIZkMvaDM0UzVlRXE0?= =?utf-8?B?RHBUL0pUU0Q2TlI3bFI4UG11blQ1RS9TZldoTUh6Mk1tWVB2TlNYVXQ5RFE1?= =?utf-8?B?aktaSjZTczc5a3pER1pld1dWZEFyTDBEcU8rWElQRnpxb3BOdUVHUGhZUFF3?= =?utf-8?B?V0pkVTZFQ3RkYlMyNVhRbUp6eGdEcmdyT1lscEp3NEdhWU0wTFVIVENEclZT?= =?utf-8?B?eFpaNXVJQkRGY1J4dDI3TldnUS91MERqb1MraUppckNvRG5pY3lPY204b2Rw?= =?utf-8?B?eERYaVNKZnppSDhXMVZ0bWlVV3VDcG81N3BieFNpaittRklHUHhPUUIxaHBt?= =?utf-8?B?WFVXNVRKb3diaUJGLzd1VjdHUXZoYjdKajh6T3FkaTNxdTFtT1Y2M2hieS9D?= =?utf-8?B?b2VmWFA0OUhWMml2enh1eCtFbVBYVHQvR1JmL2s1d2c0L3BFM01ZTTduWWc2?= =?utf-8?B?V3RUaUlnWFNyc2kxNzQ4ZEZLRnJUQXp5MUJxb25ESUFBeU55RmxoMzA3cjBn?= =?utf-8?B?ZlVuaFcxMHY5OFpOS01VcjFYcUQ1SlpQWVhYMzdSUVNHdFJGVU8wK0t3Rkk0?= =?utf-8?B?K1I1MUIrUWR1OW9LQlkxZkg0SksveWFJdGJkSDNVSkYzYlFMOS9OWTdzZlcw?= =?utf-8?B?S0UvTDlYYk4wUWVsbjBOaEJZYWZJTG5HZUdSZ0ZCaEpmZmhLNUhVd3hTZjg0?= =?utf-8?B?TnB6Wm5hUE01ZWVjVnF2UDl0VEJBd1E1V2RGQUsrY0t1K09JYkt2V0Qwdk1U?= =?utf-8?B?TXBDWVVWNEZSangrRDhwazNVWmI3NW9qd0EwL1lrNjczTXVaZlRXdG9WTkZL?= =?utf-8?B?b2hHM09mVHE2TUxuN1pXbCthN3VzWE82WTNCeTQzUlRMdHN1TW5hWGFhTUdV?= =?utf-8?B?cVJOSE9vdllNYVpYN2Exd0RXVDQ5bkhFelczSVJUY0p2eElxMEZFdlVUUUFM?= =?utf-8?B?aGxrdnFyVzluTFVnWEpJY0w0WFNiMjJ2REM3Y2toOVZmVkdhOE1ZQlFMOGU5?= =?utf-8?B?RHF3amQxdElTTHUxOGR2SnBjc1MydFZQME9KTW10KytpTW5aZW1LaXdZOTZZ?= =?utf-8?B?Ynk5bGVMSjQ0eWdaUVhQeS9sUStnc2lYOC84Z25jb0ZUemxScUtqVEY5UXFX?= =?utf-8?B?dW44Q2hZZVVFMXhMZXZPRklLMjlVeWs3S0N3ZGthUktuUitleWt2WTBUQ0ZT?= =?utf-8?B?TjN0MG9zWlY0cXlFcWdydDBhQ2JPdHJHU09JWVQvK0RLSFVidVhLU05zNy9o?= =?utf-8?B?S2ZSVm91UmhLbFhpeHVnNzhrTjUvUXFVVkdMQm1HeHVqN3dZWERVM3R3TFVW?= =?utf-8?B?T1dtT0ZNVWMyZ1pTa1dTNlpzbDFRRitmNlVHVjlPRTJmUTdpQlMvR0dyWlJO?= =?utf-8?B?d3BmdmEvYTk0QkYycG00ZWVKRmhHQ0FmNTBYRkpKME9Qb0pRT2dOYk94Zm8v?= =?utf-8?B?cU81M0Jlb0w3R0htVk5IWExDbzlZSjd2WC9WN0dGOXZtdW56YUNSQ1N6TzM3?= =?utf-8?B?SVcxTk41QzE5N21QRkpEWTBUSXRtc21UWElxSGZDS0o0ZTMvdmwrUXB0Zmlk?= =?utf-8?B?Ymw2REhOajZDZE1yNjM5aS8rMllzVVkwaEtKQnJlVUtXVXcrSHQ3MW9ac1ho?= =?utf-8?B?TUVZSEFFWVU0a001bEhHdzdsSElPOGMxM2xIWXN5aUgyRk1saTJsZS9qZ29h?= =?utf-8?B?YTN0S0dydmhYcjJCZWNzY0tyWFNFc01EMU9zSnk1VHB6ZHV1dkxjMHhIUTY0?= =?utf-8?B?eHh4dk1Dbmlsd0REQThwS05oZzNVN21GQmQ3RnZiSGJueWhHTmpsRzFIL3Iw?= =?utf-8?B?cDZJV1BBZlhTYnYwb3RBSlJBVC9GeTQ0eW1kY1NHWUlFeEFlY0lFczBmMVFM?= =?utf-8?B?ZDNOMjRnazh4eGlScGwvQmRzaUdVTzQ0RXNNd0JORmJTRkplUHgwWW9hOEc2?= =?utf-8?B?OGxYQTZ5TUcvK2VJckM1elRFbUxaZ3NNUS9nUytzL0x5UjlFSWN5YXNXOWEw?= =?utf-8?Q?GoEuprHuBGFIrRzvoeR8cVE=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2382218f-7654-4d32-c520-08d9f697a7a9 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 06:42:26.5551 (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: SMShWcEhIE1VJwO/MrsH/jHE5eOtIWO953KdeCPJmwQyBbiB9XIMPbTciD+PHBjom5gjqx4y2vkXOf7ZPD6TRg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5542 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220222_224230_749981_296025A8 X-CRM114-Status: GOOD ( 20.49 ) 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 MjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2Nsay9pbXgvY2xrLmgg ICAgICAgICAgICAgfCAgMjEgKysKIDMgZmlsZXMgY2hhbmdlZCwgMzUwIGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9pbXgvY2xrLWZyYWNuLWdwcGxsLmMKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9pbXgvTWFrZWZpbGUgYi9kcml2ZXJzL2Nsay9pbXgvTWFr ZWZpbGUKaW5kZXggMzZjMDQ5MjJkNzg5Li42MGM4YTRiYjc1NzQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvY2xrL2lteC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2Nsay9pbXgvTWFrZWZpbGUKQEAgLTUs NiArNSw3IEBAIG14Yy1jbGstb2JqcyArPSBjbGstYnVzeS5vCiBteGMtY2xrLW9ianMgKz0gY2xr LWNvbXBvc2l0ZS03dWxwLm8KIG14Yy1jbGstb2JqcyArPSBjbGstY29tcG9zaXRlLThtLm8KIG14 Yy1jbGstb2JqcyArPSBjbGstY29tcG9zaXRlLTkzLm8KK214Yy1jbGstb2JqcyArPSBjbGstZnJh Y24tZ3BwbGwubwogbXhjLWNsay1vYmpzICs9IGNsay1jcHUubwogbXhjLWNsay1vYmpzICs9IGNs ay1kaXZpZGVyLWdhdGUubwogbXhjLWNsay1vYmpzICs9IGNsay1maXh1cC1kaXYubwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvaW14L2Nsay1mcmFjbi1ncHBsbC5jIGIvZHJpdmVycy9jbGsvaW14 L2Nsay1mcmFjbi1ncHBsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNmM5OTQ2YTRiZGI3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jbGsvaW14L2Nsay1m cmFjbi1ncHBsbC5jCkBAIC0wLDAgKzEsMzI4IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll 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 Y2xrX2h3ICpodzsKKwlzdHJ1Y3QgY2xrX2luaXRfZGF0YSBpbml0OworCWludCByZXQ7CisJdTMy IHZhbDsKKworCXBsbCA9IGt6YWxsb2Moc2l6ZW9mKCpwbGwpLCBHRlBfS0VSTkVMKTsKKwlpZiAo IXBsbCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlpbml0Lm5hbWUgPSBuYW1lOwor CWluaXQuZmxhZ3MgPSBwbGxfY2xrLT5mbGFnczsKKwlpbml0LnBhcmVudF9uYW1lcyA9ICZwYXJl bnRfbmFtZTsKKwlpbml0Lm51bV9wYXJlbnRzID0gMTsKKwlpbml0Lm9wcyA9ICZjbGtfZnJhY25f Z3BwbGxfb3BzOworCisJcGxsLT5iYXNlID0gYmFzZTsKKwlwbGwtPmh3LmluaXQgPSAmaW5pdDsK KwlwbGwtPnJhdGVfdGFibGUgPSBwbGxfY2xrLT5yYXRlX3RhYmxlOworCXBsbC0+cmF0ZV9jb3Vu dCA9IHBsbF9jbGstPnJhdGVfY291bnQ7CisKKwlodyA9ICZwbGwtPmh3OworCisJcmV0ID0gY2xr X2h3X3JlZ2lzdGVyKE5VTEwsIGh3KTsKKwlpZiAocmV0KSB7CisJCXByX2VycigiJXM6IGZhaWxl ZCB0byByZWdpc3RlciBwbGwgJXMgJWRcbiIsIF9fZnVuY19fLCBuYW1lLCByZXQpOworCQlrZnJl ZShwbGwpOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKworCXJldHVybiBodzsKK30KK0VY UE9SVF9TWU1CT0xfR1BMKGlteF9jbGtfZnJhY25fZ3BwbGwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jbGsvaW14L2Nsay5oIGIvZHJpdmVycy9jbGsvaW14L2Nsay5oCmluZGV4IDYzZWI3YzUzYjEy My4uYTdjYmJjZDFhM2Y0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nsay9pbXgvY2xrLmgKKysrIGIv ZHJpdmVycy9jbGsvaW14L2Nsay5oCkBAIC03Miw2ICs3MiwyNyBAQCBleHRlcm4gc3RydWN0IGlt eF9wbGwxNHh4X2NsayBpbXhfMTQxNnhfcGxsOwogZXh0ZXJuIHN0cnVjdCBpbXhfcGxsMTR4eF9j bGsgaW14XzE0NDN4X3BsbDsKIGV4dGVybiBzdHJ1Y3QgaW14X3BsbDE0eHhfY2xrIGlteF8xNDQz eF9kcmFtX3BsbDsKIAorLyogTk9URTogUmF0ZSB0YWJsZSBzaG91bGQgYmUga2VwdCBzb3J0ZWQg aW4gZGVzY2VuZGluZyBvcmRlci4gKi8KK3N0cnVjdCBpbXhfZnJhY25fZ3BwbGxfcmF0ZV90YWJs ZSB7CisJdW5zaWduZWQgaW50IHJhdGU7CisJdW5zaWduZWQgaW50IG1maTsKKwl1bnNpZ25lZCBp bnQgbWZuOworCXVuc2lnbmVkIGludCBtZmQ7CisJdW5zaWduZWQgaW50IHJkaXY7CisJdW5zaWdu ZWQgaW50IG9kaXY7Cit9OworCitzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX2NsayB7CisJY29uc3Qg c3RydWN0IGlteF9mcmFjbl9ncHBsbF9yYXRlX3RhYmxlICpyYXRlX3RhYmxlOworCWludCByYXRl X2NvdW50OworCWludCBmbGFnczsKK307CisKK3N0cnVjdCBjbGtfaHcgKmlteF9jbGtfZnJhY25f Z3BwbGwoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcGFyZW50X25hbWUsIHZvaWQgX19p b21lbSAqYmFzZSwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX2NsayAqcGxs X2Nsayk7CisKK2V4dGVybiBzdHJ1Y3QgaW14X2ZyYWNuX2dwcGxsX2NsayBpbXhfZnJhY25fZ3Bw bGw7CisKICNkZWZpbmUgaW14X2Nsa19jcHUobmFtZSwgcGFyZW50X25hbWUsIGRpdiwgbXV4LCBw bGwsIHN0ZXApIFwKIAl0b19jbGsoaW14X2Nsa19od19jcHUobmFtZSwgcGFyZW50X25hbWUsIGRp diwgbXV4LCBwbGwsIHN0ZXApKQogCi0tIAoyLjI1LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==