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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15086C3F6B0 for ; Tue, 16 Aug 2022 05:18:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231268AbiHPFS3 (ORCPT ); Tue, 16 Aug 2022 01:18:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229896AbiHPFSO (ORCPT ); Tue, 16 Aug 2022 01:18:14 -0400 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10089.outbound.protection.outlook.com [40.107.1.89]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69BCC201D72; Mon, 15 Aug 2022 14:40:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O2GFbvjz00XUox5EfY153FZ3raMF2pEOPv7G9BzqU7iIWoXmnOM2Uely1Ryd2iKa196LbRCDp/vyWWykoUXsQAihjWxEWqt2VMGZZ7DSOrH5nuKbw1GBhEUL2uHbTxlmknVA0EOFi+FgSr6QBCmfobywmC9pNS0CxZr38mPy2fyiV3loy1Hd2L8WBPNuty6C1qQD6iFVy41I5rXU7wpNonWFR3nnxcO9mq1InD5lN05cXm4l/pJKR8RenZ/2vc+nwn3MWJZT1s3v6C1SdBdvXn3yi0IjTdmMmn6dS+c+vYtCa3ruSrheRKu8KMZFQ6xe9hzfKmlQWKJmWF+GQ8ws6w== 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=0cqUJlFv/0xz7Xx+xq2uKhrQiw7XueqIYx/1htoATHQ=; b=A0kLK8xLzX4n/rSNKPtOaR9thUR6n5JXylXjKEShERn7JmPmTUbxi9+fuSkT69QCBBiWEzzQJncFrn0ivdyKpQmiJ3UnSXSsCP3CL8mvszHPD5HTm6h7gEJFFR9RICoC5OPk/YBIUY6+ZZsMKBnRjOLx7R8LJJSdQ/j2ySrOy5GZNGdZQdMK69r6i80HZwwtJg2EtcPVJxxji0czDC0qYKj5H2PGP5vNgHyprVuvrK0mE3AXbhL48cMxVLjrFKzwSVDYuLSoxigqyX3dZUqxhlxnOQL1njno4xVDr6Z6QsYNXMJ54KMcK6yLkxy2KEfr22QbAJyMEr69xIknGOLeaw== 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=0cqUJlFv/0xz7Xx+xq2uKhrQiw7XueqIYx/1htoATHQ=; b=JNZxzAhD1BeKA/wi1HI+Rq4R3N2Yjd/AhA7uUB4jOJjRotNi/qDqxEM2SCXL+BnV+L83Su2S+CDXHVbixxyHaZFe1me4Bf6AkArEt1wQ1hoxgXPt2vrD3TGgfoFLIvKPn8NTJDlZZj4C2XWWaVuk+FK4+qYlKbehYwUZFo0qS5E= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) by AM5PR0401MB2580.eurprd04.prod.outlook.com (2603:10a6:203:38::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug 2022 21:40:00 +0000 Received: from PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::c5f1:b708:61db:a004]) by PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::c5f1:b708:61db:a004%5]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 21:39:59 +0000 From: Frank Li To: maz@kernel.org, tglx@linutronix.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kw@linux.com, bhelgaas@google.com Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, peng.fan@nxp.com, aisheng.dong@nxp.com, jdmason@kudzu.us, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, kishon@ti.com, lorenzo.pieralisi@arm.com, ntb@lists.linux.dev, lznuaa@gmail.com Subject: [PATCH v5 0/4] PCI EP driver support MSI doorbell from host Date: Mon, 15 Aug 2022 16:39:32 -0500 Message-Id: <20220815213936.2380439-1-Frank.Li@nxp.com> X-Mailer: git-send-email 2.35.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: CY5PR15CA0006.namprd15.prod.outlook.com (2603:10b6:930:14::9) To PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 611b9abe-ddc0-4ccf-8e81-08da7f06b17d X-MS-TrafficTypeDiagnostic: AM5PR0401MB2580:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xOr+bgQa0lc63pYMs9SLyLP3f6r7fZb36ulj5EYJfC7W33LjOgQPr5CKS29hQ2xh0NvvDJJtJfzboYMT3R/aDw231EtdDBO4w5tdecDjQb3WVKrFeoDXSTIsANgLzSB2BItnVPYUstqL8gEnt6IjB4JWv8qQYPqLAkkILgJnVQO8VGR4Wr09fGscpoiYn4bOqe0CaGnd3YQYL2Q1xhbg0AkCpmMLRI264QigY0/8zggbE8ichSKS4qaaVMdSGRQ+zSnGTApwz63WfL61vOnb4yuhfeqd2ljFBG/HxHLhxkx/N5xqU+pj5YXSqrk5BpIeNgGtX8yVBlyGGCh/+FPAyNk+esN/yJFKjiwQWGJS1esydhBOjvMzrOSVBwvbDbGOPGgC9zj+bFJa98qItXFton0zATSvGNsFYfRId1zqi9u9ndvjPuRHWhTyG1VR9oX8p2ykJwbCr/b4i1UYK9KMXDfz3PVBEHSJ2qxGqDAU2TKBgOPk9oxh8lID19ba1jDo4r/YZOw7pLewQse0GuMKl+RYdvObpyGl5E3F2SEEhFIIgqUr7qpYvh2RfX1xI7RXnUrEM4N+j3WmY1JRPzqNgBBGPcxZ1G5FpAnIqZC1LaybhALZXXTlZD2jNyyt9YrVtKe5KAFJTy5QYUNps+9Nl6qcBjMaF7oS17YWbMJyHoHa7hZ+vMuRiPgnrTl7tA1hpR7Rd+fUrSf6MsjsZPs56SN8cJ9i/a8ABq00XKfMjblZDejz2xShqW0yjHYEg09gOgpRiQFnuroBdN5Cu3+VD5WR4cIR9b+Cm7+Eupc6H5WMJwXbfZI+xjBSZJr4ZnCUMzMPbqhqtt4lnADjINelHw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9186.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(83380400001)(5660300002)(508600001)(1076003)(36756003)(186003)(6486002)(2616005)(38350700002)(8936002)(86362001)(966005)(316002)(7416002)(6666004)(4326008)(8676002)(66476007)(38100700002)(66556008)(6506007)(6512007)(52116002)(2906002)(66946007)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MGV2YWpVOUVsMUNkV201TEM4dmZUakJRTTZES1pGdjZRcnFtUkduaThUbGw1?= =?utf-8?B?MkZ4RFlVbU1aV2pSQjFyL28xRjNEd2psaDRST1VobkJxWWtYNG14c3NSRHdB?= =?utf-8?B?QVUyZFFBZzI5VlJzRXVYaDIzaHAxOCt3UDVLM3Z5L3FCRDR2WThtZ21xS2t4?= =?utf-8?B?a1AyTVRiQnE0QjJUQmE4NDVpc2R5RTU5UG90VS9DTHVPMFlNTlArQWl0Yzlv?= =?utf-8?B?TS9EajNVUFRWRlFDUG52WVQzUXJ2c3dvUnVXQ1VFbVlTd295NFprQXJJT01Q?= =?utf-8?B?ek1KYnluYTZZWTFIU3dFcU5SRURPMkErZFdoMHFDRXFnVGdsWWlJbElwRWNu?= =?utf-8?B?N1kwdk9XWnR2NDZkUHVlTUtLTGJRMDFhc2xNeW9TYUgwcjA5YngrSFNtSW5J?= =?utf-8?B?cDIvMjNxMGRibFpSMWtzZmpUQlJvN05Da2dOS2ZRbFFlV0VpekRYZVpJWVlz?= =?utf-8?B?UjByWFBreEl4ZUs3eW9vK25XdlZDbTNaLzUxME9SWSswNTdjSlFWbngyMitK?= =?utf-8?B?S3NiTEZyTkloaUswTWgrT05MTnNnNWNDYk4wc3VtMWljcktqQThSajJ4MmM1?= =?utf-8?B?aUVTdzhSQzEvczdHSXg0RllJNTROcUlMdE04UVNHblpPNUJwUTM2NlRFSUxO?= =?utf-8?B?SUZOTWtuQ0htUlo1UnM2Yzg1U21qQyt3dDNPUGx2MEFUVnB5UFJ2Sk5mNzdI?= =?utf-8?B?enhKY05STjhPdkhIamZPejQxS2JoZlpMVktSZlVhOXFXN2Z3cmlWZWlRRzFZ?= =?utf-8?B?dHMrUTlGV3JCbzlBTXRDcVhsaGw0SHc0MCtOTHNSdUFCS3lyMGdZQlJrZEJQ?= =?utf-8?B?Umk3OWlmYkRpa2t3NG40T2tCdkZpWVk3RXZSeTdTamJ5Z2hPYVg5K3dpblhX?= =?utf-8?B?M3dKdFMwQ2JvalhPY290dVRZSVpDRlJiTHRkeWhqNDFHMlU2VTV4b3hmQmt3?= =?utf-8?B?Y3p5N2xwbTJ0RkZwVEkvOE5Zek5mSXhQK1R3aDVnSnJ0eVM5VytZQy9PdHNE?= =?utf-8?B?UGFVUnlJaE00YTNPZStOWFFRN1UvTC9Xa3pPNDFYMTE0NjNEYUhhN2xlOVNW?= =?utf-8?B?eEJ0R3QrdkZOYUcxZmlJaVp6WW8zK2hlYk5qWGVLaE9hUlg4dkozYkQ5Z29Q?= =?utf-8?B?eitZVGtyY3FIMVlFRm9VODdNUUt5NDBiK1FPN1N4azhOYW1HNlhhNjQwT003?= =?utf-8?B?bnczV09RelJjUlVpaWpDNkZRUW5DQ2swYVZkQ3V1ZFdiRTBKeDUwZFREWTlP?= =?utf-8?B?OXF3T2doaTQ5RE1naVltRVdKbzZkMUZRZk42M0xCMGI1UzlQVnhOUUNkQ2Q5?= =?utf-8?B?a0RUNlNmYVdwbTBuTGJZZTBFME9jVUhBVGY4TEhKQUIvNGk0ZWZHRUJaSzNX?= =?utf-8?B?bE5rRjM5V095d3JHWjVTMFhDT29TTjVzYVJOT0t1cHNrZHdmcmdsK3Uxb3Fk?= =?utf-8?B?ZURMRGxQL3ZnU1BRM0V4Y3RLLzR3SWxvNU1MTWs5UXFXcUxSZEsyVm90Rk1C?= =?utf-8?B?d2hxZjVTVitlYW8vY1Yza1lkYVc0WVVHQ1BsSi9YaDlxZ2tTZVpIZVJyQ0pv?= =?utf-8?B?cDFCQ3VUbFBCM2lTT2lXUlo5V1p5ZzdydTFDbTZ6TmtmaTVNTi8xU05TT0Y3?= =?utf-8?B?dCtGSUhmVDJxa05Dc1NRUXJYbGFXZkJTU1BSeU1YeWtuelZ6ejR2M2tXTUx6?= =?utf-8?B?SmpaTzlCR05PYTRKZzA0ZzNVRFg2WklXRjBwdTFhS0J5RnYyRkZ2RlBNOE1M?= =?utf-8?B?T2pYd1BGQUsveDQ0R3ZEUDBvWXZtRzZ2aXczQTd2U3lnNGxuMGJWM3dHcU9I?= =?utf-8?B?UVF0YTFxc1pKMFZ5cERIdWxjV2ZaM1Qyb05USzNQRURGR3RzMjZRTDJWVWdH?= =?utf-8?B?b1JHSDZJWFZLNjI1YTBzaEl6SjJtQnMxU2YvYnBYaldSNWQvREQ3SFRRbUJU?= =?utf-8?B?cnJkaERXUWNUOEZLSC9yZWthWDZIMEhOODk2ZGw1TTVvTy9JazJCdTJHakRl?= =?utf-8?B?amZnM3cwRVJzaVBBajI2ckNFc0E2bjI0RG96UkdJRUVnTGMrb0JNeDRMay9i?= =?utf-8?B?K00vQXpmSUNUSFVmSFpCcHNUeWhTQlZLMk9ha0JvR1JxZDlMam5GY0tPVnFL?= =?utf-8?Q?TohbJgx+eIwHo1UD6SFMK8cDq?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 611b9abe-ddc0-4ccf-8e81-08da7f06b17d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9186.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 21:39:59.8819 (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: LTcYGeHKjVQnl5DbhINKzTWDscrw8IuSYXNzvURcQh3zopi9Fb3PAebueTM9P/eiOkz8Vo95TdM5UEqCeJWjsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0401MB2580 Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org ┌───────┐ ┌──────────┐ │ │ │ │ ┌─────────────┐ │ │ │ PCI Host │ │ MSI │◄┐ │ │ │ │ │ Controller │ │ │ │ │ │ └─────────────┘ └─┼───────┼──────────┼─Bar0 │ │ PCI │ │ Bar1 │ │ Func │ │ Bar2 │ │ │ │ Bar3 │ │ │ │ Bar4 │ │ ├─────────►│ │ └───────┘ └──────────┘ Many PCI controllers provided Endpoint functions. Generally PCI endpoint is hardware, which is not running a rich OS, like linux. But Linux also supports endpoint functions.  PCI Host write BAR space like write to memory. The EP side can't know memory changed by the Host driver. PCI Spec has not defined a standard method to do that.  Only define MSI(x) to let EP notified RC status change. The basic idea is to trigger an IRQ when PCI RC writes to a memory address. That's what MSI controller provided.  EP drivers just need to request a platform MSI interrupt, struct MSI_msg *msg will pass down a memory address and data.  EP driver will map such memory address to one of PCI BAR.  Host just writes such an address to trigger EP side IRQ. If system have gic-its, only need update PCI EP side driver. But i.MX have not chip support gic-its yet. So we have to use MU to simulate a MSI controller. Although only 4 MSI IRQs are simulated, it matched vntb(pci-epf-vntb) network requirement. After enable MSI, ping delay reduce < 1ms from ~8ms IRQchip: imx mu worked as MSI controller: let imx mu worked as MSI controllers. Although IP is not design as MSI controller, we still can use it if limited IRQ number to 4. pcie: endpoint: pci-epf-vntb: add endpoint MSI support Based on ntb-next branch. https://github.com/jonmason/ntb/commits/ntb-next Using MSI as door bell registers This patch is totally independent on previous on. It can be applied to ntb-next seperately. i.MX EP function driver is upstreaming by Richard Zhu. Some dts change missed at this patches. below is reference dts change --- a/arch/arm64/boot/dts/freescale/imx8-ss-hsio.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-hsio.dtsi @@ -160,5 +160,6 @@ pcieb_ep: pcie_ep@5f010000 { num-ib-windows = <6>; num-ob-windows = <6>; status = "disabled"; + MSI-parent = <&lsio_mu12>; }; --- a/arch/arm64/boot/dts/freescale/imx8-ss-lsio.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-lsio.dtsi @@ -172,6 +172,19 @@ lsio_mu6: mailbox@5d210000 { status = "disabled"; }; + lsio_mu12: mailbox@5d270000 { + compatible = "fsl,imx6sx-mu-MSI"; + msi-controller; + interrupt-controller; + reg = <0x5d270000 0x10000>, /* A side */ + <0x5d300000 0x10000>; /* B side */ + reg-names = "a", "b"; + interrupts = ; + power-domains = <&pd IMX_SC_R_MU_12A>, + <&pd IMX_SC_R_MU_12B>; + power-domain-names = "a", "b"; + }; + Change Log - Change from v4 to v5 Fixed dt-binding document add msi-cell add interrupt max number update naming reg-names and power-domain-names. Fixed irqchip-Add-IMX-MU-MSI-controller-driver.patch rework commit message remove some field in struct imx_mu_dcfg error handle when link power domain failure. add irq_domain_update_bus_token - Change from v3 to v4 Fixed dt-binding document according to Krzysztof Kozlowski's feedback Fixed irqchip-imx-mu-worked-as-msi-controller according to Marc Zyngier's comments. There are still two important points, which I am not sure. 1. clean irq_set_affinity after platform_msi_create_irq_domain. Some function, like platform_msi_write_msg() is static. so I have to set MSI_FLAG_USE_DEF_CHIP_OPS flags, which will set irq_set_affinity to default one. 2. about comments > + msi_data->msi_domain = platform_msi_create_irq_domain( > + of_node_to_fwnode(msi_data->pdev->dev.of_node), > + &imx_mu_msi_domain_info, > + msi_data->parent); "And you don't get an error due to the fact that you use the same fwnode for both domains without overriding the domain bus token?" I did not understand yet. Fixed static check warning, reported by Dan Carpenter pcie: endpoint: pci-epf-vntb: add endpoint MSI support - Change from v2 to v3 Fixed dt-binding docment check failure Fixed typo a cover letter. Change according Bjorn's comments at patch pcie: endpoint: pci-epf-vntb: add endpoint MSI support - from V1 to V2 Fixed fsl,mu-msi.yaml's problem Fixed irq-imx-mu-msi.c problem according Marc Zyngier's feeback Added a new patch to allow pass down .pm by IRQCHIP_PLATFORM_DRIVER_END -- 2.35.1 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 5F176C00140 for ; Mon, 15 Aug 2022 21:41:39 +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: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:In-Reply-To:References: List-Owner; bh=82UI+OPGYvQRn/YpqvL3xDFbf+rs8DvJDdqZ0k35xQc=; b=idOKDL/lx8/jfU A8VJQXo+Cmc+XVs3OPygI9WDUTGc9o5IA+wUNC36ZWXcABMZm/u4/7eQpv12OEqxBG/X/47eNXaLG qe22uCyHQOSG5s7TTNJgHy5Nk03Y3PJzZGj55UMhfV5yiZDDucESjiOcLHJGIbBJKda7fyFJkVJL6 6RtjhgF0YZl0kRuzsvcKrCm3qLq4+tb69McXHUz7Tyb4HV8mrbiPWR0wCVII210jB9U8BGBDrA/bC 4HdzBvDQ1NOpajD6bf/IPHgombqaToKbNQIHCbkOwlmov2UFdWyHQQkOihA1pKcuX3I0VhAtAZ3VW tEWfXB1+IjlyTlJ71zFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNhok-0061AG-VE; Mon, 15 Aug 2022 21:40:15 +0000 Received: from mail-eopbgr10055.outbound.protection.outlook.com ([40.107.1.55] helo=EUR02-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNhof-0060wM-5C for linux-arm-kernel@lists.infradead.org; Mon, 15 Aug 2022 21:40:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O2GFbvjz00XUox5EfY153FZ3raMF2pEOPv7G9BzqU7iIWoXmnOM2Uely1Ryd2iKa196LbRCDp/vyWWykoUXsQAihjWxEWqt2VMGZZ7DSOrH5nuKbw1GBhEUL2uHbTxlmknVA0EOFi+FgSr6QBCmfobywmC9pNS0CxZr38mPy2fyiV3loy1Hd2L8WBPNuty6C1qQD6iFVy41I5rXU7wpNonWFR3nnxcO9mq1InD5lN05cXm4l/pJKR8RenZ/2vc+nwn3MWJZT1s3v6C1SdBdvXn3yi0IjTdmMmn6dS+c+vYtCa3ruSrheRKu8KMZFQ6xe9hzfKmlQWKJmWF+GQ8ws6w== 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=0cqUJlFv/0xz7Xx+xq2uKhrQiw7XueqIYx/1htoATHQ=; b=A0kLK8xLzX4n/rSNKPtOaR9thUR6n5JXylXjKEShERn7JmPmTUbxi9+fuSkT69QCBBiWEzzQJncFrn0ivdyKpQmiJ3UnSXSsCP3CL8mvszHPD5HTm6h7gEJFFR9RICoC5OPk/YBIUY6+ZZsMKBnRjOLx7R8LJJSdQ/j2ySrOy5GZNGdZQdMK69r6i80HZwwtJg2EtcPVJxxji0czDC0qYKj5H2PGP5vNgHyprVuvrK0mE3AXbhL48cMxVLjrFKzwSVDYuLSoxigqyX3dZUqxhlxnOQL1njno4xVDr6Z6QsYNXMJ54KMcK6yLkxy2KEfr22QbAJyMEr69xIknGOLeaw== 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=0cqUJlFv/0xz7Xx+xq2uKhrQiw7XueqIYx/1htoATHQ=; b=JNZxzAhD1BeKA/wi1HI+Rq4R3N2Yjd/AhA7uUB4jOJjRotNi/qDqxEM2SCXL+BnV+L83Su2S+CDXHVbixxyHaZFe1me4Bf6AkArEt1wQ1hoxgXPt2vrD3TGgfoFLIvKPn8NTJDlZZj4C2XWWaVuk+FK4+qYlKbehYwUZFo0qS5E= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) by AM5PR0401MB2580.eurprd04.prod.outlook.com (2603:10a6:203:38::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug 2022 21:40:00 +0000 Received: from PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::c5f1:b708:61db:a004]) by PAXPR04MB9186.eurprd04.prod.outlook.com ([fe80::c5f1:b708:61db:a004%5]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 21:39:59 +0000 From: Frank Li To: maz@kernel.org, tglx@linutronix.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kw@linux.com, bhelgaas@google.com Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, peng.fan@nxp.com, aisheng.dong@nxp.com, jdmason@kudzu.us, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, kishon@ti.com, lorenzo.pieralisi@arm.com, ntb@lists.linux.dev, lznuaa@gmail.com Subject: [PATCH v5 0/4] PCI EP driver support MSI doorbell from host Date: Mon, 15 Aug 2022 16:39:32 -0500 Message-Id: <20220815213936.2380439-1-Frank.Li@nxp.com> X-Mailer: git-send-email 2.35.1 X-ClientProxiedBy: CY5PR15CA0006.namprd15.prod.outlook.com (2603:10b6:930:14::9) To PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 611b9abe-ddc0-4ccf-8e81-08da7f06b17d X-MS-TrafficTypeDiagnostic: AM5PR0401MB2580:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xOr+bgQa0lc63pYMs9SLyLP3f6r7fZb36ulj5EYJfC7W33LjOgQPr5CKS29hQ2xh0NvvDJJtJfzboYMT3R/aDw231EtdDBO4w5tdecDjQb3WVKrFeoDXSTIsANgLzSB2BItnVPYUstqL8gEnt6IjB4JWv8qQYPqLAkkILgJnVQO8VGR4Wr09fGscpoiYn4bOqe0CaGnd3YQYL2Q1xhbg0AkCpmMLRI264QigY0/8zggbE8ichSKS4qaaVMdSGRQ+zSnGTApwz63WfL61vOnb4yuhfeqd2ljFBG/HxHLhxkx/N5xqU+pj5YXSqrk5BpIeNgGtX8yVBlyGGCh/+FPAyNk+esN/yJFKjiwQWGJS1esydhBOjvMzrOSVBwvbDbGOPGgC9zj+bFJa98qItXFton0zATSvGNsFYfRId1zqi9u9ndvjPuRHWhTyG1VR9oX8p2ykJwbCr/b4i1UYK9KMXDfz3PVBEHSJ2qxGqDAU2TKBgOPk9oxh8lID19ba1jDo4r/YZOw7pLewQse0GuMKl+RYdvObpyGl5E3F2SEEhFIIgqUr7qpYvh2RfX1xI7RXnUrEM4N+j3WmY1JRPzqNgBBGPcxZ1G5FpAnIqZC1LaybhALZXXTlZD2jNyyt9YrVtKe5KAFJTy5QYUNps+9Nl6qcBjMaF7oS17YWbMJyHoHa7hZ+vMuRiPgnrTl7tA1hpR7Rd+fUrSf6MsjsZPs56SN8cJ9i/a8ABq00XKfMjblZDejz2xShqW0yjHYEg09gOgpRiQFnuroBdN5Cu3+VD5WR4cIR9b+Cm7+Eupc6H5WMJwXbfZI+xjBSZJr4ZnCUMzMPbqhqtt4lnADjINelHw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9186.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(83380400001)(5660300002)(508600001)(1076003)(36756003)(186003)(6486002)(2616005)(38350700002)(8936002)(86362001)(966005)(316002)(7416002)(6666004)(4326008)(8676002)(66476007)(38100700002)(66556008)(6506007)(6512007)(52116002)(2906002)(66946007)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MGV2YWpVOUVsMUNkV201TEM4dmZUakJRTTZES1pGdjZRcnFtUkduaThUbGw1?= =?utf-8?B?MkZ4RFlVbU1aV2pSQjFyL28xRjNEd2psaDRST1VobkJxWWtYNG14c3NSRHdB?= =?utf-8?B?QVUyZFFBZzI5VlJzRXVYaDIzaHAxOCt3UDVLM3Z5L3FCRDR2WThtZ21xS2t4?= =?utf-8?B?a1AyTVRiQnE0QjJUQmE4NDVpc2R5RTU5UG90VS9DTHVPMFlNTlArQWl0Yzlv?= =?utf-8?B?TS9EajNVUFRWRlFDUG52WVQzUXJ2c3dvUnVXQ1VFbVlTd295NFprQXJJT01Q?= =?utf-8?B?ek1KYnluYTZZWTFIU3dFcU5SRURPMkErZFdoMHFDRXFnVGdsWWlJbElwRWNu?= =?utf-8?B?N1kwdk9XWnR2NDZkUHVlTUtLTGJRMDFhc2xNeW9TYUgwcjA5YngrSFNtSW5J?= =?utf-8?B?cDIvMjNxMGRibFpSMWtzZmpUQlJvN05Da2dOS2ZRbFFlV0VpekRYZVpJWVlz?= =?utf-8?B?UjByWFBreEl4ZUs3eW9vK25XdlZDbTNaLzUxME9SWSswNTdjSlFWbngyMitK?= =?utf-8?B?S3NiTEZyTkloaUswTWgrT05MTnNnNWNDYk4wc3VtMWljcktqQThSajJ4MmM1?= =?utf-8?B?aUVTdzhSQzEvczdHSXg0RllJNTROcUlMdE04UVNHblpPNUJwUTM2NlRFSUxO?= =?utf-8?B?SUZOTWtuQ0htUlo1UnM2Yzg1U21qQyt3dDNPUGx2MEFUVnB5UFJ2Sk5mNzdI?= =?utf-8?B?enhKY05STjhPdkhIamZPejQxS2JoZlpMVktSZlVhOXFXN2Z3cmlWZWlRRzFZ?= =?utf-8?B?dHMrUTlGV3JCbzlBTXRDcVhsaGw0SHc0MCtOTHNSdUFCS3lyMGdZQlJrZEJQ?= =?utf-8?B?Umk3OWlmYkRpa2t3NG40T2tCdkZpWVk3RXZSeTdTamJ5Z2hPYVg5K3dpblhX?= =?utf-8?B?M3dKdFMwQ2JvalhPY290dVRZSVpDRlJiTHRkeWhqNDFHMlU2VTV4b3hmQmt3?= =?utf-8?B?Y3p5N2xwbTJ0RkZwVEkvOE5Zek5mSXhQK1R3aDVnSnJ0eVM5VytZQy9PdHNE?= =?utf-8?B?UGFVUnlJaE00YTNPZStOWFFRN1UvTC9Xa3pPNDFYMTE0NjNEYUhhN2xlOVNW?= =?utf-8?B?eEJ0R3QrdkZOYUcxZmlJaVp6WW8zK2hlYk5qWGVLaE9hUlg4dkozYkQ5Z29Q?= =?utf-8?B?eitZVGtyY3FIMVlFRm9VODdNUUt5NDBiK1FPN1N4azhOYW1HNlhhNjQwT003?= =?utf-8?B?bnczV09RelJjUlVpaWpDNkZRUW5DQ2swYVZkQ3V1ZFdiRTBKeDUwZFREWTlP?= =?utf-8?B?OXF3T2doaTQ5RE1naVltRVdKbzZkMUZRZk42M0xCMGI1UzlQVnhOUUNkQ2Q5?= =?utf-8?B?a0RUNlNmYVdwbTBuTGJZZTBFME9jVUhBVGY4TEhKQUIvNGk0ZWZHRUJaSzNX?= =?utf-8?B?bE5rRjM5V095d3JHWjVTMFhDT29TTjVzYVJOT0t1cHNrZHdmcmdsK3Uxb3Fk?= =?utf-8?B?ZURMRGxQL3ZnU1BRM0V4Y3RLLzR3SWxvNU1MTWs5UXFXcUxSZEsyVm90Rk1C?= =?utf-8?B?d2hxZjVTVitlYW8vY1Yza1lkYVc0WVVHQ1BsSi9YaDlxZ2tTZVpIZVJyQ0pv?= =?utf-8?B?cDFCQ3VUbFBCM2lTT2lXUlo5V1p5ZzdydTFDbTZ6TmtmaTVNTi8xU05TT0Y3?= =?utf-8?B?dCtGSUhmVDJxa05Dc1NRUXJYbGFXZkJTU1BSeU1YeWtuelZ6ejR2M2tXTUx6?= =?utf-8?B?SmpaTzlCR05PYTRKZzA0ZzNVRFg2WklXRjBwdTFhS0J5RnYyRkZ2RlBNOE1M?= =?utf-8?B?T2pYd1BGQUsveDQ0R3ZEUDBvWXZtRzZ2aXczQTd2U3lnNGxuMGJWM3dHcU9I?= =?utf-8?B?UVF0YTFxc1pKMFZ5cERIdWxjV2ZaM1Qyb05USzNQRURGR3RzMjZRTDJWVWdH?= =?utf-8?B?b1JHSDZJWFZLNjI1YTBzaEl6SjJtQnMxU2YvYnBYaldSNWQvREQ3SFRRbUJU?= =?utf-8?B?cnJkaERXUWNUOEZLSC9yZWthWDZIMEhOODk2ZGw1TTVvTy9JazJCdTJHakRl?= =?utf-8?B?amZnM3cwRVJzaVBBajI2ckNFc0E2bjI0RG96UkdJRUVnTGMrb0JNeDRMay9i?= =?utf-8?B?K00vQXpmSUNUSFVmSFpCcHNUeWhTQlZLMk9ha0JvR1JxZDlMam5GY0tPVnFL?= =?utf-8?Q?TohbJgx+eIwHo1UD6SFMK8cDq?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 611b9abe-ddc0-4ccf-8e81-08da7f06b17d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9186.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 21:39:59.8819 (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: LTcYGeHKjVQnl5DbhINKzTWDscrw8IuSYXNzvURcQh3zopi9Fb3PAebueTM9P/eiOkz8Vo95TdM5UEqCeJWjsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0401MB2580 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220815_144009_475565_2E05923E X-CRM114-Status: GOOD ( 14.17 ) 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 CiAgICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICAgICAgICDi lIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAKICAgICAgICAgICAgICAgICAg4pSC ICAgICAgIOKUgiAgICAgICAgICDilIIgICAgICAgICAg4pSCCuKUjOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgIOKUgiAgICAgICDilIIgICAgICAgICAg4pSCIFBD SSBIb3N0IOKUggrilIIgTVNJICAgICAgICAg4pSC4peE4pSQIOKUgiAgICAgICDilIIgICAgICAg ICAg4pSCICAgICAgICAgIOKUggrilIIgQ29udHJvbGxlciAg4pSCIOKUgiDilIIgICAgICAg4pSC ICAgICAgICAgIOKUgiAgICAgICAgICDilIIK4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSYIOKUlOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgEJhcjAgICAgIOKUggogICAgICAgICAgICAgICAg ICDilIIgUENJICAg4pSCICAgICAgICAgIOKUgiBCYXIxICAgICDilIIKICAgICAgICAgICAgICAg ICAg4pSCIEZ1bmMgIOKUgiAgICAgICAgICDilIIgQmFyMiAgICAg4pSCCiAgICAgICAgICAgICAg ICAgIOKUgiAgICAgICDilIIgICAgICAgICAg4pSCIEJhcjMgICAgIOKUggogICAgICAgICAgICAg ICAgICDilIIgICAgICAg4pSCICAgICAgICAgIOKUgiBCYXI0ICAgICDilIIKICAgICAgICAgICAg ICAgICAg4pSCICAgICAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKWuuKUgiAgICAg ICAgICDilIIKICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAg ICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAoKTWFueSBQQ0kgY29u dHJvbGxlcnMgcHJvdmlkZWQgRW5kcG9pbnQgZnVuY3Rpb25zLgpHZW5lcmFsbHkgUENJIGVuZHBv aW50IGlzIGhhcmR3YXJlLCB3aGljaCBpcyBub3QgcnVubmluZyBhIHJpY2ggT1MsCmxpa2UgbGlu dXguCgpCdXQgTGludXggYWxzbyBzdXBwb3J0cyBlbmRwb2ludCBmdW5jdGlvbnMuIMKgUENJIEhv c3Qgd3JpdGUgQkFSPG4+IHNwYWNlCmxpa2Ugd3JpdGUgdG8gbWVtb3J5LiBUaGUgRVAgc2lkZSBj YW4ndCBrbm93IG1lbW9yeSBjaGFuZ2VkIGJ5IHRoZSBIb3N0CmRyaXZlci4gCgpQQ0kgU3BlYyBo YXMgbm90IGRlZmluZWQgYSBzdGFuZGFyZCBtZXRob2QgdG8gZG8gdGhhdC4gwqBPbmx5IGRlZmlu ZQpNU0koeCkgdG8gbGV0IEVQIG5vdGlmaWVkIFJDIHN0YXR1cyBjaGFuZ2UuIAoKVGhlIGJhc2lj IGlkZWEgaXMgdG8gdHJpZ2dlciBhbiBJUlEgd2hlbiBQQ0kgUkMgd3JpdGVzIHRvIGEgbWVtb3J5 CmFkZHJlc3MuIFRoYXQncyB3aGF0IE1TSSBjb250cm9sbGVyIHByb3ZpZGVkLiDCoEVQIGRyaXZl cnMganVzdCBuZWVkIHRvCnJlcXVlc3QgYSBwbGF0Zm9ybSBNU0kgaW50ZXJydXB0LCBzdHJ1Y3Qg TVNJX21zZyAqbXNnIHdpbGwgcGFzcyBkb3duIGEKbWVtb3J5IGFkZHJlc3MgYW5kIGRhdGEuwqAg RVAgZHJpdmVyIHdpbGwgbWFwIHN1Y2ggbWVtb3J5IGFkZHJlc3MgdG8Kb25lIG9mIFBDSSBCQVI8 bj4uwqAgSG9zdCBqdXN0IHdyaXRlcyBzdWNoIGFuIGFkZHJlc3PCoHRvIHRyaWdnZXIgRVAgc2lk ZQpJUlEuCgpJZiBzeXN0ZW0gaGF2ZSBnaWMtaXRzLCBvbmx5IG5lZWQgdXBkYXRlIFBDSSBFUCBz aWRlIGRyaXZlci4gQnV0IGkuTVgKaGF2ZSBub3QgY2hpcCBzdXBwb3J0IGdpYy1pdHMgeWV0LiBT byB3ZSBoYXZlIHRvIHVzZSBNVSB0byBzaW11bGF0ZSBhCk1TSSBjb250cm9sbGVyLiBBbHRob3Vn aCBvbmx5IDQgTVNJIElSUXMgYXJlIHNpbXVsYXRlZCwgaXQgbWF0Y2hlZAp2bnRiKHBjaS1lcGYt dm50YikgbmV0d29yayByZXF1aXJlbWVudC4KCkFmdGVyIGVuYWJsZSBNU0ksIHBpbmcgZGVsYXkg cmVkdWNlIDwgMW1zIGZyb20gfjhtcwoKSVJRY2hpcDogaW14IG11IHdvcmtlZCBhcyBNU0kgY29u dHJvbGxlcjogCiAgICAgbGV0IGlteCBtdSB3b3JrZWQgYXMgTVNJIGNvbnRyb2xsZXJzLiBBbHRo b3VnaCBJUCBpcyBub3QgZGVzaWduCmFzIE1TSSBjb250cm9sbGVyLCB3ZSBzdGlsbCBjYW4gdXNl IGl0IGlmIGxpbWl0ZWQgSVJRIG51bWJlciB0byA0LgoKcGNpZTogZW5kcG9pbnQ6IHBjaS1lcGYt dm50YjogYWRkIGVuZHBvaW50IE1TSSBzdXBwb3J0CgkgQmFzZWQgb24gbnRiLW5leHQgYnJhbmNo LiBodHRwczovL2dpdGh1Yi5jb20vam9ubWFzb24vbnRiL2NvbW1pdHMvbnRiLW5leHQKCSBVc2lu ZyBNU0kgYXMgZG9vciBiZWxsIHJlZ2lzdGVycwoJIFRoaXMgcGF0Y2ggaXMgdG90YWxseSBpbmRl cGVuZGVudCBvbiBwcmV2aW91cyBvbi4gSXQgY2FuIGJlCmFwcGxpZWQgdG8gbnRiLW5leHQgc2Vw ZXJhdGVseS4KCmkuTVggRVAgZnVuY3Rpb24gZHJpdmVyIGlzIHVwc3RyZWFtaW5nIGJ5IFJpY2hh cmQgWmh1LgpTb21lIGR0cyBjaGFuZ2UgbWlzc2VkIGF0IHRoaXMgcGF0Y2hlcy4gYmVsb3cgaXMg cmVmZXJlbmNlIGR0cyBjaGFuZ2UKCi0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxl L2lteDgtc3MtaHNpby5kdHNpCisrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lt eDgtc3MtaHNpby5kdHNpCkBAIC0xNjAsNSArMTYwLDYgQEAgcGNpZWJfZXA6IHBjaWVfZXBANWYw MTAwMDAgewogICAgICAgICAgICAgICAgbnVtLWliLXdpbmRvd3MgPSA8Nj47CiAgICAgICAgICAg ICAgICBudW0tb2Itd2luZG93cyA9IDw2PjsKICAgICAgICAgICAgICAgIHN0YXR1cyA9ICJkaXNh YmxlZCI7CisgICAgICAgICAgICAgICBNU0ktcGFyZW50ID0gPCZsc2lvX211MTI+OwogICAgICAg IH07CgotLS0gYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9pbXg4LXNzLWxzaW8uZHRz aQorKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9pbXg4LXNzLWxzaW8uZHRzaQpA QCAtMTcyLDYgKzE3MiwxOSBAQCBsc2lvX211NjogbWFpbGJveEA1ZDIxMDAwMCB7CiAgICAgICAg ICAgICAgICBzdGF0dXMgPSAiZGlzYWJsZWQiOwogICAgICAgIH07CgorICAgICAgIGxzaW9fbXUx MjogbWFpbGJveEA1ZDI3MDAwMCB7CisgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImZzbCxp bXg2c3gtbXUtTVNJIjsKKyAgICAgICAgICAgICAgIG1zaS1jb250cm9sbGVyOworICAgICAgICAg ICAgICAgaW50ZXJydXB0LWNvbnRyb2xsZXI7CisgICAgICAgICAgICAgICByZWcgPSA8MHg1ZDI3 MDAwMCAweDEwMDAwPiwgICAgIC8qIEEgc2lkZSAqLworICAgICAgICAgICAgICAgICAgICAgPDB4 NWQzMDAwMDAgMHgxMDAwMD47ICAgICAvKiBCIHNpZGUgKi8KKyAgICAgICAgICAgICAgIHJlZy1u YW1lcyA9ICJhIiwgImIiOworICAgICAgICAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE5 MSBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKyAgICAgICAgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8 JnBkIElNWF9TQ19SX01VXzEyQT4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZw ZCBJTVhfU0NfUl9NVV8xMkI+OworICAgICAgICAgICAgICAgcG93ZXItZG9tYWluLW5hbWVzID0g ImEiLCAiYiI7CisgICAgICAgfTsKKwoKQ2hhbmdlIExvZwotIENoYW5nZSBmcm9tIHY0IHRvIHY1 CiAgRml4ZWQgZHQtYmluZGluZyBkb2N1bWVudAogICAgICAgIGFkZCBtc2ktY2VsbAogICAgICAg IGFkZCBpbnRlcnJ1cHQgbWF4IG51bWJlcgoJdXBkYXRlIG5hbWluZyByZWctbmFtZXMgYW5kIHBv d2VyLWRvbWFpbi1uYW1lcy4KICBGaXhlZCBpcnFjaGlwLUFkZC1JTVgtTVUtTVNJLWNvbnRyb2xs ZXItZHJpdmVyLnBhdGNoCiAgICAgICAgcmV3b3JrIGNvbW1pdCBtZXNzYWdlCiAgICAgICAgcmVt b3ZlIHNvbWUgZmllbGQgaW4gc3RydWN0IGlteF9tdV9kY2ZnCgllcnJvciBoYW5kbGUgd2hlbiBs aW5rIHBvd2VyIGRvbWFpbiBmYWlsdXJlLgoJYWRkIGlycV9kb21haW5fdXBkYXRlX2J1c190b2tl bgoKLSBDaGFuZ2UgZnJvbSB2MyB0byB2NAogIEZpeGVkIGR0LWJpbmRpbmcgZG9jdW1lbnQgYWNj b3JkaW5nIHRvIEtyenlzenRvZiBLb3psb3dza2kncyBmZWVkYmFjawogIEZpeGVkIGlycWNoaXAt aW14LW11LXdvcmtlZC1hcy1tc2ktY29udHJvbGxlciBhY2NvcmRpbmcgdG8gTWFyYyBaeW5naWVy J3MKICAgICAgICBjb21tZW50cy4KCglUaGVyZSBhcmUgc3RpbGwgdHdvIGltcG9ydGFudCBwb2lu dHMsIHdoaWNoIEkgYW0gbm90IHN1cmUuCgkxLiBjbGVhbiBpcnFfc2V0X2FmZmluaXR5IGFmdGVy IHBsYXRmb3JtX21zaV9jcmVhdGVfaXJxX2RvbWFpbi4KCSAgIFNvbWUgZnVuY3Rpb24sIGxpa2Ug cGxhdGZvcm1fbXNpX3dyaXRlX21zZygpIGlzIHN0YXRpYy4KCSAgIHNvIEkgaGF2ZSB0byBzZXQg TVNJX0ZMQUdfVVNFX0RFRl9DSElQX09QUyBmbGFncywgd2hpY2ggd2lsbAoJICAgc2V0IGlycV9z ZXRfYWZmaW5pdHkgdG8gZGVmYXVsdCBvbmUuCgkyLiBhYm91dCBjb21tZW50cwoKCT4gKwltc2lf ZGF0YS0+bXNpX2RvbWFpbiA9IHBsYXRmb3JtX21zaV9jcmVhdGVfaXJxX2RvbWFpbigKCT4gKwkJ CQlvZl9ub2RlX3RvX2Z3bm9kZShtc2lfZGF0YS0+cGRldi0+ZGV2Lm9mX25vZGUpLAoJPiArCQkJ CSZpbXhfbXVfbXNpX2RvbWFpbl9pbmZvLAoJPiArCQkJCW1zaV9kYXRhLT5wYXJlbnQpOwoKCSJB bmQgeW91IGRvbid0IGdldCBhbiBlcnJvciBkdWUgdG8gdGhlIGZhY3QgdGhhdCB5b3UgdXNlIHRo ZSBzYW1lCglmd25vZGUgZm9yIGJvdGggZG9tYWlucyB3aXRob3V0IG92ZXJyaWRpbmcgdGhlIGRv bWFpbiBidXMgdG9rZW4/IgoKIAlJIGRpZCBub3QgdW5kZXJzdGFuZCB5ZXQuIAoKICBGaXhlZCBz dGF0aWMgY2hlY2sgd2FybmluZywgcmVwb3J0ZWQgYnkgRGFuIENhcnBlbnRlcgoJcGNpZTogZW5k cG9pbnQ6IHBjaS1lcGYtdm50YjogYWRkIGVuZHBvaW50IE1TSSBzdXBwb3J0CgotIENoYW5nZSBm cm9tIHYyIHRvIHYzCiAgRml4ZWQgZHQtYmluZGluZyBkb2NtZW50IGNoZWNrIGZhaWx1cmUKICBG aXhlZCB0eXBvIGEgY292ZXIgbGV0dGVyLgogIENoYW5nZSBhY2NvcmRpbmcgQmpvcm4ncyBjb21t ZW50cyBhdCBwYXRjaCAKCXBjaWU6IGVuZHBvaW50OiBwY2ktZXBmLXZudGI6IGFkZCBlbmRwb2lu dCBNU0kgc3VwcG9ydAoJIAoKLSBmcm9tIFYxIHRvIFYyCiAgRml4ZWQgZnNsLG11LW1zaS55YW1s J3MgcHJvYmxlbQogIEZpeGVkIGlycS1pbXgtbXUtbXNpLmMgcHJvYmxlbSBhY2NvcmRpbmcgTWFy YyBaeW5naWVyJ3MgZmVlYmFjayAKICBBZGRlZCBhIG5ldyBwYXRjaCB0byBhbGxvdyBwYXNzIGRv d24gLnBtIGJ5IElSUUNISVBfUExBVEZPUk1fRFJJVkVSX0VORAoKLS0gCjIuMzUuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK