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 2817BEB8FAF for ; Wed, 6 Sep 2023 04:26:01 +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=RWJZt6DQGekchZpuDEqi7cpak52XKV3vz66ichIBGlg=; b=uXx/cEYr9AUQcl v5wzzfddVlOagLbn7DeyJoOsPc6DxdzPgajCwKyEiMF+bgP0MtTjPSp2gdLYFBz397Yoaa5SnJ1VN PsvP0zd1Aj08v9uyYw00DQHrCBsfR/rXHSz2Ubc+VKpAWCkNftcbxiLZZpfvWWhZPcjJt1N8LtkNg x88+IQTaD6n/zPm57hEYUuBL1hknio7XHmyZzH56oGEjtjrIwhZZQ9Ir9nyG7XMwaNTF9ixFjNjC5 djHSk7bXfqVmS8uaXjzSzJ6D9gBzDmDxKGz4J5UwiSCKkndnMw9OOPu7sHav3RcG2hSXGW8BEs1VG l9yJkMuyAFttchPQuW2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qdk6W-007Dbq-3A; Wed, 06 Sep 2023 04:25:24 +0000 Received: from mail-ve1eur01on0615.outbound.protection.outlook.com ([2a01:111:f400:fe1f::615] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qdk6T-007DbP-1D for linux-arm-kernel@lists.infradead.org; Wed, 06 Sep 2023 04:25:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ksbsvlW+dQrF6EIidb9K9kRbRpYhS7j1se9wlmV2UEp/Cka/W/Bxg45a+ftM8Hl+QzQ6F9tp3dsHNqGCeqqGP45k45QKa1OD6VEp858joFKlgFqsvtKawGZGPtPBQEyAMhpnGMU/k1OpmJn3h9tkRahUq52kXCInZQzzA1XBKgogOtXbThr110ukBuxF6Me36LNiUuijgGV5h+pvhNt3kZuCuUGmdIh0LUCE/SZYHoLq/Ht1U5LZLcVTv0uuWNGuL4CLAIlbB2cChUQ6C2J+NpaIUGPLY46Y75Ync/OGsZnFAiNZ/luAzPzoztG7YVKGpqdEHMV1+aMiHVicuW+jTw== 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=Ar5zUTzdHaX/glf2euK7Hqnque/l1g+mO4vU5IODlFw=; b=AGoUC5P8mLFTjnyH3goVeMHMN52suLCa7GjYTrRV5QUjzeBg5rrFI56fFSn/5trAQYt40hzYCSiM+1EmFoRg1A6I0lXhwLsR8MgClx0Z7yRFfoNprg+LoPNvof+HUHC9B7kLuBWSy46YX1Ai/P/zouh4FyESQLnOR5VkeLCQ+bsqDCdJWECmx3O8CO0JC5qYK5OlvDYvhFyc/9TOz6LWUXkMXEDrY55Ou+BcGHnKnbjO+nqPTvKAGzic4JX4UA3WAbA6cIXPtjPrSYUt25S+uLDWpc5DUdnbGQyQwuesxlf+cmZwmgnrlN3OqM43WTNh5udSy4PvhfMfZ/98yZPyDQ== 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=Ar5zUTzdHaX/glf2euK7Hqnque/l1g+mO4vU5IODlFw=; b=CcQ76Z440bp4+GKaoTAxFgt65OoYUaG/2exkoTIlhmQKfKAl2X+5jM0i9i+Og7kaDZkudDeF0fIUM5ZlP99J+kdonAirV8g1UskqSnUXFLSBoUiRKl0LDtoqKKPhXLJaYzKPL/GOXwPWrT9yWSgQSSpgMtuBauaG5O3z8Ng+hVA= 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 GVXPR04MB10045.eurprd04.prod.outlook.com (2603:10a6:150:11a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.33; Wed, 6 Sep 2023 04:25:07 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::aa90:117d:c1d0:346a]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::aa90:117d:c1d0:346a%3]) with mapi id 15.20.6745.034; Wed, 6 Sep 2023 04:25:07 +0000 Date: Wed, 6 Sep 2023 00:24:50 -0400 From: Frank Li To: Manivannan Sadhasivam Cc: tglx@linutronix.de, aisheng.dong@nxp.com, bhelgaas@google.com, devicetree@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, jdmason@kudzu.us, kernel@pengutronix.de, kishon@ti.com, krzysztof.kozlowski+dt@linaro.org, kw@linux.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, lpieralisi@kernel.org, maz@kernel.org, ntb@lists.linux.dev, peng.fan@nxp.com, robh+dt@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org Subject: Re: [PATCH 1/3] PCI: endpoint: Add RC-to-EP doorbell support using platform MSI controller Message-ID: References: <20230426203436.1277307-1-Frank.Li@nxp.com> <20230426203436.1277307-2-Frank.Li@nxp.com> <20230902045214.GA2913@thinkpad> <20230902045328.GB2913@thinkpad> Content-Disposition: inline In-Reply-To: <20230902045328.GB2913@thinkpad> X-ClientProxiedBy: SJ0PR13CA0002.namprd13.prod.outlook.com (2603:10b6:a03:2c0::7) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|GVXPR04MB10045:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d32b0f5-7d9c-4a68-2c78-08dbae91400f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ACMRNTcssYt6CMVcykEB/OTmXlS0GCn5syyNuL3eD08L7YlA8+aFwbuvUwxQdBObm+zr8Y1ePl3BAdWlIFiATavqjKJrdmJxDhyI6HziRboqJw67gAVpa9Oagv4RlNMiAL/ddDpLJZUBM2snb4t+XTbZu2GuhgL0OYmQbTEsAijQVplAcpombc9yz23CVTb57Df/6X/+0mBMZJq5igvvE0JL3iStWaQYQY1QyQoEj5bBokiGLsvmtMoE9BWeGsKf+sGhl+NEfYnvipLBp7wGOYxOBPKA3O+sUyt1pzIp/2F/4YjI9ohyJaJxIgrFNSiSNUVOwg4rsByLasluFNK7bsZp79GEcuYW2Pipk5hFTkxn2nDZav7OV8qa83GYrMYmvyJyiSqrAN8RgBoMhhyOjtKt2MRHa1TuMZq3wv3TDBpajbzGTP8fsENdCL0Zq8CtiTXqHDg/3sbj+cdVWcF5OLjfWm6GKk5e6yt6W/P/7ad8AWuAU+s54/fW9tiWmItCADSijf5nDXGqWZCuUczSz7ET2jS7XwMZO3OVn9R5+Nmv9sMX8uP21byrKFb1HD5FPKMnmVnBRe0QVTad4B8Wt5fwVevRqyP1HtWzjt/xzjXXsgiMnrX4PgMNdEBCPV4/ 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)(376002)(346002)(366004)(136003)(396003)(39860400002)(1800799009)(186009)(451199024)(83380400001)(2906002)(38350700002)(38100700002)(33716001)(86362001)(6486002)(6506007)(6512007)(41300700001)(52116002)(9686003)(66556008)(316002)(66476007)(66946007)(6916009)(4326008)(8676002)(8936002)(478600001)(6666004)(7416002)(5660300002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bitBZmZuajZBYjFYTmRzdVo2bEpIMER2cWJOVSs2UGp5OEhlQTBBTG4yME1q?= =?utf-8?B?cWs4bzI3VzQvUHNoWityanAyTkFlNG0zeWgvZGtVVzJMMWc4YXozd2hqb0Q5?= =?utf-8?B?S2xrZVlrOVFtMENISXB4Z3cwYUo5V09wNSt3WFlnV3k2TlUySGw2NkY2anpj?= =?utf-8?B?bEhxOW5TdlRmYWFzTVFWdFZaSlJENE5XT0lvUm16N2tUWDFKS1B2cVFvb3Vz?= =?utf-8?B?RFAvK1JNTUZ5SlUvUTRHN0laYytGU0d6dk1IL1QrZGF2VERUWU11dDhRU1p2?= =?utf-8?B?Vys5UTRGU2tCaSs3RDZTMkprRWRucGo0OUJwQTNXWEdudlMreVhGbDdQWDhr?= =?utf-8?B?ZHdla2d0MGZSNUJqU25CODB3K1dmSHJJS3lZZnZaZzUxeloyOVRBVk9VYXJa?= =?utf-8?B?VkdiSEREWjFMeHJpNnNnWHZtcDNadlBNYVN6L1dLVlBvWDdwdkVjRFYvZklD?= =?utf-8?B?OG1LMjZoZjdONHYrbzdpclZvaFBHSjVqQVpVY3E4K3NBZnRka1RWcGJ6RmRF?= =?utf-8?B?cWxRZURMWEo3a01XbHpHODRQa2NvK3RaK2V3T00wbGN2MHdSeVdTcTB6SCsz?= =?utf-8?B?azJwQ0toYlFHa3VuZzZCL3B2SkpkRjQwb0hwZkduQmdvZVkxWEdaa2E4N2w5?= =?utf-8?B?b29BK1plL0EzQUtIU1BqZUpBRVZ0OFYwNzhqOGlpdXVPWEpsbHpCdHhGYzB0?= =?utf-8?B?eThvTWJUY3JBQ2dqSkxUb0FINXdndzRtWUtPQTlHeTJsRG4rUXI5QmpYeWNH?= =?utf-8?B?SVdyb0Q4aXNLSkQwcXdmZk9FNlFPK3ZiZmRyZ0kxSmw2cVBNZllyN0pDZFRs?= =?utf-8?B?dXFFdThseUFsUVJ6TnNTL2kxQTlRTERiZGhlQVdRU09Wakp3TkJuMVh1SFlw?= =?utf-8?B?OTBPV2FSNUQvR04rMTFHRGFISXJNZXFwelJwU051eDNyeHlLaGxFQjNnVUpq?= =?utf-8?B?ejFka0owdEhLL01NeGRYSyszRHdGM1VHRVpsUFVhWVpxRllKS250MFpjNjNR?= =?utf-8?B?MkV5bUxydnVDWWRzRm5tYXdNM3UyaHQyZUhSQ01OQk0rRmRWTXVrTUFpcTZt?= =?utf-8?B?NjhwOW9OVWovVWVFczlmcVFxUk1qQXVxdDN3T0d1MXRBUXBDQXFBNnpWWG5H?= =?utf-8?B?Z0VmOXMrWXBoNEFnS0NMUE0zSXZIVnUvSFhuWjByTkhaZTNSN0xCUGdRV29u?= =?utf-8?B?UW9DaCtIMzZDSmFINXdqR25INS9rSWcwdVhCVGNKY0pwaFRCcWxFcVFvbHor?= =?utf-8?B?S2IvaWlJKzRMTktKVmZjTG5wd3ZQUkVKOHluS1lUNmI5L0NRbFlhcEw4K1FS?= =?utf-8?B?NEFXSUxBaU42eUNpYUV0dThoRUJXN2tzU0dMU0QxT2psTm0zNld0V3dtVnpm?= =?utf-8?B?dzczYmZjY1VkaDF4WXYzWmtxSnZ2WndsRkFXcWRwZFVTVEwrQmVheEc3eWc1?= =?utf-8?B?SFR5N3hldUNsWU1scXdOVmpkMnJWZU1nWG1ibXZxVmE5clNTTnhkMFJCdGdy?= =?utf-8?B?REppV0h0WjNoV3h6SGE3eHBqQ0JJc2ZaVFlyTXZUQ2FQTTBqbWFKelNCc0xz?= =?utf-8?B?eGZyRU1IamdWeFJYV2NvanJiODdBTDlKMmJEYi84cjd1eU5iZlVlWUNFV0tw?= =?utf-8?B?KzhNektzclhwNko5SHN5NWpDcmFWUFRYWm1BR3RiY1B1MlM0WHdoak1mL1VY?= =?utf-8?B?SE9JcGc0clRRT1BrTkRJbmQwdDRpR2VyZ3JuTjV4OWZWdm10NDFqdnhFMVFr?= =?utf-8?B?R1JNc1hCYjBRNzgxb28zem54MTc4Ym9HdldIZld6ODBrTDI5ZDgvNHJFaGNE?= =?utf-8?B?VnVjMVk3dEx3MjdBaDNRclFZMU1VNFZjNEVtVmZLZDgyeWdBOHBzVzlvcXh6?= =?utf-8?B?b0htMHk3a0F2WVAwMlNmZFZTUHZFRFczS2V5S2d5dUhUVWR0SVRhVUZZS1cv?= =?utf-8?B?UWI3M0hzSHN2UEZWVGRvRDBHYUdHcTBlQ0ZQYmVCa0lWV3ZQQis1RVhiNDRH?= =?utf-8?B?UlVXaWh6b05YbzJYVjJzb0VBWEJJRitYN0lOYVdSTzZoYXZHVjFXakF2OE9o?= =?utf-8?B?bStaNko5SXA0Wlc4NWpOTHlXTXVoK0FzdFROK0RhbXFYenRlWG42eE9UMUNh?= =?utf-8?Q?XdXYH1KO1/Biwk/+Le9mc6rfL?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d32b0f5-7d9c-4a68-2c78-08dbae91400f X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2023 04:25:07.2891 (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: MqkBlcZq7Oeweybm3AMQHuQtx+5gNixB+3/zOjb4MG09OADWuHE+HJBXxaGLRLYMAVp1ld/73fuzUL/BL71xnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10045 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230905_212521_601331_BF4B715A X-CRM114-Status: GOOD ( 40.76 ) 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 T24gU2F0LCBTZXAgMDIsIDIwMjMgYXQgMTA6MjM6MjhBTSArMDUzMCwgTWFuaXZhbm5hbiBTYWRo YXNpdmFtIHdyb3RlOgo+IE9uIFNhdCwgU2VwIDAyLCAyMDIzIGF0IDEwOjIyOjI1QU0gKzA1MzAs IE1hbml2YW5uYW4gU2FkaGFzaXZhbSB3cm90ZToKPiA+IE9uIFdlZCwgQXByIDI2LCAyMDIzIGF0 IDA0OjM0OjM0UE0gLTA0MDAsIEZyYW5rIExpIHdyb3RlOgo+ID4gPiBUaGlzIGNvbW1pdCBpbnRy b2R1Y2VzIGEgY29tbW9uIG1ldGhvZCBmb3Igc2VuZGluZyBtZXNzYWdlcyBmcm9tIHRoZSBSb290 IENvbXBsZXgKPiA+ID4gKFJDKSB0byB0aGUgRW5kcG9pbnQgKEVQKSBieSB1dGlsaXppbmcgdGhl IHBsYXRmb3JtIE1TSSBpbnRlcnJ1cHQgY29udHJvbGxlciwKPiA+ID4gc3VjaCBhcyBBUk0gR0lD LCBhcyBhbiBFUCBkb29yYmVsbC4gTWFwcyB0aGUgbWVtb3J5IGFzc2lnbmVkIGZvciB0aGUgQkFS IHJlZ2lvbgo+ID4gPiBieSB0aGUgUENJIGhvc3QgdG8gdGhlIG1lc3NhZ2UgYWRkcmVzcyBvZiB0 aGUgcGxhdGZvcm0gTVNJIGludGVycnVwdCBjb250cm9sbGVyCj4gPiA+IGluIHRoZSBQQ0kgRVAu IEFzIGEgcmVzdWx0LCB3aGVuIHRoZSBQQ0kgUkMgd3JpdGVzIHRvIHRoZSBCQVIgcmVnaW9uLCBp dCB0cmlnZ2Vycwo+ID4gPiBhbiBJUlEgYXQgdGhlIEVQLiBUaGlzIGltcGxlbWVudGF0aW9uIHNl cnZlcyBhcyBhIGNvbW1vbiBtZXRob2QgZm9yIGFsbCBlbmRwb2ludAo+ID4gPiBmdW5jdGlvbiBk cml2ZXJzLgo+ID4gPiAKPiA+ID4gSG93ZXZlciwgaXQgY3VycmVudGx5IHN1cHBvcnRzIG9ubHkg b25lIEVQIHBoeXNpY2FsIGZ1bmN0aW9uIGR1ZSB0byBsaW1pdGF0aW9ucwo+ID4gPiBpbiBBUk0g TVNJL0lNUyByZWFkaW5lc3MuCj4gPiA+IAo+ID4gCj4gPiBJJ3ZlIHByb3ZpZGVkIGdlbmVyaWMg Y29tbWVudHMgYmVsb3csIGJ1dCBJIHdpbGwgZG8gb25lIG1vcmUgdGhvcm91Z2ggcmV2aWV3Cj4g PiBhZnRlciBzZWVpbmcgZXBmLXRlc3QgZHJpdmVyIHBhdGNoLgo+ID4gCj4gPiA+IFNpZ25lZC1v ZmYtYnk6IEZyYW5rIExpIDxGcmFuay5MaUBueHAuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZl cnMvcGNpL2VuZHBvaW50L3BjaS1lcGYtY29yZS5jIHwgMTA5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiA+ID4gIGluY2x1ZGUvbGludXgvcGNpLWVwZi5oICAgICAgICAgICAgIHwgIDE2 ICsrKysKPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2VydGlvbnMoKykKPiA+ID4gCj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9lbmRwb2ludC9wY2ktZXBmLWNvcmUuYyBiL2Ry aXZlcnMvcGNpL2VuZHBvaW50L3BjaS1lcGYtY29yZS5jCj4gPiA+IGluZGV4IDM1NWE2ZjU2ZmNl YS4uOTRhYzgyYmY4NGM1IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9lbmRwb2ludC9w Y2ktZXBmLWNvcmUuYwo+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9lbmRwb2ludC9wY2ktZXBmLWNv cmUuYwo+ID4gPiBAQCAtNiwxMCArNiwxMiBAQAo+ID4gPiAgICogQXV0aG9yOiBLaXNob24gVmlq YXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPgo+ID4gPiAgICovCj4gPiA+ICAKPiA+ID4gKyNp bmNsdWRlIDxsaW51eC9pcnFyZXR1cm4uaD4KPiA+IAo+ID4gV2h5IGlzIHRoaXMgbmVlZGVkPwo+ ID4gCj4gPiA+ICAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Cj4gPiA+ICAjaW5jbHVkZSA8bGlu dXgvZG1hLW1hcHBpbmcuaD4KPiA+ID4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gPiA+ICAj aW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gPiA+ICsjaW5jbHVkZSA8bGludXgvbXNpLmg+Cj4g PiA+ICAKPiA+ID4gICNpbmNsdWRlIDxsaW51eC9wY2ktZXBjLmg+Cj4gPiA+ICAjaW5jbHVkZSA8 bGludXgvcGNpLWVwZi5oPgo+ID4gPiBAQCAtMzAwLDYgKzMwMiwxMTMgQEAgdm9pZCAqcGNpX2Vw Zl9hbGxvY19zcGFjZShzdHJ1Y3QgcGNpX2VwZiAqZXBmLCBzaXplX3Qgc2l6ZSwgZW51bSBwY2lf YmFybm8gYmFyLAo+ID4gPiAgfQo+ID4gPiAgRVhQT1JUX1NZTUJPTF9HUEwocGNpX2VwZl9hbGxv Y19zcGFjZSk7Cj4gPiA+ICAKPiA+ID4gK3N0YXRpYyBlbnVtIGlycXJldHVybiBwY2lfZXBmX2lu dGVycnVwdF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRhdGEpCj4gPiAKPiA+IHN0YXRpYyBpcnFy ZXR1cm5fdAo+ID4gCj4gPiBzL3BjaV9lcGZfaW50ZXJydXB0X2hhbmRsZXIvcGNpX2VwZl9kb29y YmVsbF9oYW5kbGVyCj4gPiAKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgcGNpX2VwZiAqZXBmID0g ZGF0YTsKPiA+ID4gKwo+ID4gPiArCWlmIChlcGYtPmV2ZW50X29wcyAmJiBlcGYtPmV2ZW50X29w cy0+ZG9vcmJlbGwpCj4gPiA+ICsJCWVwZi0+ZXZlbnRfb3BzLT5kb29yYmVsbChlcGYsIGlycSAt IGVwZi0+dmlycV9iYXNlKTsKPiA+ID4gKwo+ID4gPiArCXJldHVybiBJUlFfSEFORExFRDsKPiA+ ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgcGNpX2VwZl93cml0ZV9tc2lfbXNnKHN0 cnVjdCBtc2lfZGVzYyAqZGVzYywgc3RydWN0IG1zaV9tc2cgKm1zZykKPiA+ID4gK3sKPiA+ID4g KwlzdHJ1Y3QgcGNpX2VwYyAqZXBjID0gY29udGFpbmVyX29mKGRlc2MtPmRldiwgc3RydWN0IHBj aV9lcGMsIGRldik7Cj4gPiA+ICsJc3RydWN0IHBjaV9lcGYgKmVwZjsKPiA+ID4gKwo+ID4gPiAr CS8qIFRvZG86IE5lZWQgY2hlY2sgY29ycmVjdCBlcGYgaWYgbXVsdGkgZXBmIHN1cHBvcnRlZCAq Lwo+ID4gPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoZXBmLCAmZXBjLT5wY2lfZXBmLCBsaXN0KSB7 Cj4gPiA+ICsJCWlmIChlcGYtPm1zZyAmJiBkZXNjLT5tc2lfaW5kZXggPCBlcGYtPm51bV9tc2dz KQo+ID4gPiArCQkJZXBmLT5tc2dbZGVzYy0+bXNpX2luZGV4XSA9ICptc2c7Cj4gPiA+ICsJfQo+ ID4gPiArfQo+ID4gPiArCj4gPiA+ICtpbnQgcGNpX2VwZl9hbGxvY19kb29yYmVsbChzdHJ1Y3Qg cGNpX2VwZiAqZXBmLCB1MTYgbnVtX21zZ3MpCj4gPiA+ICt7Cj4gPiA+ICsJc3RydWN0IGlycV9k b21haW4gKmRvbWFpbjsKPiA+ID4gKwlzdHJ1Y3QgcGNpX2VwYyAqZXBjOwo+ID4gPiArCXN0cnVj dCBkZXZpY2UgKmRldjsKPiA+ID4gKwlpbnQgdmlycTsKPiA+ID4gKwlpbnQgcmV0Owo+ID4gPiAr CWludCBpOwo+ID4gPiArCj4gPiA+ICsJZXBjID0gZXBmLT5lcGM7Cj4gPiA+ICsJZGV2ID0gJmVw Yy0+ZGV2Owo+ID4gCj4gPiAiZXBjX2RldiIgdG8gbWFrZSBpdCBleHBsaWNpdAoKQWxsIG90aGVy IHBsYWNlIHVzZSAnZGV2JywgSSB0aGluayBiZXR0ZXIga2VlcCB0aGUgY29uc2lzdGVudC4KCkZy YW5rCj4gPiAKPiA+ID4gKwo+ID4gPiArCS8qCj4gPiA+ICsJICogQ3VycmVudCBvbmx5IHN1cHBv cnQgMSBmdW5jdGlvbi4KPiA+IAo+ID4gV2hhdCBkb2VzIHRoaXMgbWVhbiBleGFjdGx5PyBFdmVu IGEgc2luZ2xlIEVQQyBjYW4gc3VwcG9ydCBtdWx0aXBsZSBFUEZzCj4gPiAKPiAKPiBQbGVhc2Ug aWdub3JlIGFib3ZlIGNvbW1lbnQuCj4gCj4gLSBNYW5pCj4gCj4gPiA+ICsJICogUENJIElNUyhp bnRlcnJ1cHQgbWVzc2FnZSBzdG9yZSkgQVJNIHN1cHBvcnQgaGF2ZSBub3QgYmVlbgo+ID4gPiAr CSAqIHJlYWR5IHlldC4KPiA+IAo+ID4gTm8gbmVlZCB0byBtZW50aW9uIHBsYXRmb3JtIGlycSBj b250cm9sbGVyIG5hbWUuCgp3aGF0J3MgbWVhbnM/Cgo+ID4gCj4gPiA+ICsJICovCj4gPiA+ICsJ aWYgKGVwYy0+ZnVuY3Rpb25fbnVtX21hcCAhPSAxKQo+ID4gCj4gPiBXaHkgY2FuJ3QgeW91IHVz ZSwgZXBmLT5mdW5jX25vPwo+ID4gCj4gPiA+ICsJCXJldHVybiAtRU9QTk9UU1VQUDsKPiA+ID4g Kwo+ID4gPiArCWRvbWFpbiA9IGRldl9nZXRfbXNpX2RvbWFpbihkZXYtPnBhcmVudCk7Cj4gPiA+ ICsJaWYgKCFkb21haW4pCj4gPiA+ICsJCXJldHVybiAtRU9QTlRTVVBQOwo+ID4gCj4gPiBOZXds aW5lCj4gPiAKPiA+ID4gKwlkZXZfc2V0X21zaV9kb21haW4oZGV2LCBkb21haW4pOwo+ID4gPiAr Cj4gPiA+ICsJLyogdXNlIHBhcmVudCBvZl9ub2RlIHRvIGdldCBkZXZpY2UgaWQgaW5mb3JtYXRp b24gKi8KPiA+ID4gKwlkZXYtPm9mX25vZGUgPSBkZXYtPnBhcmVudC0+b2Zfbm9kZTsKPiA+ID4g Kwo+ID4gCj4gPiBXaHkgZG8geW91IG5lZWQgb2Zfbm9kZSBhc3NpZ25tZW50IGluc2lkZSBFUEYg Y29yZT8KCkdJQyBuZWVkIGl0IHRvIGFsbG9jYXRlIGEgTVNJIGlycSB0byBwbGF0Zm9ybSBkZXZp Y2VzLgpJIHRoaW5rIGl0IG1heSBpbXByb3ZlIGlmIElNUyBzdXBwb3J0LgoKRnJhbmsKCj4gPiAK PiA+ID4gKwllcGYtPm1zZyA9IGtjYWxsb2MobnVtX21zZ3MsIHNpemVvZihzdHJ1Y3QgbXNpX21z ZyksIEdGUF9LRVJORUwpOwo+ID4gPiArCWlmICghZXBmLT5tc2cpCj4gPiA+ICsJCXJldHVybiAt RU5PTUVNOwo+ID4gPiArCj4gPiA+ICsJZXBmLT5udW1fbXNncyA9IG51bV9tc2dzOwo+ID4gPiAr Cj4gPiAKPiA+IE1vdmUgdGhpcyB0byB0aGUgc3RhcnQgb2YgdGhlIGZ1bmN0aW9uLCBhZnRlciBj aGVja3MuCj4gPiAKPiA+ID4gKwlyZXQgPSBwbGF0Zm9ybV9tc2lfZG9tYWluX2FsbG9jX2lycXMo ZGV2LCBudW1fbXNncywgcGNpX2VwZl93cml0ZV9tc2lfbXNnKTsKPiA+ID4gKwlpZiAocmV0KSB7 Cj4gPiA+ICsJCWRldl9lcnIoZGV2LCAiQ2FuJ3QgYWxsb2NhdGUgTVNJIGZyb20gc3lzdGVtIE1T SSBjb250cm9sbGVyXG4iKTsKPiA+IAo+ID4gIkZhaWxlZCB0byBhbGxvY2F0ZSBNU0kiCj4gPiAK PiA+ID4gKwkJZ290byBlcnJfbWVtOwo+ID4gCj4gPiBlcnJfZnJlZV9tZW0KPiA+IAo+ID4gPiAr CX0KPiA+ID4gKwo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBudW1fbXNnczsgaSsrKSB7Cj4gPiA+ ICsJCXZpcnEgPSBtc2lfZ2V0X3ZpcnEoZGV2LCBpKTsKPiA+ID4gKwkJaWYgKGkgPT0gMCkKPiA+ ID4gKwkJCWVwZi0+dmlycV9iYXNlID0gdmlycTsKPiA+ID4gKwo+ID4gPiArCQlyZXQgPSByZXF1 ZXN0X2lycSh2aXJxLCBwY2lfZXBmX2ludGVycnVwdF9oYW5kbGVyLCAwLAo+ID4gPiArCQkJCSAg InBjaS1lcGYtZG9vcmJlbGwiLCBlcGYpOwo+ID4gCj4gPiBJUlEgbmFtZSBzaG91bGQgaGF2ZSBh biBpbmRleCwgb3RoZXJ3aXNlIGFsbCBvZiB0aGVtIHdpbGwgaGF2ZSB0aGUgc2FtZSBuYW1lLgo+ ID4gCj4gPiA+ICsKPiA+ID4gKwkJaWYgKHJldCkgewo+ID4gPiArCQkJZGV2X2VycihkZXYsICJG YWlsdXJlIHJlcXVlc3QgZG9vcmJlbGwgSVJRXG4iKTsKPiA+IAo+ID4gIkZhaWxlZCB0byByZXF1 ZXN0IGRvb3JiZWxsIgo+ID4gCj4gPiA+ICsJCQlnb3RvIGVycl9pcnE7Cj4gPiAKPiA+IGVycl9m cmVlX2lycQo+ID4gCj4gPiA+ICsJCX0KPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gKwllcGYtPm51 bV9tc2dzID0gbnVtX21zZ3M7Cj4gPiAKPiA+IE5ld2xpbmUKPiA+IAo+ID4gPiArCXJldHVybiBy ZXQ7Cj4gPiA+ICsKPiA+ID4gK2Vycl9pcnE6Cj4gPiA+ICsJcGxhdGZvcm1fbXNpX2RvbWFpbl9m cmVlX2lycXMoZGV2KTsKPiA+ID4gK2Vycl9tZW06Cj4gPiA+ICsJa2ZyZWUoZXBmLT5tc2cpOwo+ ID4gPiArCWVwZi0+bXNnID0gTlVMTDsKPiA+ID4gKwllcGYtPm51bV9tc2dzID0gMDsKPiA+ID4g Kwo+ID4gPiArCXJldHVybiByZXQ7Cj4gPiA+ICt9Cj4gPiA+ICtFWFBPUlRfU1lNQk9MX0dQTChw Y2lfZXBmX2FsbG9jX2Rvb3JiZWxsKTsKPiA+ID4gKwo+ID4gPiArdm9pZCBwY2lfZXBmX2ZyZWVf ZG9vcmJlbGwoc3RydWN0IHBjaV9lcGYgKmVwZikKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgcGNp X2VwYyAqZXBjOwo+ID4gPiArCWludCBpOwo+ID4gPiArCj4gPiA+ICsJZXBjID0gZXBmLT5lcGM7 Cj4gPiA+ICsKPiA+ID4gKwlmb3IgKGkgPSAwOyBpIDwgZXBmLT5udW1fbXNnczsgaSsrKQo+ID4g PiArCQlmcmVlX2lycShlcGYtPnZpcnFfYmFzZSArIGksIGVwZik7Cj4gPiA+ICsKPiA+ID4gKwlw bGF0Zm9ybV9tc2lfZG9tYWluX2ZyZWVfaXJxcygmZXBjLT5kZXYpOwo+ID4gPiArCWtmcmVlKGVw Zi0+bXNnKTsKPiA+ID4gKwllcGYtPm1zZyA9IE5VTEw7Cj4gPiA+ICsJZXBmLT5udW1fbXNncyA9 IDA7Cj4gPiA+ICt9Cj4gPiA+ICtFWFBPUlRfU1lNQk9MX0dQTChwY2lfZXBmX2ZyZWVfZG9vcmJl bGwpOwo+ID4gPiArCj4gPiA+ICBzdGF0aWMgdm9pZCBwY2lfZXBmX3JlbW92ZV9jZnMoc3RydWN0 IHBjaV9lcGZfZHJpdmVyICpkcml2ZXIpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGNvbmZpZ19n cm91cCAqZ3JvdXAsICp0bXA7Cj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BjaS1l cGYuaCBiL2luY2x1ZGUvbGludXgvcGNpLWVwZi5oCj4gPiA+IGluZGV4IGI4NDQxZGIyZmE1Mi4u ZTE4N2UzZWU0OGQyIDEwMDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS1lcGYuaAo+ ID4gPiArKysgYi9pbmNsdWRlL2xpbnV4L3BjaS1lcGYuaAo+ID4gPiBAQCAtNzUsNiArNzUsNyBA QCBzdHJ1Y3QgcGNpX2VwZl9vcHMgewo+ID4gPiAgc3RydWN0IHBjaV9lcGNfZXZlbnRfb3BzIHsK PiA+ID4gIAlpbnQgKCpjb3JlX2luaXQpKHN0cnVjdCBwY2lfZXBmICplcGYpOwo+ID4gPiAgCWlu dCAoKmxpbmtfdXApKHN0cnVjdCBwY2lfZXBmICplcGYpOwo+ID4gPiArCWludCAoKmRvb3JiZWxs KShzdHJ1Y3QgcGNpX2VwZiAqZXBmLCBpbnQgaW5kZXgpOwo+ID4gPiAgfTsKPiA+ID4gIAo+ID4g PiAgLyoqCj4gPiA+IEBAIC0xNzMsNiArMTc0LDkgQEAgc3RydWN0IHBjaV9lcGYgewo+ID4gPiAg CXVuc2lnbmVkIGxvbmcJCXZmdW5jdGlvbl9udW1fbWFwOwo+ID4gPiAgCXN0cnVjdCBsaXN0X2hl YWQJcGNpX3ZlcGY7Cj4gPiA+ICAJY29uc3Qgc3RydWN0IHBjaV9lcGNfZXZlbnRfb3BzICpldmVu dF9vcHM7Cj4gPiA+ICsJc3RydWN0IG1zaV9tc2cgKm1zZzsKPiA+ID4gKwl1MTYgbnVtX21zZ3M7 Cj4gPiA+ICsJaW50IHZpcnFfYmFzZTsKPiA+ID4gIH07Cj4gPiA+ICAKPiA+ID4gIC8qKgo+ID4g PiBAQCAtMjE2LDQgKzIyMCwxNiBAQCBpbnQgcGNpX2VwZl9iaW5kKHN0cnVjdCBwY2lfZXBmICpl cGYpOwo+ID4gPiAgdm9pZCBwY2lfZXBmX3VuYmluZChzdHJ1Y3QgcGNpX2VwZiAqZXBmKTsKPiA+ ID4gIGludCBwY2lfZXBmX2FkZF92ZXBmKHN0cnVjdCBwY2lfZXBmICplcGZfcGYsIHN0cnVjdCBw Y2lfZXBmICplcGZfdmYpOwo+ID4gPiAgdm9pZCBwY2lfZXBmX3JlbW92ZV92ZXBmKHN0cnVjdCBw Y2lfZXBmICplcGZfcGYsIHN0cnVjdCBwY2lfZXBmICplcGZfdmYpOwo+ID4gPiAraW50IHBjaV9l cGZfYWxsb2NfZG9vcmJlbGwoc3RydWN0IHBjaV9lcGYgKmVwZiwgdTE2IG51bXMpOwo+ID4gPiAr dm9pZCBwY2lfZXBmX2ZyZWVfZG9vcmJlbGwoc3RydWN0IHBjaV9lcGYgKmVwZik7Cj4gPiA+ICsK PiA+ID4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IG1zaV9tc2cgKmVwZl9nZXRfbXNnKHN0cnVjdCBw Y2lfZXBmICplcGYpCj4gPiA+ICt7Cj4gPiA+ICsJcmV0dXJuIGVwZi0+bXNnOwo+ID4gPiArfQo+ ID4gPiArCj4gPiA+ICtzdGF0aWMgaW5saW5lIHUxNiBlcGZfZ2V0X21zZ19udW0oc3RydWN0IHBj aV9lcGYgKmVwZikKPiA+ID4gK3sKPiA+ID4gKwlyZXR1cm4gZXBmLT5udW1fbXNnczsKPiA+ID4g K30KPiA+IAo+ID4gSSBkb24ndCBzZWUgYSBuZWVkIGZvciB0aGVzZSB0d28gZnVuY3Rpb25zIGFz IHRoZXkgYXJlIGRvaW5nIGp1c3QgZGVyZWZlcmVuY2VzLgo+ID4gCj4gPiAtIE1hbmkKPiA+IAo+ ID4gPiAgI2VuZGlmIC8qIF9fTElOVVhfUENJX0VQRl9IICovCj4gPiA+IC0tIAo+ID4gPiAyLjM0 LjEKPiA+ID4gCj4gPiAKPiA+IC0tIAo+ID4g4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCu muCupOCuvuCumuCuv+CuteCuruCvjQo+IAo+IC0tIAo+IOCuruCuo+Cuv+CuteCuo+CvjeCuo+Cu qeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK