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 9CC8AC001DC for ; Fri, 21 Jul 2023 14:11:08 +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=0y0naDQMx6OJqTJYDgGqleuD94xAEb/Aj3Vrg991XPA=; b=D01p4BgyIbcaIS 5Mz9d7C6lODaLeunhTyTX2p0QrO5L3ZXz4Ykb0stCTBeHqho7h6GxwoM8Zrg448PvV84JumGZkqX2 lkqtr9WH5u+8IolGMKxq2ZlLWXAJ4BLtK9BU/2mi1Fp/EmaFCvuJlVEhTalB13orR1Bt7yECsl2kD 35WBAS2IIosybGR9dAXOILHi+fsEASC52rUo1Vugwo7D33x72DYXpfGlyNMAewms2M9ML/Itoqj/m b9JaNXi4jFVLxrYzWih+/7U8yVSW2B67Bj4wmiGuFu/dx7GPhB1pqtX07Fm0eQz/x1b2enTSoVWmf r74kIoBQEEtLJJ0YV7AQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qMqqC-00EFJK-1M; Fri, 21 Jul 2023 14:10:44 +0000 Received: from mail-vi1eur04on0618.outbound.protection.outlook.com ([2a01:111:f400:fe0e::618] helo=EUR04-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qMqq9-00EFIZ-0p for linux-arm-kernel@lists.infradead.org; Fri, 21 Jul 2023 14:10:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fG4zC/uAdTFt5tzQuOdh0e387mYrxS8nUud/XkUJYAJ8EKnBeiEuTuSB06pP6NICXR1tFpiVpXaz8Ezk01J64SuLfhE2TSB5ZElvT+5Vv/hnfoK2HXo8W8H/4U3fwfidTUSe5VW0ntfm+QgpHwwUANGFmFwgPhJdBgZSKOMxFWcpLlJn7Xz/HnbjLeLrBb0BL0u59kO3s+2z0eOOJ8BLbtRhVVdA1ooXR0qJ6vD4rc8UzcMnhviyz/7fYU6lxoHza20vH0/EpnqgAbcEcqZXX8LNkmV7wLLIpEQtoeM23UXUUlxWBOyhAl2GwVvcnXSz3nGiV12ISEzgEIuEd78cTg== 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=vweO65zncnXGcKsw8XnRSycf13bKgrFa+UEk3Tzvfv0=; b=SQz9JefIi5urcDOuUrihHk3AZLtvi0LXcz5mRgZMp3NmeWPtztdkfe5YToWtVO43Vnx2ZsC3e84CoBNKgpcF20D+7Z+5B8Umf2sMAUjDHlKBL7QiXzgejE95zBiVa2FHQb8oJpPYPxUBFm4pYXsOgEMeFETaKCkUB2itgvn+ASrjnhf/U9Z58NsWlNQqc0ssh/ElzlfQV1EqvgXHTuc8MwGRg+pmCr97lYqaEwPjmozcuIxeOjCHyt6IesZfdaEAOqkhsDDr5xol7yw+9astN3URICEZzXUMuWW+D2kA2F88Qsnaenh6L/a4xcpcg9xDNARrCbTZayQsXAY+OmoXYQ== 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=vweO65zncnXGcKsw8XnRSycf13bKgrFa+UEk3Tzvfv0=; b=D6Pdr1Stf3DOO9hQFt6FXn2lT0rh+OuEVpuppKIXfyekEpewc9phekmM28x/vTIjLaM+SJi8mfvvA1DmlE4qRqJv3542a6vGEzsFzOytolfGWwO25LlALo1BctJgHto/0tCuEak5CqHipf0TAI+gHQH1atWNvcJN6mP7IlQIsAY= 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 AS4PR04MB9315.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.24; Fri, 21 Jul 2023 14:10:36 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::d0d5:3604:98da:20b1]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::d0d5:3604:98da:20b1%7]) with mapi id 15.20.6609.026; Fri, 21 Jul 2023 14:10:36 +0000 Date: Fri, 21 Jul 2023 10:10:11 -0400 From: Frank Li To: Shawn Lin Cc: Manivannan Sadhasivam , Manivannan Sadhasivam , helgaas@kernel.org, imx@lists.linux.dev, bhelgaas@google.com, devicetree@vger.kernel.org, gustavo.pimentel@synopsys.com, kw@linux.com, leoyang.li@nxp.com, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lorenzo.pieralisi@arm.com, minghuan.lian@nxp.com, mingkai.hu@nxp.com, robh+dt@kernel.org, roy.zang@nxp.com, shawnguo@kernel.org, zhiqiang.hou@nxp.com Subject: Re: [PATCH v3 1/2] PCI: dwc: Implement general suspend/resume functionality for L2/L3 transitions Message-ID: References: <20230419164118.596300-1-Frank.Li@nxp.com> <20230717164526.GC35455@thinkpad> <20230718100400.GB4771@thinkpad> <20230720142509.GB48270@thinkpad> <20230720160738.GC48270@thinkpad> <6f1eb449-5609-0b17-1323-0d114c38d969@rock-chips.com> Content-Disposition: inline In-Reply-To: <6f1eb449-5609-0b17-1323-0d114c38d969@rock-chips.com> X-ClientProxiedBy: BY3PR05CA0014.namprd05.prod.outlook.com (2603:10b6:a03:254::19) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS4PR04MB9315:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f59edaa-665c-4b49-bce1-08db89f4414f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1rekWOZgvoIHXcIpDqmudvv3fiDfChKa+xDGJmxkRH89ONJtn/npUNSMi/CxxZTacy7z4QkfHfMFAPE1IIA4LdF2pF3Cvm+sSWegPkE+BuR4vMjyzQQen6yyV0huFIbpK+B3RhW5fshAcV55HbU1NOVK2zQd7gvh0H6h+YXtdVHDexATOy++4GH2BeDTMLxn8Be/HCf0h+Wg4sMrNJBzFDTQzPqRPmZV5oIruMuOllgAKVgxBM/+71tj1+VgyGkaLntVSlbCRBLjvZBAUclHORXt1kz8cK6YdySzpt/f3rYujmIR3FggHB6aa8ts03pYAcMDnA0j/dHmuaNrnEspjU34SQnDNYBQfvnfgYWHYwB1RdLJKdBgVLnymAPmOAJxgyNNXeUEL20neBgzuIelbUjKSocaSqBN2VThgHeojgQbpuyI0po/+eeCdho8YwDiQUQLBBCbHqNgzIUelFpzVkAZYRrmJ0ilZWsGEnjsyWmkV5FK7BlT9qTg2rBZZl0Uw8+JlNVsB/g1acgy7QULLOF1nkD5bLR1FyUZamqGC3AFD198E8gYP+xa1/1bEqtMxSnmOm5d9qNai6o7hqknhZ7a/PWQ2YnfVWxX6inct1djbHplHqbEtoGxKQUMyG4m 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:(13230028)(4636009)(7916004)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199021)(478600001)(83380400001)(26005)(53546011)(186003)(6506007)(6486002)(6666004)(52116002)(66476007)(66946007)(66556008)(54906003)(38100700002)(38350700002)(9686003)(6512007)(4326008)(6916009)(15650500001)(7416002)(5660300002)(41300700001)(33716001)(8676002)(316002)(8936002)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M01YeXNSTTUrRzkxSDVHRHhobjNzT1ptUEk0UkgvSGJJMXJlYjY2UVUxeUdB?= =?utf-8?B?blZCZGJtaUNwQk5Uek9GSXdrV0dJYXFFM29SWkJDc0V0S2w2bXBhRm9DL2tG?= =?utf-8?B?OTZ4dDZMNWhVclQwSHRBN0drOU0vazhTVTRBQ0RCZytnUnZxQ2lyOWI4WXBJ?= =?utf-8?B?QTk0Y0xET3lIVWttUHVhK1lsZm5waGJsL0YzeVZxZE1NWkxFV2NCdnJZbFEz?= =?utf-8?B?MUhVMUlMUldmc1VHYWExdldwUmd0SDFVbVVYUXp1aGJ4aEZPTHNwWXVGNzA5?= =?utf-8?B?VTZwZ05DbnZmc2lyQW5wT0RlREdBeTdmUVRkaTJKMW5QYTRvVHJ6dnFvNTgx?= =?utf-8?B?TUoyMW9NaWJTNGNlL0RkRFF3eG1IMkFWdHE2ZUVMUEhXTTIrUkhXcFpCeTd1?= =?utf-8?B?UmMvV29wcVl6OVhmYWlROWJ3eFdpVzRaM2RZMVhtMmw2VzBoNGdqTVZjTndy?= =?utf-8?B?STBReHozWU9KdXk1ZTA5MHowQ1JOZlVocnQxQ1hXSXBrRlNwTjROOXo5OEk2?= =?utf-8?B?cElYeGtaR2FTNWRyQ2gxR0RCK0YxU2tjMDhGLzVoS2NHQ0RGYkRyaEVqUFJJ?= =?utf-8?B?bG9OTlBqNkZTL1pOZ2JYcXNRNkdZQTEwVlJTZkRrVG1EODAzb29EMUJJUGZ2?= =?utf-8?B?TjlJUEZzQVdxc3IyNEpxMUFGNDRzTExOeXdmclB2M012M3o0UFRER2JtMkdi?= =?utf-8?B?Z0FnUEU4TnZSd1E3SlBjRXVCMUwzQlZSOEVRVG80b0x4cTNXYjQ3YWsxZjRK?= =?utf-8?B?YmFTTFZ1WVV1aEJobzFPQ01BdzhxTHFFUlU4b3B2cXlCRXZiRlE3T2hoZlFE?= =?utf-8?B?V2FzcllSczBNeG14cUFxaGNHOGZ6eStiLzByQ1F1NmQzQjI2UzNCSEhOZ2Fk?= =?utf-8?B?WHpiUlRrOVlVbmdoaXB3K2hXaG9OQzZhU0JuTUJvdUhIQ09PYW0rTThuaHBH?= =?utf-8?B?WkRqNHBQbXVvMGdNeGlaRHBHZW9lcmJodGd2WmIxZWVYN0VmUy9tMUk4b0Ux?= =?utf-8?B?SnNGQlQzSk9taHBPQk9MMFVReVBIdE40RTkwRkd0bTlMTVltRklDMWFCS1dj?= =?utf-8?B?M0tIcDUzODR0Tmxid0N4aXNBcVZ5Z0QrWGxaL3dqUFQ0VGpndjZXSmJiMnJr?= =?utf-8?B?SC84SDl5eGdUNmxYa0szOEJWajBwOHo0SGtpSHV2dUdTS3FjdmRENGNTK3RP?= =?utf-8?B?K0xoQ3pLRmJxWVNyZi9NcFNEa0wxNyswK0FTSEFMQ1A3aTJJdXBLdXBZSHVY?= =?utf-8?B?TzF2aHEyTmdmWndPWm5rWFZNaHlkKy9QREpablJEMnVpYWNRcFJNeENXNkZw?= =?utf-8?B?dDU3K0duRURtbld5cG1FRVhWSXNQNk5hRU13WmN5emEydlNycnhrSHpBSzhh?= =?utf-8?B?em9GcU8vMWtuMXlwU0M5RFN4ZjV6Ymw0c2RicHlPTkRHSWRncEp1cUR0WDIr?= =?utf-8?B?M05rVlNZWXJ3ZWZya2g0RnVia1gyQTg4dXhjZk5wZ0NPKzRiRitOazVjTXFB?= =?utf-8?B?T0xlOEs2bGpqb2w3QkU0bW1HWFBpUWFnV2J5QnlzN1Vxek54WmYyckQ2QWxJ?= =?utf-8?B?ZWxQSXdkZHppSDZqeXJTMTNvbERCVnBUUFZpemhHb0I4clNEeVNuUTFMUWRR?= =?utf-8?B?RHM0QzVBRHpjMEtmVXpKTFZBMnpKSTF0VUpHZ2hrNG5vTWp0ZWF4VHFVYm5Y?= =?utf-8?B?Q2pHUm5kei9qNHNVRFRxZnpyN1Y1WWo4Ylc3Z1hoV1l2ZmpOYVFOaWVmbUw4?= =?utf-8?B?ZG85TUMvNWp2WTIvbjd6cHNNWW5lODBpV1Q5K3pINlZUcTBSL1JhdVRWQlgx?= =?utf-8?B?ODNtN1M5eXR4dkxxNUVpZTNjYWFYdGZrcjFMaTlDdi9xNzQvNFpIYmRwYlpy?= =?utf-8?B?WmZHMzFlQmZXd1JFSWtDdEZTSU1JYWxrTHhabGtGZVhmdUpWaExUb2s3ZjNu?= =?utf-8?B?cGRZODJha2lkZ2FEN0VGQWUwTFo0cjlHa1FPa05FcU9ueHVlR001aWVhZExr?= =?utf-8?B?clNWSm4vU3gvUW5VNkVJbE9nQ1hVeCtxMDYrYUhodFc3UytJU1RBU0ZMR3lS?= =?utf-8?B?UHhvb2hlUEZ5NFJrc0Zrb0hwN3k0Z291Mm4yR2VFaHRPeUJEZ2ZBSGpIZjg5?= =?utf-8?Q?sJtj3D7JlsGn9M7ooUKWytiEx?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f59edaa-665c-4b49-bce1-08db89f4414f X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2023 14:10:36.5143 (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: h67eAdJAd9jw2QB0XaFfUvVAb3WvPexgVNMTYfv6sB/NUJ/7fj1wMa3hmGYHUo1m4gh2UnI4vJA8nSbsrUJ+2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9315 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230721_071041_355617_61F81493 X-CRM114-Status: GOOD ( 34.33 ) 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 T24gRnJpLCBKdWwgMjEsIDIwMjMgYXQgMTA6MDk6MThBTSArMDgwMCwgU2hhd24gTGluIHdyb3Rl Ogo+IAo+IE9uIDIwMjMvNy8yMSAwOjA3LCBNYW5pdmFubmFuIFNhZGhhc2l2YW0gd3JvdGU6Cj4g PiBPbiBUaHUsIEp1bCAyMCwgMjAyMyBhdCAxMDozNzozNkFNIC0wNDAwLCBGcmFuayBMaSB3cm90 ZToKPiA+ID4gT24gVGh1LCBKdWwgMjAsIDIwMjMgYXQgMDc6NTU6MDlQTSArMDUzMCwgTWFuaXZh bm5hbiBTYWRoYXNpdmFtIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgSnVsIDE4LCAyMDIzIGF0IDAz OjM0OjI2UE0gKzA1MzAsIE1hbml2YW5uYW4gU2FkaGFzaXZhbSB3cm90ZToKPiA+ID4gPiA+IE9u IE1vbiwgSnVsIDE3LCAyMDIzIGF0IDAyOjM2OjE5UE0gLTA0MDAsIEZyYW5rIExpIHdyb3RlOgo+ ID4gPiA+ID4gPiBPbiBNb24sIEp1bCAxNywgMjAyMyBhdCAxMDoxNToyNlBNICswNTMwLCBNYW5p dmFubmFuIFNhZGhhc2l2YW0gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gV2VkLCBBcHIgMTksIDIw MjMgYXQgMTI6NDE6MTdQTSAtMDQwMCwgRnJhbmsgTGkgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBJ bnRyb2R1Y2VkIGhlbHBlciBmdW5jdGlvbiBkd19wY2llX2dldF9sdHNzbSB0byByZXRyaWV2ZSBT TUxIX0xUU1NfU1RBVEUuCj4gPiA+ID4gPiA+ID4gPiBBZGRlZCBBUEkgcG1lX3R1cm5fb2ZmIGFu ZCBleGl0X2Zyb21fbDIgZm9yIG1hbmFnaW5nIEwyL0wzIHN0YXRlIHRyYW5zaXRpb25zLgo+ID4g PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBUeXBpY2FsIEwyIGVudHJ5IHdvcmtmbG93Ogo+ ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiAxLiBUcmFuc21pdCBQTUUgdHVybiBvZmYg c2lnbmFsIHRvIFBDSSBkZXZpY2VzLgo+ID4gPiA+ID4gPiA+ID4gMi4gQXdhaXQgbGluayBlbnRl cmluZyBMMl9JRExFIHN0YXRlLgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IEFGQUlLLCB0 eXBpY2FsIHdvcmtmbG93IGlzIHRvIHdhaXQgZm9yIFBNRV9Ub19BY2suCj4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiAxIEFscmVhZHkgd2FpdCBmb3IgUE1FX3RvX0FDSywgIDIsIGp1c3Qgd2FpdCBm b3IgbGluayBhY3R1YWwgZW50ZXIgTDIuCj4gPiA+ID4gPiA+IEkgdGhpbmsgUENJIFJDIG5lZWRz IHNvbWUgdGltZSB0byBzZXQgbGluayBlbnRlciBMMiBhZnRlciBnZXQgQUNLIGZyb20KPiA+ID4g PiA+ID4gUE1FLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBPbmUgbW9yZSBjb21tZW50 LiBJZiB5b3UgdHJhbnNpdGlvbiB0aGUgZGV2aWNlIHRvIEwyL0wzLCB0aGVuIGl0IGNhbiBsb29z ZSBwb3dlcgo+ID4gPiA+IGlmIFZhdXggd2FzIG5vdCBwcm92aWRlZC4gSW4gdGhhdCBjYXNlLCBj YW4gYWxsIHRoZSBkZXZpY2VzIHdvcmsgYWZ0ZXIgcmVzdW1lPwo+ID4gPiA+IE1vc3Qgbm90YWJs eSBOVk1lPwo+ID4gPiAKPiA+ID4gSSBoYXZlIG5vdCBoYXJkd2FyZSB0byBkbyBzdWNoIHRlc3Qs IE5WTWUgZHJpdmVyIHdpbGwgcmVpbml0IGV2ZXJ5dGhpbmcgYWZ0ZXIKPiA+ID4gcmVzdW1lIGlm IG5vIEwxLjFcTDEuMiBzdXBwb3J0LiBJZiB0aGVyZSBhcmUgTDEuMVxMMS4yLCBOVk1FIGV4cGVj dCBpdCBsZWF2ZQo+ID4gPiBhdCBMMS4yIGF0IHN1c3BlbmQgdG8gZ2V0IGJldHRlciByZXN1bWUg bGF0ZW5jeS4KPiA+ID4gCj4gPiAKPiA+IFRvIGJlIHByZWNpc2UsIE5WTWUgZHJpdmVyIHdpbGwg c2h1dGRvd24gdGhlIGRldmljZSBpZiB0aGVyZSBpcyBubyBBU1BNIHN1cHBvcnQKPiA+IGFuZCBr ZWVwIGl0IGluIGxvdyBwb3dlciBtb2RlIG90aGVyd2lzZSAodGhlcmUgYXJlIG90aGVyIGNhc2Vz IGFzIHdlbGwgYnV0IHdlIGRvCj4gPiBub3QgbmVlZCB0byB3b3JyeSkuCj4gPiAKPiA+IEJ1dCBo ZXJlIHlvdSBhcmUgbm90IGNoZWNraW5nIGZvciBBU1BNIHN0YXRlIGluIHRoZSBzdXNwZW5kIHBh dGgsIGFuZCBqdXN0Cj4gPiBmb3JjaW5nIHRoZSBsaW5rIHRvIGJlIGluIEwyL0wzICh0aGVyZWJ5 IEQzQ29sZCkgZXZlbiB0aG91Z2ggTlZNZSBkcml2ZXIgbWF5Cj4gPiBleHBlY3QgaXQgdG8gYmUg aW4gbG93IHBvd2VyIHN0YXRlIGxpa2UgQVNQTS9BUFNULgo+ID4gCj4gPiBTbyB5b3Ugc2hvdWxk IG9ubHkgcHV0IHRoZSBsaW5rIHRvIEwyL0wzIGlmIHRoZXJlIGlzIG5vIEFTUE0gc3VwcG9ydC4g T3RoZXJ3aXNlLAo+ID4geW91J2xsIGVuZGluZyB1cCB3aXRoIGJ1ZyByZXBvcnRzIHdoZW4gdXNl cnMgY29ubmVjdCBOVk1lIHRvIGl0Lgo+ID4gCj4gCj4gCj4gQXQgdGhpcyB0b3BpYywgaXQncyB2 ZXJ5IGludGVyZXN0aW5nIHRvIGxvb2sgYXQKPiAKPiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3 Yy9wY2llLXRlZ3JhMTk0LmMKPiAKPiAKPiBzdGF0aWMgaW50IHRlZ3JhX3BjaWVfZHdfc3VzcGVu ZF9ub2lycShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gewo+ICAgICAgICAgc3RydWN0IHRlZ3JhX3Bj aWVfZHcgKnBjaWUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAKPiAgICAgICAgIGlmICghcGNp ZS0+bGlua19zdGF0ZSkKPiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gCj4gICAgICAgICB0 ZWdyYV9wY2llX2Rvd25zdHJlYW1fZGV2X3RvX0QwKHBjaWUpOwo+ICAgICAgICAgdGVncmFfcGNp ZV9kd19wbWVfdHVybm9mZihwY2llKTsKPiAgICAgICAgIHRlZ3JhX3BjaWVfdW5jb25maWdfY29u dHJvbGxlcihwY2llKTsKPiAKPiAgICAgICAgIHJldHVybiAwOwo+IH0KPiAKPiBJdCBicmluZ3Mg YmFjayBhbGwgdGhlIGRvd25zdHJlYW0gY29tcG9uZW50cyB0byBEMCwgYXMgSSBhc3N1bWVkIGl0 IHdhcyBMMAo+IGluZGVlZCwgYmVmb3JlIHNlbmRpbmcgUE1FIGFpbWluZyB0byBlbnRlciBMMi4K CklmIGN1cnJlbnQgc3RhdGUgaXMgTDEuMSBvciBMMS4yLCBoYXJkd2FyZSBjYW4gYXV0byBlbnRl ciB0byBEMFxMMCB3aGVuCnRoZXJlIGFyZSBhbnkgUENJIGJ1cyBhY3Rpdml0eSwgaW5jbHVkZSBQ TUUuIEkgc3VwcG9zZWQKdGVncmFfcGNpZV9kb3duc3RyZWFtX2Rldl90b19EMCgpIGp1c3QgbWFr ZSBzdXJlIGNvbWUgYmFjayBmcm9tIEwyL0wzLAp3aGljaCBtYXkgZW50ZXIgYnkgcnVudGltZSBQ TSBwcmV2aW91c2x5LCBvciBvdGhlciByZWFzb24uCgpOVk1FIEFTUE0gcHJvYmxlbSBpcyAoYXQg bGVhc3Qgd2hlbiBJIGRlYnVnIGF0IG90aGVyIHBsYXRmb3JtIGFib3V0IDEgeWVhcgphZ28pOiAK CiAgICAxLiBOVk1FIHdpbGwgbm90IHJlbGVhc2UgTVNJIGludGVycnVwdCBkdXJpbmcgc3VzcHNl bmQuCiAgICAyLiBQQ0kgY29udHJvbGVyIGVudGVyIEwyIGF0IHN1c3BuZWRfbm9pcnEoKTsKICAg IDMuIENQVSBob3QgcGx1ZyB0cnkgdG8gZG93biBzZWNvbmQgY29yZSAoQ09SRTEsIENPUkUyLCAu Li4pCiAgICA0LiBHSUMgdHJ5IHRvIGRpc2FibGUgTVNJIGlycSBieSB3cml0ZSBjb25maWcgc3Bh Y2UuCiAgICA1LiBwYW5pYyBoZXJlIGJlY2F1c2UgY29uZmlnIHNwYWNlIGNhbid0IGJlIGFjY2Vz cyBhdCBMMi4KCkkgc3Vwb3NlZCB0ZWdyYSBzaG91bGQgaGF2ZSBwcm9ibGVtIHdoZW4gQVNQTSBl bmFibGUgd2l0aCBOVk1FIGRldmljZXMuCgpGcmFuawo+IAo+ID4gLSBNYW5pCj4gPiAKPiA+ID4g VGhpcyBBUEkgaGVscCByZW1vdmUgZHVwbGljYXRlIGNvZGVzIGFuZCBpdCBjYW4gYmUgaW1wcm92 ZWQgZ3JhZHVhbGx5Lgo+ID4gPiAKPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gLSBNYW5pCj4gPiA+ ID4gCj4gPiA+ID4gCj4gPiA+ID4gLS0gCj4gPiA+ID4g4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p 4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQo+ID4gCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==