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 597E3EB64DC for ; Fri, 21 Jul 2023 16:22:28 +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=6+NWwIKok4dk6TLnq8Y9boy1z+09gOa016PuPflCYPM=; b=NqW8ZhJ29ioCS4 jblFXuEWr2lFo50u2qxbYsa/294QVOPj8lCMCxW7pXM6wcI2YKeZazq8xvxQtCKw/V2DKHJu7PMRp izkLZ3s7Cpj0v+gDQGW5YIuy1h7kCyrbJ6YYHRuNL98zQxya56li0Er7zeZks9Skt4GKawHjrNquQ i8++u4UxdrufEZWGKi3JRTwZ0Th6lv7AXZF0QkAiRGlNefocF5oEu1eCNruS5K97bfC50YQITxmme ub3Rp54T9Vh0RX5XKGCJa/SToydjIuetVsgLIxMYv+5bINyvuaQhe+YRrGYX8hoYi8nxbKdyelHtm NQ0fsBblUsYvlqGnmlHQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qMstI-00EZhi-08; Fri, 21 Jul 2023 16:22:04 +0000 Received: from mail-vi1eur02on2062f.outbound.protection.outlook.com ([2a01:111:f400:fe16::62f] helo=EUR02-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qMstE-00EZfT-1d for linux-arm-kernel@lists.infradead.org; Fri, 21 Jul 2023 16:22:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4qFMjjrEohpdNqoQxdUo2UESp/oxNtsnILoxSWRGTcTaxp/lHeh9QqQ0MqDlmWxjx5UktA+jvjtOfrAzzf8N4TaRDPMHmekAYNGOTMQXwM+vZG1FYnc/RmzIJIIOsI72Lb8sn8WV982TdieGozchZYPayQQHwikSKipiaJywpC+tzscW3r+RUKO03KxI3kg0DBBCidmvJ1+NPrujIcvg5mUVV3QE/BYL+89pTPrRpafalemVpj8gv9Rtpu5W7w8AgNHHMeYuj+n3f5i6paOnkPLs+9stmBDSxRwfliFtzhXJw2dpCrN8fyjrpeBX+pBKZW7vYxeE1DDDZ9mObHCPQ== 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=+AXxNZYV5AqcMSbwWRmxRv3/GZrtwZ/ftRzRZwL2mGE=; b=hFoR7TmEFVnNhxMa4G0UcUAXJPh7s51xEeKJ2tcQpe6X00YU7gPClWwyBaTmUyyuT+i0AcmiNFoxG9kMSZ/Vga/f1sikb8FZ15y9JRCFJtJcM1jDsYS3pYr4Myg0NgxGM/wJMJl3xdanroFlzOEnRE4JliAUII7aPyH8iUyxZ8ZPLSP3Xw+K6zhdtsWlhPULghmWErL0a6PSI+CZRUdtoxfMVN1vrimvKSpO1CDS1rDbiq5OH7SVxc2aXBbrfEaIKDJppA7poagqmwdxwVtXd/I4R8L7tBZR+Str1EjHgdYX/ogs7SMilEePmVkAX/fctXvi07sdB4D987jv9VAerA== 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=+AXxNZYV5AqcMSbwWRmxRv3/GZrtwZ/ftRzRZwL2mGE=; b=bD1/0/WiX1ccTPIa54gIlcPnk8qgwUT33c2gPP2Sj2mi31PqIZA5bwI0p0vjwo/FHaCEu5kv16bPY7t5TAqxL1D5QCLFE+2Rk2o6vkW0kFtgaICMmlEfNjIFhox2c+3+zcV89VTePYD+itKPeRAhOahtBxVsYOmAOT6sOUj7pVM= 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 PA4PR04MB7680.eurprd04.prod.outlook.com (2603:10a6:102:f3::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.28; Fri, 21 Jul 2023 16:21:54 +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 16:21:54 +0000 Date: Fri, 21 Jul 2023 12:21:38 -0400 From: Frank Li To: Manivannan Sadhasivam Cc: Shawn Lin , 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> <20230721160755.GD2536@thinkpad> Content-Disposition: inline In-Reply-To: <20230721160755.GD2536@thinkpad> X-ClientProxiedBy: SJ0PR05CA0100.namprd05.prod.outlook.com (2603:10b6:a03:334::15) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|PA4PR04MB7680:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f19a52a-aa1f-47df-5c30-08db8a0698bb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J3ymwkhE4h37F6XG8ZWsEOZvI0PDYU6EP041EuvS//FTJeBfW/dgnJqtlwLigEbIMwxTQO38QZpAxv4sIJlpeXfwtcxp1bVafzGmzT3tM7t+k4WKXrSn3UajNftlPG+goHXusCryC+NwXrABkNMqTeLZL6Bny4E/IwE16dfgocKZLkrdEc/QG/KJ7uXS/7T9r5feG434LxvRD/n+DmgAstGOKGGUHusavZvRlWt8Zf4plqOTbc0lmDqdL3P/R1wNl6NwjTzzIZEcSzWWofENXfG90G53gXz4fl/URNOwjK6o3Y/n2pzmztUKDVxNYUIIAvUubuDaBFWzGuKum4mBPeHlmkOdZy83474UdxAXTxoBvT5mHI8MLoPZHs1q8p7sQ9CPPNdqTkJ8JiypGQBkyqQYiA7Yvvo3zMLhoCa9PV9yTndbqF0dzPM0wSNBL/uDFeJq75HfcRwZko1ARqR6Vy5ASB1pbjKP66PyjHJDGGJ7zMB256G34MQ6MYlWDr4qF5bMLcAofrvP9Wwnru3kxI74narFaFqcJvhnlPW3gyEmhoF6ALIH6fO+hLEJ0re82RzUqoxp9r0hf+iMtC0Pwgenbha+YlTZdovpKb5OuXyRwdI8aoca6wsCPc+Yf9A7 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)(7916004)(4636009)(396003)(346002)(376002)(366004)(39860400002)(136003)(451199021)(6506007)(53546011)(15650500001)(186003)(26005)(478600001)(5660300002)(33716001)(41300700001)(316002)(6916009)(4326008)(54906003)(66556008)(66476007)(66946007)(8936002)(8676002)(7416002)(38350700002)(38100700002)(52116002)(9686003)(6512007)(6666004)(6486002)(86362001)(2906002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MnUzbCtxZHN1L3dZejY0NkVJTFVKSTZnT2lTWStab1FvdWNwTUpwUlZPWms4?= =?utf-8?B?WHpLZHFIVTJ3M3dTNG8yRXlyWXVzV1J4Ryt2akJzMUk1ME9NcWFsWWNjTE81?= =?utf-8?B?enlnbm96SVFHTDU2OXA0blQ5UVVnTmg5Z0x6TUJ6amYxUHhsQ1N6UUJSZWxw?= =?utf-8?B?OWwzT0FLcFFDQnJTa1VVY1dYdFhUNDY4V1pwZlAySittc1NHY2ZyZWMzYWZP?= =?utf-8?B?R0dWRmVZalBVakpnWGdVaVUwaWNNaGZlMFFZQXRQaXpXZUwraWdFelhndEsv?= =?utf-8?B?R2dObEJ6ZGNjL3krR0hLc0hhK3VmYXRtR2RBdWlDa01tb05VYVNqejU4amZ5?= =?utf-8?B?ZThva1lsMXRjYjBTZTlWbm9RSDRoRERmYnJYeEx5bXhOdGY5QnVoT0lEbW45?= =?utf-8?B?RHBNdTRwN3BoMlluU3NPTE1xZGNWeDJKdS9GdGtLMXRhb2VqbHNVM215d2Z4?= =?utf-8?B?VFlveVc5bzlkYTlYMHZscXpTL2UwSlhZMmxqTUx2blQ4ci9KS1huNlRmQ2g3?= =?utf-8?B?eStBQ1BYZHJnRE04eVpYMXdPbm9WeEZlNndwdG13bnBFUk9ydEp2RlNLdlZz?= =?utf-8?B?REp5SDRDRDM3RmZTZnZ2RmN0VXVyQzVUOS9YL1owM01FUmU4QXZ3TlRHeGxU?= =?utf-8?B?b0c0NzFvU3hWNlV3dUw2OEdvVGlSMmxuN1krZ05mOU5Rd3JGdTduVytVdEFX?= =?utf-8?B?OTk0aWpRcHpCZnRjMXVkSXAwM3hzaCtUOWUzOUNXTHBGbHVueUh1TFJLY0VN?= =?utf-8?B?cnRXRmRKbldlamFPTlRyd1hsdnhhdFNjVnRWUlgyNlVld21FZmtMd0Y0QnhS?= =?utf-8?B?eHhMaHNWSHlaa0FxaVE3dkd6aCs2QTU0K3R5TkNNNzQzQ0Y1WHRTT1E3S3hu?= =?utf-8?B?VldYMkdCVkdrME54V2dZbS9BUkJ1U2dVcmpMcXlGalQ0bEhlWFZvZmlQaTFS?= =?utf-8?B?RFZWcUtVVWh0UEFiNFBDdUYwSmdhZFhTcEM4UGtZRXhnc3RIejM2aHJoWWVt?= =?utf-8?B?aGpsbGZpVFVIYi9FUXErUjJxU0k4WllZVmthY05TS2x5bkc2bk5jT1pyblZS?= =?utf-8?B?b3VXUk15eWR1VDFERVN3L1FxLzIyTDhOcTV6MUplNDJ4TDhRUVJTQi9CZEN6?= =?utf-8?B?dm51SERSMEZpVXBVYjh6TSt4cXVndHprdUtDYTM5TStMY2hObkF6REdtaXVm?= =?utf-8?B?MDhuSXRXYmJ3M3p3TWJRL3BHM1RXRUMwWU5PaWhPY2p3QWlQMFF0K1gvdlVi?= =?utf-8?B?OTc4dTBXOGhQRnV6QzNEOEIwSEE2SnRHMFhJNUR5SklnYTNCVyt0TmcybXVN?= =?utf-8?B?T0R3ZE5LekF6MTY1OTZvOUttdXVzWnFuOTQ3N09IRkVQUWIwRytPNktZc0Ns?= =?utf-8?B?aW5nUjVGY3c1bDdhUnVDeTJyTis1aVVFTlZQWklUbDZOV2tHaTV5NlZubFc4?= =?utf-8?B?ZDdOeTFWUFJiNTdlVVMzQ3MrQXNuZlk2enNIOWgrZnQwUUk5WDBhVmJGcWh6?= =?utf-8?B?Z29NeDk0Rm1DeEVhZEZaNFZqMEZnaURiUndBeEdMNjN2U1VDdkxlbUVSS3hk?= =?utf-8?B?cHZzNHFpRmZHeTNQN2xCZ0J0SFo1RVFpVCtUNzZWcWtpd1BMaEQ3QzVTOFBJ?= =?utf-8?B?YzBjTEV0V1JpQlBuc3V5bzZxbnovZmdCS0l2YVJzY3ZRWjUwdmtTRGdLQ255?= =?utf-8?B?ektlb3lJY1doaVZkb2NsZHdWeW9yblhKZHFOVEhtZFR2VXpvQUU3ckFrWmVr?= =?utf-8?B?K0hEMW92SGU3QXAzUEd1YXBXWCtycFE2c1dIeWM0UlRsRkRhMm41REsxLzNo?= =?utf-8?B?aUZqdy90TEp0M0F3YzJDMzF0Z1RhS0I1SURKekJNQlh3anZ4eGtKV0drVm9C?= =?utf-8?B?MkdpT0JIVFhYeVVZNng1dGdqUjBiV1FXWFZPSUlPS2l1SHpLbU0zVUxDMmo0?= =?utf-8?B?Y1JDRGl1SUhPcDBrWllpODlHOGhiZHFaVzNlbmt6Y3RFQkczYmt5alhZSTdS?= =?utf-8?B?amlSaXNiaWJNaXB2YTNDVDZkaDcybHhOM3JJaVRLcXowTnRwNjc4bmE0dEtv?= =?utf-8?B?ZTBIQ2VOdlhnS01pRE9HNXhJR081c2s0SXRwaTI2d1lpT2V2dVRua2hGbTM1?= =?utf-8?Q?o6tE=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f19a52a-aa1f-47df-5c30-08db8a0698bb X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2023 16:21:54.2916 (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: qr4EuJUjo8HFWmGeZzHNPzWA5BP6bARLWw7XD3Wxn6pbNXWy4PSEBMC2wNb1UYREprWYT7OM9ubeENi1+im2LA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7680 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230721_092200_750344_E0853A2D X-CRM114-Status: GOOD ( 53.64 ) 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 T24gRnJpLCBKdWwgMjEsIDIwMjMgYXQgMDk6Mzc6NTVQTSArMDUzMCwgTWFuaXZhbm5hbiBTYWRo YXNpdmFtIHdyb3RlOgo+IE9uIEZyaSwgSnVsIDIxLCAyMDIzIGF0IDEwOjEwOjExQU0gLTA0MDAs IEZyYW5rIExpIHdyb3RlOgo+ID4gT24gRnJpLCBKdWwgMjEsIDIwMjMgYXQgMTA6MDk6MThBTSAr MDgwMCwgU2hhd24gTGluIHdyb3RlOgo+ID4gPiAKPiA+ID4gT24gMjAyMy83LzIxIDA6MDcsIE1h bml2YW5uYW4gU2FkaGFzaXZhbSB3cm90ZToKPiA+ID4gPiBPbiBUaHUsIEp1bCAyMCwgMjAyMyBh dCAxMDozNzozNkFNIC0wNDAwLCBGcmFuayBMaSB3cm90ZToKPiA+ID4gPiA+IE9uIFRodSwgSnVs IDIwLCAyMDIzIGF0IDA3OjU1OjA5UE0gKzA1MzAsIE1hbml2YW5uYW4gU2FkaGFzaXZhbSB3cm90 ZToKPiA+ID4gPiA+ID4gT24gVHVlLCBKdWwgMTgsIDIwMjMgYXQgMDM6MzQ6MjZQTSArMDUzMCwg TWFuaXZhbm5hbiBTYWRoYXNpdmFtIHdyb3RlOgo+ID4gPiA+ID4gPiA+IE9uIE1vbiwgSnVsIDE3 LCAyMDIzIGF0IDAyOjM2OjE5UE0gLTA0MDAsIEZyYW5rIExpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ ID4gT24gTW9uLCBKdWwgMTcsIDIwMjMgYXQgMTA6MTU6MjZQTSArMDUzMCwgTWFuaXZhbm5hbiBT YWRoYXNpdmFtIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiBPbiBXZWQsIEFwciAxOSwgMjAyMyBh dCAxMjo0MToxN1BNIC0wNDAwLCBGcmFuayBMaSB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiBJ bnRyb2R1Y2VkIGhlbHBlciBmdW5jdGlvbiBkd19wY2llX2dldF9sdHNzbSB0byByZXRyaWV2ZSBT TUxIX0xUU1NfU1RBVEUuCj4gPiA+ID4gPiA+ID4gPiA+ID4gQWRkZWQgQVBJIHBtZV90dXJuX29m ZiBhbmQgZXhpdF9mcm9tX2wyIGZvciBtYW5hZ2luZyBMMi9MMyBzdGF0ZSB0cmFuc2l0aW9ucy4K PiA+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gPiBUeXBpY2FsIEwyIGVudHJ5 IHdvcmtmbG93Ogo+ID4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiA+IDEuIFRy YW5zbWl0IFBNRSB0dXJuIG9mZiBzaWduYWwgdG8gUENJIGRldmljZXMuCj4gPiA+ID4gPiA+ID4g PiA+ID4gMi4gQXdhaXQgbGluayBlbnRlcmluZyBMMl9JRExFIHN0YXRlLgo+ID4gPiA+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gQUZBSUssIHR5cGljYWwgd29ya2Zsb3cgaXMgdG8gd2Fp dCBmb3IgUE1FX1RvX0Fjay4KPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gMSBBbHJl YWR5IHdhaXQgZm9yIFBNRV90b19BQ0ssICAyLCBqdXN0IHdhaXQgZm9yIGxpbmsgYWN0dWFsIGVu dGVyIEwyLgo+ID4gPiA+ID4gPiA+ID4gSSB0aGluayBQQ0kgUkMgbmVlZHMgc29tZSB0aW1lIHRv IHNldCBsaW5rIGVudGVyIEwyIGFmdGVyIGdldCBBQ0sgZnJvbQo+ID4gPiA+ID4gPiA+ID4gUE1F Lgo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBPbmUgbW9yZSBjb21t ZW50LiBJZiB5b3UgdHJhbnNpdGlvbiB0aGUgZGV2aWNlIHRvIEwyL0wzLCB0aGVuIGl0IGNhbiBs b29zZSBwb3dlcgo+ID4gPiA+ID4gPiBpZiBWYXV4IHdhcyBub3QgcHJvdmlkZWQuIEluIHRoYXQg Y2FzZSwgY2FuIGFsbCB0aGUgZGV2aWNlcyB3b3JrIGFmdGVyIHJlc3VtZT8KPiA+ID4gPiA+ID4g TW9zdCBub3RhYmx5IE5WTWU/Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IEkgaGF2ZSBub3QgaGFyZHdh cmUgdG8gZG8gc3VjaCB0ZXN0LCBOVk1lIGRyaXZlciB3aWxsIHJlaW5pdCBldmVyeXRoaW5nIGFm dGVyCj4gPiA+ID4gPiByZXN1bWUgaWYgbm8gTDEuMVxMMS4yIHN1cHBvcnQuIElmIHRoZXJlIGFy ZSBMMS4xXEwxLjIsIE5WTUUgZXhwZWN0IGl0IGxlYXZlCj4gPiA+ID4gPiBhdCBMMS4yIGF0IHN1 c3BlbmQgdG8gZ2V0IGJldHRlciByZXN1bWUgbGF0ZW5jeS4KPiA+ID4gPiA+IAo+ID4gPiA+IAo+ ID4gPiA+IFRvIGJlIHByZWNpc2UsIE5WTWUgZHJpdmVyIHdpbGwgc2h1dGRvd24gdGhlIGRldmlj ZSBpZiB0aGVyZSBpcyBubyBBU1BNIHN1cHBvcnQKPiA+ID4gPiBhbmQga2VlcCBpdCBpbiBsb3cg cG93ZXIgbW9kZSBvdGhlcndpc2UgKHRoZXJlIGFyZSBvdGhlciBjYXNlcyBhcyB3ZWxsIGJ1dCB3 ZSBkbwo+ID4gPiA+IG5vdCBuZWVkIHRvIHdvcnJ5KS4KPiA+ID4gPiAKPiA+ID4gPiBCdXQgaGVy ZSB5b3UgYXJlIG5vdCBjaGVja2luZyBmb3IgQVNQTSBzdGF0ZSBpbiB0aGUgc3VzcGVuZCBwYXRo LCBhbmQganVzdAo+ID4gPiA+IGZvcmNpbmcgdGhlIGxpbmsgdG8gYmUgaW4gTDIvTDMgKHRoZXJl YnkgRDNDb2xkKSBldmVuIHRob3VnaCBOVk1lIGRyaXZlciBtYXkKPiA+ID4gPiBleHBlY3QgaXQg dG8gYmUgaW4gbG93IHBvd2VyIHN0YXRlIGxpa2UgQVNQTS9BUFNULgo+ID4gPiA+IAo+ID4gPiA+ IFNvIHlvdSBzaG91bGQgb25seSBwdXQgdGhlIGxpbmsgdG8gTDIvTDMgaWYgdGhlcmUgaXMgbm8g QVNQTSBzdXBwb3J0LiBPdGhlcndpc2UsCj4gPiA+ID4geW91J2xsIGVuZGluZyB1cCB3aXRoIGJ1 ZyByZXBvcnRzIHdoZW4gdXNlcnMgY29ubmVjdCBOVk1lIHRvIGl0Lgo+ID4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IEF0IHRoaXMgdG9waWMsIGl0J3MgdmVyeSBpbnRlcmVzdGluZyB0byBsb29r IGF0Cj4gPiA+IAo+ID4gPiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLXRlZ3JhMTk0 LmMKPiA+ID4gCj4gPiA+IAo+ID4gPiBzdGF0aWMgaW50IHRlZ3JhX3BjaWVfZHdfc3VzcGVuZF9u b2lycShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gPiA+IHsKPiA+ID4gICAgICAgICBzdHJ1Y3QgdGVn cmFfcGNpZV9kdyAqcGNpZSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ID4gPiAKPiA+ID4gICAg ICAgICBpZiAoIXBjaWUtPmxpbmtfc3RhdGUpCj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4g MDsKPiA+ID4gCj4gPiA+ICAgICAgICAgdGVncmFfcGNpZV9kb3duc3RyZWFtX2Rldl90b19EMChw Y2llKTsKPiA+ID4gICAgICAgICB0ZWdyYV9wY2llX2R3X3BtZV90dXJub2ZmKHBjaWUpOwo+ID4g PiAgICAgICAgIHRlZ3JhX3BjaWVfdW5jb25maWdfY29udHJvbGxlcihwY2llKTsKPiA+ID4gCj4g PiA+ICAgICAgICAgcmV0dXJuIDA7Cj4gPiA+IH0KPiA+ID4gCj4gPiA+IEl0IGJyaW5ncyBiYWNr IGFsbCB0aGUgZG93bnN0cmVhbSBjb21wb25lbnRzIHRvIEQwLCBhcyBJIGFzc3VtZWQgaXQgd2Fz IEwwCj4gPiA+IGluZGVlZCwgYmVmb3JlIHNlbmRpbmcgUE1FIGFpbWluZyB0byBlbnRlciBMMi4K PiA+IAo+ID4gSWYgY3VycmVudCBzdGF0ZSBpcyBMMS4xIG9yIEwxLjIsIGhhcmR3YXJlIGNhbiBh dXRvIGVudGVyIHRvIEQwXEwwIHdoZW4KPiA+IHRoZXJlIGFyZSBhbnkgUENJIGJ1cyBhY3Rpdml0 eSwgaW5jbHVkZSBQTUUuIEkgc3VwcG9zZWQKPiA+IHRlZ3JhX3BjaWVfZG93bnN0cmVhbV9kZXZf dG9fRDAoKSBqdXN0IG1ha2Ugc3VyZSBjb21lIGJhY2sgZnJvbSBMMi9MMywKPiA+IHdoaWNoIG1h eSBlbnRlciBieSBydW50aW1lIFBNIHByZXZpb3VzbHksIG9yIG90aGVyIHJlYXNvbi4KPiA+IAo+ ID4gTlZNRSBBU1BNIHByb2JsZW0gaXMgKGF0IGxlYXN0IHdoZW4gSSBkZWJ1ZyBhdCBvdGhlciBw bGF0Zm9ybSBhYm91dCAxIHllYXIKPiA+IGFnbyk6IAo+ID4gCj4gPiAgICAgMS4gTlZNRSB3aWxs IG5vdCByZWxlYXNlIE1TSSBpbnRlcnJ1cHQgZHVyaW5nIHN1c3BzZW5kLgo+ID4gICAgIDIuIFBD SSBjb250cm9sZXIgZW50ZXIgTDIgYXQgc3VzcG5lZF9ub2lycSgpOwo+ID4gICAgIDMuIENQVSBo b3QgcGx1ZyB0cnkgdG8gZG93biBzZWNvbmQgY29yZSAoQ09SRTEsIENPUkUyLCAuLi4pCj4gPiAg ICAgNC4gR0lDIHRyeSB0byBkaXNhYmxlIE1TSSBpcnEgYnkgd3JpdGUgY29uZmlnIHNwYWNlLgo+ IAo+IEp1c3QgZm9yIHRoZSByZWNvcmQsIHRoaXMgd2lsbCBvbmx5IGhhcHBlbiBkdXJpbmcgZGVl cCBzbGVlcCAoczJyYW0pIHdoZXJlIHRoZQo+IENQVXMgYXJlIHBvd2VyZWQgZG93biAoaW5jbHVk aW5nIHRoZSBib290IENQVSkuCj4gCj4gPiAgICAgNS4gcGFuaWMgaGVyZSBiZWNhdXNlIGNvbmZp ZyBzcGFjZSBjYW4ndCBiZSBhY2Nlc3MgYXQgTDIuCj4gPiAKPiA+IEkgc3Vwb3NlZCB0ZWdyYSBz aG91bGQgaGF2ZSBwcm9ibGVtIHdoZW4gQVNQTSBlbmFibGUgd2l0aCBOVk1FIGRldmljZXMuCj4g PiAKPiAKPiBOVk1lIHN1c3BlbmQgaXNzdWUgaGFzIHNldmVyYWwgZmFjZXM6Cj4gCj4gSWYgTlZN ZSBpcyBwb3dlcmVkIGRvd24gZHVyaW5nIHN1c3BlbmQsIGl0IHdpbGwgcmVzdWx0IGluIGNvbnNp ZGVyYWJsZSBwb3dlcgo+IHNhdmluZ3MuIEJ1dCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgc3VzcGVu ZCBzaG91bGQgbm90IGhhcHBlbiB0b28gZnJlcXVlbnRseSBhcwo+IGl0IG1heSBkZXRlcmlvcmF0 ZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGRldmljZS4gTW9zdCBvZiB0aGUgcmVjZW50IE5WTWUgZGV2 aWNlcwo+IGhhdmUgMk0gcG93ZXIgY3ljbGVzIChvbmx5KS4KPiAKPiBXZSBjYW4gd29ya2Fyb3Vu ZCB0aGUgYWJvdmUgbGlmZXRpbWUgaXNzdWUgYnkgcG93ZXJpbmcgZG93biB0aGUgZGV2aWNlIG9u bHkKPiBkdXJpbmcgczJyYW0uIEl0IHdpbGwgd29yayBncmVhdCBmb3IgTGFwdG9wIHVzZSBjYXNl cyBpZiBzMnJhbSBpcyBzdXBwb3J0ZWQuCj4gVW5mb3J0dW5hdGVseSwgbm90IGFsbCBMYXB0b3Bz IHN1cHBvcnQgczJyYW0gdGhvdWdoLiBBbmQgaWYgdGhlIGRldmljZSBpcwo+IHBvd2VyZWQgZG93 biBkdXJpbmcgczJpZGxlLCBpdCB3aWxsIGhpdCB0aGUgYWJvdmUgbGlmZSB0aW1lIGlzc3VlIHdo ZW4gaXQgaXMKPiB1c2VkIGluIEFuZHJvaWQgcGxhdGZvcm1zIHN1Y2ggYXMgVGFibGV0cyAoZXZl biBmdXR1cmUgbW9iaWxlIHBob25lcz8pIHdoaWNoCj4gZG9lc24ndCBzdXBwb3J0IHMycmFtLgo+ IAo+IFNvIEknbSB0aGlua2luZyBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnMgdG8gYWRkcmVzcyB0 aGUgaXNzdWUocyk6Cj4gCj4gMS4gTW9kaWZ5IHRoZSBOVk1lIGRyaXZlciB0byBwb3dlciBkb3du IHRoZSBkZXZpY2UgZHVyaW5nIHMycmFtICh0aGUgZHJpdmVyIGNhbgo+IHVzZSB0aGUgZ2xvYmFs IHBtX3N1c3BlbmRfdGFyZ2V0X3N0YXRlIGZsYWcgdG8gZGV0ZWN0IHRoZSBzdXNwZW5kIHN0YXRl KSBhbmQgdXNlCj4gdGhlIHNhbWUgbG9naWMgdG8gcHV0IHRoZSBsaW5rIGludG8gTDIvTDMgc3Rh dGUgaW4gdGhlIFBDSWUgY29udHJvbGxlciBkcml2ZXJzLgo+IEZvciBzMmlkbGUsIG1haW50YWlu IGJvdGggdGhlIGRldmljZSBhbmQgbGluayBpbiBsb3cgcG93ZXIgc3RhdGVzLgo+IAo+IDIuIEdl dCB0aGUgcG93ZXIgbWFuYWdlbWVudCBkZWNpc2lvbiBmcm9tIHRoZSB1c2Vyc3BhY2UgYW5kIHVz ZSB0aGF0IHRvIGRlY2lkZQo+IHRoZSBwb3dlciBkb3duIGxvZ2ljIGluIHMyaWRsZSBmb3IgYm90 aCBOVk1lIGFuZCBQQ0llIGRyaXZlcnMuIFRoaXMgd2lsbCBlbnN1cmUKPiB0aGF0IHRoZSBOVk1l IGRldmljZSB3aWxsIGJlIHBvd2VyZWQgZG93biBpbiBzdWl0YWJsZSB1c2VjYXNlcyBsaWtlIExh cHRvcAo+IHdpdGhvdXQgczJyYW0gYW5kIGtlcHQgaW4gbG93IHBvd2VyIHN0YXRlcyBmb3IgQW5k cm9pZCBwbGF0Zm9ybXMuIEJ1dCB0aGlzIGlzCj4gcXVpdGUgYW4gaW52b2x2ZWQgdGFzayBhbmQg SSBkb24ndCBrbm93IGlmIGl0IGlzIHBvc3NpYmxlIGF0IGFsbC4KPiAKPiBJJ20ganVzdCBkdW1w aW5nIG15IHRob3VnaHRzIGhlcmUuIEFuZCBJIHBsYW4gdG8gaW50aWF0ZSBhIGRpc2N1c3Npb24g d2l0aCBOVk1lLwo+IHBvd2VyIGZvbGtzIHNvb24uIE1heWJlIGR1cmluZyBQbHVtYmVycz8KClll cywgaXQgaXMgYmlnIHdvcmsuIEFueXdheSwgaWYgRFdDIGNhbiB1c2UgY29tbW9uIHN1c3BlbmQv cmVzdW1lIGZ1bmN0aW9uLAppdCB3aWxsIGJlIGVhc3kgdG8gYmUgdXBkYXRlZCB3aGVuIGEgYmV0 dGVyIHBvbGljeSBhcHBsaWVkIGF0IGZ1dHVyZS4KCkZyYW5rIExpCgo+IAo+IC0gTWFuaQo+IAo+ ID4gRnJhbmsKPiA+ID4gCj4gPiA+ID4gLSBNYW5pCj4gPiA+ID4gCj4gPiA+ID4gPiBUaGlzIEFQ SSBoZWxwIHJlbW92ZSBkdXBsaWNhdGUgY29kZXMgYW5kIGl0IGNhbiBiZSBpbXByb3ZlZCBncmFk dWFsbHkuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gLSBN YW5pCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gLS0gCj4gPiA+ID4gPiA+ IOCuruCuo+Cuv+CuteCuo+CvjeCuo+CuqeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KPiA+ ID4gPiAKPiAKPiAtLSAKPiDgrq7grqPgrr/grrXgrqPgr43grqPgrqngr40g4K6a4K6k4K6+4K6a 4K6/4K614K6u4K+NCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==