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 521DACDB465 for ; Mon, 16 Oct 2023 20:19:22 +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=MaYhYTYyLT7BGhmcynJ84GIvLDqkyuOBWVL/g99H/S0=; b=WxOjXCYiX2Tmgx QPEaTPsCKy17KIhclWiohWPELKlCpVZbhaXs/vmQ7A0vK0UFPTPYE/k+9mEvPMI+945sCUrxNbDV1 ML8GGLR7Ekf8d4xfa9p+B5qWMDcw+NY+830RSQDTkxd/wUkw6AeRKSbwnW60S7/qmpWDT2WgYjTAG jdbT/Ia3doL+bzkS8xqmAJTfv7KMFcz6EU3GNnR7kmQ33/YIDsTiDCkCuSOLFgln+Mptk+b0xwUb/ pOS3FeB9qjubW57MiCRU6jciFE8ojUzw0+iYP/iAGL24ppx9y5kaQAQ6+B1ihYyO1Z7uMugQnRiYI 9xPcBVy4vPTzpxI12iZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qsU3C-00AU7Y-0h; Mon, 16 Oct 2023 20:18:54 +0000 Received: from mail-db5eur02on20624.outbound.protection.outlook.com ([2a01:111:f400:fe12::624] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qsU38-00AU6v-32 for linux-arm-kernel@lists.infradead.org; Mon, 16 Oct 2023 20:18:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HghhJqvOjSqJNNNJ+yu3hawHNSUBsPXviAYGtyxTg2kdq9+LsijWjNkwQ6MmM0Q0L5XDZ1zOin32f9+BIWpNbS5reXduDww026cpItIGsDPegVUxPu/Lr5ITHnVrf+cJ27NbFF4DO03rY8S1Gh84YaCHldhb4ugGoj3/osq6g07+pa/jmi+LviXrtPVLuiVWxH1nircoUH8IbrL7pILvjZ3KymRJnqqKNt6/U4iWD6K1JNw1/odvT9HilO6bRAjtu3FeqRCpqxMLUbuOi+jNTdlIikI1sgDr5Z8anuqhTrLmOGQuBUIYwhprsuCr6krTkZNIF9QvSTh40+0iionmkg== 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=Ay/wBSmKJuR/TeU+5ZOz5Bl35X/5H7r1ZgGUadm391I=; b=Y+XOBsLbCe+qW2Li/Qr+3Qui/zxC9BFqqaxn/B7E6EVD+xlNEBH2nZs+H789AfGxzKBUZEANPVTOFKGAib2qepVLTTnnUh5APuDe0IYfMpbRdAbMJOfL62jPeBgoXJ+cC2P3SJhtLHrvSWSoHPJmcf+vthy8CeIBhN6LX26enwfANn6O0xTQLPgJAdnvUkjjDHf2cJDHM7/GhFibvylQX/CXJVF7ckA84VBpfrPr8hujtubPj67426j4ReL7XboUEIws7K44FJkwmivIbeFtRX4dbSXG43ddURe+hSqciMVflt4QqC+E4kafA+hcUKRLaqjSwjQ7Z/9rsM+s/S0/uw== 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=Ay/wBSmKJuR/TeU+5ZOz5Bl35X/5H7r1ZgGUadm391I=; b=IoHXFGqPHh3BgF4XxaI3ClafAwdrjTlsKoAL5rZGZn0ZTF2cEBPXN3Kt7NvkP9T/ltDmFYTyJj8MzmO03pJOnam1zKT5JLjI5Rmqjqu307ZQFLiDmz/G0iKcDQggOs1OFizqKSOE9inv+Kxg8mJSPyTjjT7ZhXhEaoSOvsjVEvk= 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 PA4PR04MB9389.eurprd04.prod.outlook.com (2603:10a6:102:2a8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.35; Mon, 16 Oct 2023 20:18:44 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6886.034; Mon, 16 Oct 2023 20:18:44 +0000 Date: Mon, 16 Oct 2023 16:18:36 -0400 From: Frank Li To: Manivannan Sadhasivam Cc: Minghuan Lian , Mingkai Hu , Roy Zang , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , "open list:PCI DRIVER FOR FREESCALE LAYERSCAPE" , "open list:PCI DRIVER FOR FREESCALE LAYERSCAPE" , "moderated list:PCI DRIVER FOR FREESCALE LAYERSCAPE" , open list , imx@lists.linux.dev Subject: Re: [PATCH 2/3] PCI: layerscape: add suspend/resume for ls1021a Message-ID: References: <20230915184306.2374670-1-Frank.Li@nxp.com> <20230915184306.2374670-2-Frank.Li@nxp.com> <20231016165824.GF39962@thinkpad> Content-Disposition: inline In-Reply-To: <20231016165824.GF39962@thinkpad> X-ClientProxiedBy: SJ0PR03CA0193.namprd03.prod.outlook.com (2603:10b6:a03:2ef::18) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|PA4PR04MB9389:EE_ X-MS-Office365-Filtering-Correlation-Id: 2609b533-3902-40b9-2edf-08dbce8518ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pS4UPnQObQdcl8EPchOVVcfxxBjtXTr7RdRqsB+1fpAvSaFCo0fUdJ5Y8kEFs6D/Os/3bcamPj0KaZ2nONOW2mHjWvxYROGyZyxpoNRtsgwAIOZdXYrxNvGRf+Pb2ks38Am9kY6RgqrQiF+2V/BN6lBOqh9ZZRycjrmie6o9Fw/n8pelvpQuQIEEjTmMswU8Urpx8sFfMUUOGmU9nPqHnYjiRS21royouupxr/TA7dqrejHiEs9ilRHfWU3myV4WJsFU9U/4OZGmhQw5ZRmxtEs215WMOyMgMrO0hgV+PV3bI2QO1x7nwj4rMsMAIuLZgdasJ9I/updPcJWq8NDcvYqXwGCxd2nI40p2v72pTMviGIRUPNJerUG3IP111fZLdvOrll4XCzfLqXmt7BLNBVAJ0qK3/W5wL+o/eY0HTYJ61ZBzbBb/SYClf1JlPGJgiGBqiqO5TRG2WQSaONnN/EsP6vIh35BlRUOGoHhLE8egCqXr9U4JsZOJ6Olnjpp0CR/n6oxkix/2L3oIjtXBVI1HyB0bouPmKfWmPPrXgR1u8xkoEAuMK+tgG+oKGMyL42mLBZnbXhl/As8l+y6AE55j95j0RHHR/LlhXb//SAPzICKX/ODOib6wGYyaMFyS 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)(366004)(346002)(136003)(39860400002)(376002)(396003)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(6506007)(52116002)(5660300002)(2906002)(26005)(6666004)(83380400001)(15650500001)(38100700002)(86362001)(9686003)(33716001)(6512007)(7416002)(6486002)(41300700001)(66476007)(316002)(6916009)(54906003)(66946007)(66556008)(8676002)(4326008)(38350700005)(8936002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NVNFdTJhVmZueWZLbG9RWTJyQzJuZ1Q0KzFTdzExc1VucVFIMCtlY3NWZlYx?= =?utf-8?B?eTlSb09NL1RjSjBVME5vNjFNNFUxc0FPS3ovd3hHNi8vM2pLdDZnc1pQOGJv?= =?utf-8?B?NDdNK215a1VnUzRuMlI5YnV4RnBnUEJXUmJobWNobHd2WVc2azZUZHdETmlW?= =?utf-8?B?ZTNSMlpEQWhWNzdWMWp3M3FkTW03RzR3Z2ErMEFCanlUMU9JNU1PSzlpVzND?= =?utf-8?B?RjhiQ3VXVktZRDl3Mld5UWJhdU1rdFBnZDBPeUl1aVVQNU53am9NaVVKOHBo?= =?utf-8?B?SmpUbkFHSXRuay9BVjRqa290em5zSCtCMzRvbTlWWWxHV3NOOXNiUWE0bjB5?= =?utf-8?B?bFlBVGpyZmd2NGtjd3U2SFJxRzM1alU2OUdlYVJUd1Y3T0dzanAxREhyZUph?= =?utf-8?B?Rmo1YVVJQ0JnY3ZSZUJDNHI1WkxlWW9vclNydXR4SXJ6aUd3cHBGejEvWmJM?= =?utf-8?B?QXMvdGJKenU5TlNRNUJPTE1VamZNV1QzQTZYSVJMeEhWTXMrNHYwd2d6K0Fv?= =?utf-8?B?L21VSGxUK3JpdzZDd3M0emE4SndqWkp2NlhyQUtVcnRHeE5kcElDam9TMDFU?= =?utf-8?B?UzRSUFdGcGpVSTdJREFlbFNQSWxDUGNLNnY1MjVuM1RJUFlvcUxVL0NPNmgr?= =?utf-8?B?RHhEQnc5OXp0R25yRDNPeFd4YVhmQWtOTUpRTENKVW1qRFA4SisvY3JuTUxz?= =?utf-8?B?bUNFMllBT0t3L3NtcVlCQ0hKOUMzYUhycGM3VzJ1dERrZUtxV2kxTDFZN0F0?= =?utf-8?B?NUM4UHMvalo4eGFHVUF0YitmWldPWnpjYi8rZlNRUHh0UXFXM2VHYTJGSWhO?= =?utf-8?B?M2JrdldRK3d3SlpOOHBYWmM5eXdpMFN6em42dlUrWkp5Vno5ZS9SY21WK0pu?= =?utf-8?B?ZW5ScmczdlYrUXc1SkZhZDJlOEdiYU94UENUY1EwK0JjcjA4UGlWMTBFbFAr?= =?utf-8?B?aS8zVzJnT0x4MXZzWEJGNnFrTEhEOW5nZTVUbzBEbGZLYjhVa21ZU0wreWdI?= =?utf-8?B?a0RnaVZQZjhNYjdDYW12WXZzbkNlS0E4Z0U4TjIvQzRlVWF0RDhhazFvUHNt?= =?utf-8?B?Z0NYOU1BUWFrNXR6NGJVSE5nMjFqcUllcWw5Wk1pQk5rcHNUem1TR28yRUdm?= =?utf-8?B?a0VsNXZFT3NuNU01UXllL2VTMlJXdmQ4WjFBeEFVeXBuWkhHaTF2YnBkeWl0?= =?utf-8?B?SWVnbVJOVEowcUNhZFh6dEIvVzROV3BWdTQ2VTFRZ1E5amVrRlpBWWNlR0VG?= =?utf-8?B?YmY3WVZpdEQ0N2QyRkY3Nmg0MHFIOHlRbGwvSkxnaWRaR2kvVkZoNkt3Z1JH?= =?utf-8?B?MnVxN0Y2OTBDaWk2UkNSeThLeE9YTlNjdEo5amkzbUxhYVZJYmRMODR3enhD?= =?utf-8?B?SnRtcDB6ZmNSRVBSN2Mwc2xtTkF4dFlSdTJhd1ZjQ2RpWmRUVFp4R09NZXRq?= =?utf-8?B?NFh5MXQ3OE81MTFLRUc2MFNGNFBTMW1zYTNndGZBWnorb3RYWVZXMVY5Rjdx?= =?utf-8?B?aUtiWGw3bnMrMzZxaFowZnB1SGt1dEczWi9BUVM5ZUZGRjVhcFRnQmEzdVBx?= =?utf-8?B?Y0dLREJjanFUdTk2Y1pVTFNBNll4eDUzcWkxcDFXL2FCbE9aT1VadkJMeEJO?= =?utf-8?B?a0hHRUl2bHdnOGFYTDY5bzlkR1NKNFlid0xKbHdud252MWVBd2VaUitEQUtI?= =?utf-8?B?d3liVlVqR1lINHNuOGxGcDBCSnphZk9WSDZnTlh3cHJNQWkyQ040WUNjbUdr?= =?utf-8?B?cW1GWWxSUUNqYnh0QkR4bXowS1k3U0c0eGZYekQzRko2NEcya0VrQWhRdTNn?= =?utf-8?B?Tmd3clVORVk3emJtcDR4aUV2bk9xYlYrOUtiNE0xaDJqNHl2UGRyendhY3di?= =?utf-8?B?blh2L01QSUdPRThvbVBldnNNQmJnWFcyTUhwMmZ5NDQvd1JNNzVLSlQ3Ymt0?= =?utf-8?B?YlRvMkFmaGdOc0xnayt3ZkNqYVhtV2pUT1lqRXVrb1B6WnlCeTQrQ3F3UjFw?= =?utf-8?B?MTVoRGx6OEg1L21yK3E1SUxjeEtkVzR2ODZPTURZdGV4TGxBSnQwZ3ZIZjAv?= =?utf-8?B?MzBlbFhuOWFSSndsVU81aTlTOFM5VTNHWDBlM2pqWjcydDkvcmRiZ28yM3A2?= =?utf-8?Q?91hE=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2609b533-3902-40b9-2edf-08dbce8518ba X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2023 20:18:44.5366 (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: SU4YDDpEsOy9Ro1T7xWrT5M8J9C7Nw0oxiqascO0ojpOXoZNo8sSFyuj77x118k09eQG6GymBL7bp09c4xK4AA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9389 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231016_131850_989495_B9E18651 X-CRM114-Status: GOOD ( 32.11 ) 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 T24gTW9uLCBPY3QgMTYsIDIwMjMgYXQgMTA6Mjg6MjRQTSArMDUzMCwgTWFuaXZhbm5hbiBTYWRo YXNpdmFtIHdyb3RlOgo+IE9uIEZyaSwgU2VwIDE1LCAyMDIzIGF0IDAyOjQzOjA1UE0gLTA0MDAs IEZyYW5rIExpIHdyb3RlOgo+ID4gbHMxMDIxYSBhZGQgc3VzcGVuZC9yZXN1bWUgc3VwcG9ydC4K PiA+IAo+IAo+IFBsZWFzZSBhZGQgd2hhdCB0aGUgZHJpdmVyIGlzIGRvaW5nIGR1cmluZyBzdXNw ZW5kL3Jlc3VtZS4KPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEZyYW5rIExpIDxGcmFuay5MaUBueHAu Y29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWxheWVyc2Nh cGUuYyB8IDg4ICsrKysrKysrKysrKysrKysrKysrLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA4NyBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jIGIvZHJpdmVycy9wY2kvY29udHJv bGxlci9kd2MvcGNpLWxheWVyc2NhcGUuYwo+ID4gaW5kZXggMjBjNDhjMDZlMjI0OC4uYmM1YThm ZjFhMjZjZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1s YXllcnNjYXBlLmMKPiA+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXll cnNjYXBlLmMKPiA+IEBAIC0zNSw2ICszNSwxMiBAQAo+ID4gICNkZWZpbmUgUEZfTUNSX1BUT01S CQlCSVQoMCkKPiA+ICAjZGVmaW5lIFBGX01DUl9FWEwyUwkJQklUKDEpCj4gPiAgCj4gPiArLyog TFMxMDIxQSBQRVhuIFBNIFdyaXRlIENvbnRyb2wgUmVnaXN0ZXIgKi8KPiA+ICsjZGVmaW5lIFND RkdfUEVYUE1XUkNSKGlkeCkJKDB4NWMgKyAoaWR4KSAqIDB4NjQpCj4gPiArI2RlZmluZSBQTVhN VFRVUk5PRkYJCUJJVCgzMSkKPiA+ICsjZGVmaW5lIFNDRkdfUEVYU0ZUUlNUQ1IJMHgxOTAKPiA+ ICsjZGVmaW5lIFBFWFNSKGlkeCkJCUJJVChpZHgpCj4gPiArCj4gPiAgI2RlZmluZSBQQ0lFX0lB VFVfTlVNCQk2Cj4gPiAgCj4gPiAgc3RydWN0IGxzX3BjaWVfZHJ2ZGF0YSB7Cj4gPiBAQCAtNDgs NiArNTQsOCBAQCBzdHJ1Y3QgbHNfcGNpZSB7Cj4gPiAgCXN0cnVjdCBkd19wY2llICpwY2k7Cj4g PiAgCWNvbnN0IHN0cnVjdCBsc19wY2llX2RydmRhdGEgKmRydmRhdGE7Cj4gPiAgCXZvaWQgX19p b21lbSAqcGZfYmFzZTsKPiA+ICsJc3RydWN0IHJlZ21hcCAqc2NmZzsKPiA+ICsJaW50IGluZGV4 Owo+ID4gIAlib29sIGJpZ19lbmRpYW47Cj4gPiAgfTsKPiA+ICAKPiA+IEBAIC0xNzAsMTMgKzE3 OCw5MSBAQCBzdGF0aWMgaW50IGxzX3BjaWVfaG9zdF9pbml0KHN0cnVjdCBkd19wY2llX3JwICpw cCkKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIGxzMTAyMWFf cGNpZV9zZW5kX3R1cm5vZmZfbXNnKHN0cnVjdCBkd19wY2llX3JwICpwcCkKPiA+ICt7Cj4gPiAr CXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ID4gKwlzdHJ1 Y3QgbHNfcGNpZSAqcGNpZSA9IHRvX2xzX3BjaWUocGNpKTsKPiA+ICsJdTMyIHZhbDsKPiA+ICsK PiA+ICsJaWYgKCFwY2llLT5zY2ZnKSB7Cj4gCj4gQ2FuIHRoaXMgZXZlciBoYXBwZW4/Cj4gCj4g PiArCQlkZXZfZGJnKHBjaWUtPnBjaS0+ZGV2LCAiU1lTQ0ZHIGlzIE5VTExcbiIpOwo+ID4gKwkJ cmV0dXJuOwo+ID4gKwl9Cj4gPiArCj4gPiArCS8qIFNlbmQgVHVybl9vZmYgbWVzc2FnZSAqLwo+ IAo+ICJTZW5kIFBNRV9UdXJuX09mZiBtZXNzYWdlIgo+IAo+ID4gKwlyZWdtYXBfcmVhZChwY2ll LT5zY2ZnLCBTQ0ZHX1BFWFBNV1JDUihwY2llLT5pbmRleCksICZ2YWwpOwo+ID4gKwl2YWwgfD0g UE1YTVRUVVJOT0ZGOwo+ID4gKwlyZWdtYXBfd3JpdGUocGNpZS0+c2NmZywgU0NGR19QRVhQTVdS Q1IocGNpZS0+aW5kZXgpLCB2YWwpOwo+ID4gKwo+ID4gKwkvKiBUaGVyZSBhcmUgbm90IHJlZ2lz dGVyIHRvIGNoZWNrIEFDSywgc28gd2FpdCBQQ0lFX1BNRV9UT19MMl9USU1FT1VUX1VTICovCj4g Cj4gIlRoZXJlIGlzIG5vIHNwZWNpZmljIHJlZ2lzdGVyIHRvIGNoZWNrIGZvciBQTUVfVG9fQWNr IGZyb20gZW5kcG9pbnQuIFNvIG9uIHRoZQo+IHNhZmUgc2lkZSwgd2FpdCBmb3IgUENJRV9QTUVf VE9fTDJfVElNRU9VVF9VUy4iCj4gCj4gPiArCW1kZWxheShQQ0lFX1BNRV9UT19MMl9USU1FT1VU X1VTLzEwMDApOwo+ID4gKwo+ID4gKwkvKiBDbGVhciBUdXJuX29mZiBtZXNzYWdlICovCj4gCj4g IlBNRV9UdXJuX29mZiIuIEJ1dCBJJ20gbm90IHN1cmUgaWYgdGhpcyBpcyByZWFsbHkgcmVxdWly ZWQuIEFyZSB5b3UgZG9pbmcgaXQKPiBiZWNhdXNlIHRoZSBsYXllcnNwYWNlIGh3IGltcGxlbWVu dHMgdGhlIFBNRV9UdXJuX09mZiBiaXQgYXMgImxldmVsIHRyaWdnZXJlZCI/CgpJIGFtIG5vdCBz dXJlIGhvdyBoYXJkd2FyZSBpbXBsZW1lbnQgdGhpcy4gQnV0IHJlZmVyZW5jZSBtYW51YWwgc2Fp ZDoKIApQTVhNVFRVUk5PRkY6CkdlbmVyYXRlIFBNIHR1cm5vZmYgbWVzc2FnZSBmb3IgcG93ZXIg bWFuYWdlbWVudCBvZiBQQ0kgRXhwcmVzcyBjb250cm9sbGVycy4KVGhpcyBiaXQgc2hvdWxkIGJl IGNsZWFyZWQgYnkgc29mdHdhcmUuCjAgQ2xlYXIgUE0gdHVybm9mZiAoZGVmYXVsdCkKMSBUcmln Z2VyIFBNIHR1cm5vZmYKCkZyYW5rCgo+IAo+ID4gKwlyZWdtYXBfcmVhZChwY2llLT5zY2ZnLCBT Q0ZHX1BFWFBNV1JDUihwY2llLT5pbmRleCksICZ2YWwpOwo+ID4gKwl2YWwgJj0gflBNWE1UVFVS Tk9GRjsKPiA+ICsJcmVnbWFwX3dyaXRlKHBjaWUtPnNjZmcsIFNDRkdfUEVYUE1XUkNSKHBjaWUt PmluZGV4KSwgdmFsKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIHZvaWQgbHMxMDIxYV9wY2ll X2V4aXRfZnJvbV9sMihzdHJ1Y3QgZHdfcGNpZV9ycCAqcHApCj4gPiArewo+ID4gKwlzdHJ1Y3Qg ZHdfcGNpZSAqcGNpID0gdG9fZHdfcGNpZV9mcm9tX3BwKHBwKTsKPiA+ICsJc3RydWN0IGxzX3Bj aWUgKnBjaWUgPSB0b19sc19wY2llKHBjaSk7Cj4gPiArCXUzMiB2YWw7Cj4gPiArCj4gCj4gQSBj b21tZW50IGhlcmUgd291bGQgYmUgZ29vZC4KPiAKPiA+ICsJcmVnbWFwX3JlYWQocGNpZS0+c2Nm ZywgU0NGR19QRVhTRlRSU1RDUiwgJnZhbCk7Cj4gPiArCXZhbCB8PSBQRVhTUihwY2llLT5pbmRl eCk7Cj4gPiArCXJlZ21hcF93cml0ZShwY2llLT5zY2ZnLCBTQ0ZHX1BFWFNGVFJTVENSLCB2YWwp Owo+ID4gKwo+ID4gKwlyZWdtYXBfcmVhZChwY2llLT5zY2ZnLCBTQ0ZHX1BFWFNGVFJTVENSLCAm dmFsKTsKPiA+ICsJdmFsICY9IH5QRVhTUihwY2llLT5pbmRleCk7Cj4gPiArCXJlZ21hcF93cml0 ZShwY2llLT5zY2ZnLCBTQ0ZHX1BFWFNGVFJTVENSLCB2YWwpOwo+ID4gK30KPiA+ICsKPiA+ICtz dGF0aWMgaW50IGxzMTAyMWFfcGNpZV9ob3N0X2luaXQoc3RydWN0IGR3X3BjaWVfcnAgKnBwKQo+ ID4gK3sKPiA+ICsJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3X3BjaWVfZnJvbV9wcChwcCk7 Cj4gPiArCXN0cnVjdCBsc19wY2llICpwY2llID0gdG9fbHNfcGNpZShwY2kpOwo+ID4gKwlzdHJ1 Y3QgZGV2aWNlICpkZXYgPSBwY2llLT5wY2ktPmRldjsKPiA+ICsJdTMyIGluZGV4WzJdOwo+ID4g KwlpbnQgcmV0Owo+ID4gKwo+ID4gKwlyZXQgPSBsc19wY2llX2hvc3RfaW5pdChwcCk7Cj4gPiAr CWlmIChyZXQpCj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwo+ID4gKwlwY2llLT5zY2ZnID0gc3lz Y29uX3JlZ21hcF9sb29rdXBfYnlfcGhhbmRsZShkZXYtPm9mX25vZGUsICJmc2wscGNpZS1zY2Zn Iik7Cj4gPiArCWlmIChJU19FUlIocGNpZS0+c2NmZykpIHsKPiA+ICsJCXJldCA9IFBUUl9FUlIo cGNpZS0+c2NmZyk7Cj4gPiArCQlkZXZfZXJyKGRldiwgIk5vIHN5c2NmZyBwaGFuZGxlIHNwZWNp ZmllZFxuIik7Cj4gPiArCQlwY2llLT5zY2ZnID0gTlVMTDsKPiA+ICsJCXJldHVybiByZXQ7Cj4g PiArCX0KPiA+ICsKPiA+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzJfYXJyYXkoZGV2LT5v Zl9ub2RlLCAiZnNsLHBjaWUtc2NmZyIsIGluZGV4LCAyKTsKPiA+ICsJaWYgKHJldCkgewo+ID4g KwkJcGNpZS0+c2NmZyA9IE5VTEw7Cj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwl9Cj4gPiArCj4g PiArCXBjaWUtPmluZGV4ID0gaW5kZXhbMV07Cj4gPiArCj4gCj4gVGhlIGFib3ZlIHN5c2NvbiBw YXJzaW5nIGNvdWxkIGJlIGRvbmUgY29uZGl0aW9uYWxseSBkdXJpbmcgcHJvYmUgaXRzZWxmLiBU aGVyZQo+IGlzIG5vIG5lZWQgdG8gZG8gaXQgZHVyaW5nIGhvc3RfaW5pdCgpIHRpbWUuCj4gCj4g LSBNYW5pCj4gCj4gPiArCXJldHVybiByZXQ7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHdfcGNpZV9ob3N0X29wcyBsc19wY2llX2hvc3Rfb3BzID0gewo+ID4gIAkuaG9z dF9pbml0ID0gbHNfcGNpZV9ob3N0X2luaXQsCj4gPiAgCS5wbWVfdHVybl9vZmYgPSBsc19wY2ll X3NlbmRfdHVybm9mZl9tc2csCj4gPiAgfTsKPiA+ICAKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGR3X3BjaWVfaG9zdF9vcHMgbHMxMDIxYV9wY2llX2hvc3Rfb3BzID0gewo+ID4gKwkuaG9zdF9p bml0ID0gbHMxMDIxYV9wY2llX2hvc3RfaW5pdCwKPiA+ICsJLnBtZV90dXJuX29mZiA9IGxzMTAy MWFfcGNpZV9zZW5kX3R1cm5vZmZfbXNnLAo+ID4gK307Cj4gPiArCj4gPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCBsc19wY2llX2RydmRhdGEgbHMxMDIxYV9kcnZkYXRhID0gewo+ID4gLQkucG1fc3Vw cG9ydCA9IGZhbHNlLAo+ID4gKwkucG1fc3VwcG9ydCA9IHRydWUsCj4gPiArCS5vcHMgPSAmbHMx MDIxYV9wY2llX2hvc3Rfb3BzLAo+ID4gKwkuZXhpdF9mcm9tX2wyID0gbHMxMDIxYV9wY2llX2V4 aXRfZnJvbV9sMiwKPiA+ICB9Owo+ID4gIAo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbHNfcGNp ZV9kcnZkYXRhIGxheWVyc2NhcGVfZHJ2ZGF0YSA9IHsKPiA+IC0tIAo+ID4gMi4zNC4xCj4gPiAK PiAKPiAtLSAKPiDgrq7grqPgrr/grrXgrqPgr43grqPgrqngr40g4K6a4K6k4K6+4K6a4K6/4K61 4K6u4K+NCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==