From patchwork Tue Feb 11 19:21:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970568 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 29656C0219B for ; Tue, 11 Feb 2025 19:28:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=R1asdCqkOW/4Zrb/mNGHEJYIluiRzKgOfQ58AvDkDSk=; b=bSlSjmoruszAIzoHM9vC+37lGS 9kdD0jl/VyPV8vABqjcteenWWTogOMGtpJrmRmKHEboIeSswTSNR5INFsK4jgFxj5V5PIu31Ie3k8 7IagbuA2ipoWtR1GxB/rv/ZN8h4Vjp8azEaPQjSzlUprPnOPHTe1yXLOerftoRqyohp8iBPUgknOA IBleqysSAyEBTSGGhSPBPOoOJ5A991KKZcIax/nlW6TIKnUe0+vekQejZKfxwrW2Frr89ODHlSC+q 7irEF4vAgVZGiH+4kjHPmZhO5qB77H87m/OtYR+3hZfcOMh1n/5/e0AyKwBfw5fWDTpW3eg0Fo/sM gRKBFv0Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thvva-000000051dG-1AuA; Tue, 11 Feb 2025 19:28:14 +0000 Received: from mail-northeuropeazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvpu-00000004zW2-0L4C for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:22:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fwN97h66ZGwGnpjS8mk/DMfx5e9zL9nn/lGPaQh3WO6mNDFUS2YRoXq5Ym0Q68eQsV8hpsnq5+mA4JJKXXvkdgMHikSs3xnwDBjoBms/+fVxxfr9TWvdckUIKjU6Cj64a4+itVejYtkKYPGufPGx+FMl99A2cy1QDZah84nD1Hf06fMfWY/cjG9MDgyVws/HipMYvEcwIHL6dz1deTNAnTeDoUewlR04OM2NbCxBxS/VpIQFjSiLmRLjnNADx4JdxPCMPw9ZMPLVkERWH1UStlmhyNsFDxS1cjwiGKFKqRPUfdSHAtyZJeHdR/2hmPKwMYK83Sdhh6liyG/8WQ0v4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=R1asdCqkOW/4Zrb/mNGHEJYIluiRzKgOfQ58AvDkDSk=; b=yA9IUtIpGgzWIPcTNdlp+aVwjgAHuW1OkKRT1Xwi3H8j0rb6nrTG33Ra/adyI4oGOXnPDFhwyIqAcr0XZpzypvPqXfGzj6/24QxFo9sdoIlDKO1R64Glh6Uooa7vZE86hsERiMkkgKjXG5vWXqBCHl3flcgDTE86hWNNU5MCitl7R/OB6kAlshbKPRGMGWBIifMvxdFWMp9Uhd2qPTalj+peEZnIxFUZJBVcxTvXd4mbqX3LU39lxZ+ADGxc0aQlSHOLhjQXmvklds63EMa5oqnassjZSumCHae3+nJhYludlh7c0AsS+wE7DI5wUuOO5RRJCTbBFdPVUt16QsLhmA== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R1asdCqkOW/4Zrb/mNGHEJYIluiRzKgOfQ58AvDkDSk=; b=Y/kloklsjTB3VYvGO3SvOdCMZvL/LpMNVRlZxXoQI+g7WLmnWLrj3X47KpStg44Ig17TY0WlXZ/K8dtq8+Z1Ig0sXmarz3U7/Fgg86sgxh2sJ8IRIn32nBK//sijdZaIPj/WOmaAf3b3OGjmYSnHtUp2GG0zzfJUQPrR6xiELQuUNi6EHbqHt3ihsZtAqFbX9vK5sH3URMiAawXniTV3A9L9KL7lkUlDBl7t4JH0l70+5FBTNQcv5qDguLgSlRAHV3wJNN8XxWH4jxo8+aMI0xw4hPvL+AZCPo6yps7el/JmcT4M75AtIccrgaDmG/1q+6Jx3ykb5DCfMNNYCfgk9g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:19 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:19 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:54 -0500 Subject: [PATCH v15 01/15] platform-msi: Add msi_remove_device_irq_domain() in platform_device_msi_free_irqs_all() Message-Id: <20250211-ep-msi-v15-1-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=3043; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=gL8hiycm2h2s+DeI0YbGrCnGWmOW9FS4xLW6MzCh37o=; b=FAo7K9hlAHBpQPTBV0xJQxt7P5QO0fPInNcBHP/i/b0VNrpUybCd80x4LWEsRAh8+jdSgV5Nt ASO2raLKObUAFJiyapiMNpfcmebZJ09KDCkeUqsl504fDbVHnWNIQOB X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e88b120-1f54-419b-364c-08dd4ad166f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?b4M8zmHy1G8TVE3uH8SlZZox8EqVqKq?= =?utf-8?q?l5wJZhnlTbPH6gOVnLH4V8/EyemqGxBACUQ5MeiSSxVaQnUbWw3w4KLirpm+//Gat?= =?utf-8?q?baKoRNLUfiVbDXmgO0eabfyuqGKnh4yNJ79a4H8qsHWgvr2Y2p+hOFTqiG0PQ+awf?= =?utf-8?q?UOcnavijlp7jwD9NY84bocPRYJwihfprzDHwmbH47L+EJZAncpqG05Sz4eR6nLnuv?= =?utf-8?q?bn/p1UgdDAVownQWuJGbauIePjGMmIhkSVv+Rm0cC16HorX7UNZPolihU5iTTDjd8?= =?utf-8?q?1DKjZ5kMp3VFMp0JOIZpltzjWpv0HhMTbuDijTc/WO6/a2K1t9egD+ASYjKDhwjuD?= =?utf-8?q?wBxl5vpXJ/HQsFC//vPhgvr4HhKCjTfRraFYanAnwDANkD1CTJcz4so2kZDwN9Bes?= =?utf-8?q?QqoApAaAX2iFr8Dlwl2zp/99X0DilmDOind7pJCGuMA+wpywErh4+ZhGagLqy4KAl?= =?utf-8?q?BXY2Lstwj3d6hr+Xpm3+xknZtasoKubnneNboDXS3QPKh+BwKKTgdrLoJrovUlMBv?= =?utf-8?q?j1N7dEgA6oUW9O2foEpcojjbVSrY3yYMHyQAfuGJaybrmVLPJYgwuApY655rSVoDg?= =?utf-8?q?Y0seM/HVR0T3TX4/G30UqRxM183UorUIfjuofPrHzo+0uqq5OpNFyS2gD3un7EfBC?= =?utf-8?q?hIEPo0myyldfT6aARLjPVK/ZlzTEz0GQh1EnNrtPF8I4X/mff35n/NlJXYqZiX+NY?= =?utf-8?q?51paZG/1aNG2fP1T7gCeU1EEgk+kJmf6lQw9UmUwSt4b/gs2EN3XJn/q0kmgK45x2?= =?utf-8?q?4INgrQa8POWjSfGcfSrn4KjOlv5hj2D6AIOIUzMRbuSsyf9vuu84O9/vBD+aw6kTy?= =?utf-8?q?iXxphhrxBL0q92GzGn4UOjZYj3yGIDgKcywg6+a2nArxuinzRFacsTWJ/UTOE93G2?= =?utf-8?q?IkUIyjY6/ZZ17xBbtaoV8KZ9s2LT/BTXaO6mp8zQkU3o/n+NYlLlcSjb5OzaasFw7?= =?utf-8?q?m8Uz6RUOiuaVWLtwwIRNm/0ypOevvZ0Dvv9IRse71KKdSWiHjtHXQuA9b9PpUhDg6?= =?utf-8?q?OCD+5MicyXPM493YIi0xcHU+b7AiJeyJW/7z8z8GdsM4okz0TDJqz6MdWzI3zoqlm?= =?utf-8?q?FjdxOyQsklZFFCYmRAa2M0jxFEcbaFedJieoN5T/QUX9pD56sa6gPYG00+q/wRyNX?= =?utf-8?q?mZscJGYEYM58F3jDegWZBIUnbuTQcnQg4FLhgr5Cxk+vUlr8V9wwwN2ci7tmy4dw3?= =?utf-8?q?kjkp3AOT854qScTPU8Stw/ksI/zFTPcLgwJ0xX4l+stuCgyMonx3XwqZoXSbmdZcB?= =?utf-8?q?YQaW+Sv8/upJ56rjMBpfT+2obSnwvX3eCkr1IDdSD9ShlxPBKqJWWXi8vgY/ruREZ?= =?utf-8?q?IS/cS4qPKCQjtQrM7SWi2CprLibbiI+0miasqTj0uEjZi7NAHV1AqK3evvPtKOstJ?= =?utf-8?q?XttIZ8x50w0/9ESNT0/j+sGxze8R7kfnw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?optJOXpaYNTfDa023x3X4yI6bHwD?= =?utf-8?q?kglJ/Dnp47bC4ETOTcexPOgnqEt3Y1ZBM7F+nRgWPYIg8Ryqxw65glJotPYB2qqtU?= =?utf-8?q?awQA4AGQsaRn9QueCx9YWFPLSKtsHVME2smHr1man2mjlZe8sa7Xav5RFWgDi08fM?= =?utf-8?q?1iUNYz8zvik83LCMaZOKrZXZtc90IEjkZjxhur7bJC2WSNx27pGOmadWhPRrv9Xsm?= =?utf-8?q?k9rLMAan/zLc2jiqj5ogLc5vIRhVT8OGxg5dhMBCKjgT0MTXE7F90SXtVIlhR6hvD?= =?utf-8?q?Icb7F/8i4qsNH9bd2Rsje3+nFYHOsLUypdgrahOjav+m5Pg/ytGKTIqEPVYw/b6IC?= =?utf-8?q?yoMP7Murh+ZQHbQ9PfFbSWOmgOldblwwuAWD41LVDrZR5oZHjrJDBj8YxMNayv1Lu?= =?utf-8?q?VRamrVi/G2upJQu1kHRstL4xHfl2U88PdHU6lTOkNigPxspnbrwb3Nscy5brtLPDg?= =?utf-8?q?zcFwNd+opHhAphPPJlRfinRetiU/djKZmaFqpzjf4+LrySr4Pv1cKzPTOgKfwjBJj?= =?utf-8?q?1/yjK1KMvYpK5PPa+LyBzlvrXzLlYAL49o/PjRXZsrfLc9KYJJdljz7px34Kd8lGM?= =?utf-8?q?/y0CbskDfsngrlsTVfbyxvdmV24EJlqLh+dvHW8KetKcIJ1i0o+myujcmyVvmHlDD?= =?utf-8?q?ArCqtBe6ma4uwm5c1MkuxbQR26h/zsRP7KvWmn68M1MLlh3JPqKZJ3hN646js763v?= =?utf-8?q?8rWcGmhJXoTGgbjl0V1U24+vaHe67/YiM6IWJpGxW+I4wTmcOwXXzzi/P3L4wE8TI?= =?utf-8?q?09440D81PljRofby6Lxxnb1Aw58Ktz1LKRRQNa08rB29wmZgiWZk6vSNHfVwnn3NS?= =?utf-8?q?kmLvCq7YLupKQOZz/pHS4vY8wgkrlHnodKyV6smmg1xu8bubjybrmrQB+SwePJ9dU?= =?utf-8?q?7zn7L5ariDhmsKZyJoKxZ5BkMNysN0Ze1DFrRQrTeDSTsfgJFAzs7yATQFqQSJhiL?= =?utf-8?q?mzCjAt20DBnwUZK+G/cRU7T74DKj80qZu+JwJBY1QWgk7notF+W+lNkm76t/Ytiv9?= =?utf-8?q?e62Q6LQEcFbtHVfK9oySWbNBa/D/bs3UTpQDgVCZqVlF2TruIQLm2m8ZtD5VEnOB0?= =?utf-8?q?sqpx+6vz5pqVlQA5NXo1FR+e1UzNk+OWde9G3F+WNe4225RYG8RzGTlo99N02/JHU?= =?utf-8?q?cJdWJXLLNjMhWM0VCz5Qplsyh2AFsZeBiZh/xtfOdi3OPdfA169yL3ImD7peji92i?= =?utf-8?q?5+holXD+Wz86pKBs72UtysBWZKmySQHl3wob+TFzvf80iiueb1/nNOM6+6Tl6jpQh?= =?utf-8?q?OtxzqCdVvNi2aiTjLayClRpGhrjme/dDWRZYW2Xwe2SElx8e3a47T2EibpPvzIuGb?= =?utf-8?q?17eznZbBHf7CZD6rvauTBwfn6LOsWE6PV44yy9YqxMlYeQ9Chtd6bgBGl7PQFxc4e?= =?utf-8?q?vZIKbfFQdMiYpFjkNj4StF+3kAoqwsduWzZ1LPc/GJqK5KpKekopi183/jFs+EV4u?= =?utf-8?q?3xcoyo08YcG7Y6ECmAns3uL0KjXjWhxXautzq9TRK+opsSY8c9dfxTbllfoVLg/aO?= =?utf-8?q?fkAeZFfplMZf?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e88b120-1f54-419b-364c-08dd4ad166f2 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:19.3439 (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: qRrWgXCKy9U82fdzm35RMR0jDzxY0HsH2qfLhm+nwMuanup+rcL0DXcfxKItegPqcqx64787PC3riR5QtXZkuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112222_127363_57D8EA93 X-CRM114-Status: GOOD ( 11.48 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The follow steps trigger kernel dump warning and platform_device_msi_init_and_alloc_irqs() return false. 1: platform_device_msi_init_and_alloc_irqs(); 2: platform_device_msi_free_irqs_all(); 3: platform_device_msi_init_and_alloc_irqs(); [ 76.713677] WARNING: CPU: 3 PID: 134 at kernel/irq/msi.c:1028 msi_create_device_irq_domain+0x1bc/0x22c [ 76.723010] Modules linked in: [ 76.726082] CPU: 3 UID: 0 PID: 134 Comm: kworker/3:1H Not tainted 6.13.0-rc1-00015-gd60b98003b43-dirty #57 [ 76.735741] Hardware name: NXP i.MX95 19X19 board (DT) [ 76.740883] Workqueue: kpcitest pci_epf_test_cmd_handler [ 76.746212] pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 76.753172] pc : msi_create_device_irq_domain+0x1bc/0x22c [ 76.758586] lr : msi_create_device_irq_domain+0x104/0x22c [ 76.763988] sp : ffff800083f43be0 [ 76.767313] x29: ffff800083f43be0 x28: 0000000000000000 x27: ffff8000827a7000 [ 76.774466] x26: ffff00008085f400 x25: ffff00008000b180 x24: ffff000080fc6410 [ 76.781624] x23: ffff000085704cc0 x22: ffff8000811c8828 x21: ffff000085704cc0 [ 76.788774] x20: ffff000082814000 x19: 0000000000000000 x18: ffffffffffffffff [ 76.795933] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 76.803083] x14: 0000000000000000 x13: 0000000f00000000 x12: 0000000000000000 [ 76.810233] x11: 0000000000000000 x10: 000000000000002d x9 : ffff800083f43ba0 [ 76.817383] x8 : 00000000ffffffff x7 : 0000000000000019 x6 : ffff0000857e443a [ 76.824533] x5 : 0000000000000000 x4 : ffffffffffffffff x3 : ffff000085704ce8 [ 76.831683] x2 : ffff000080835640 x1 : 0000000000000213 x0 : ffff0000877189c0 [ 76.838840] Call trace: [ 76.841287] msi_create_device_irq_domain+0x1bc/0x22c (P) [ 76.846701] msi_create_device_irq_domain+0x104/0x22c (L) [ 76.852118] platform_device_msi_init_and_alloc_irqs+0x6c/0xb8 Do below two things in platform_device_msi_init_and_alloc_irqs(). - msi_create_device_irq_domain() - msi_domain_alloc_irqs_range() But only call msi_domain_free_irqs_all() in platform_device_msi_free_irqs_all(), which missed call msi_remove_device_irq_domain(). This cause above kernel dump when call platform_device_msi_init_and_alloc_irqs() again. Signed-off-by: Frank Li --- change from v14 5o v15 - none change from v13 to v14 - bring back from v9 and remove fixup and cc stable before it is new use case. --- drivers/base/platform-msi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c index 0e60dd650b5e0..70db08f3ac6fa 100644 --- a/drivers/base/platform-msi.c +++ b/drivers/base/platform-msi.c @@ -95,5 +95,6 @@ EXPORT_SYMBOL_GPL(platform_device_msi_init_and_alloc_irqs); void platform_device_msi_free_irqs_all(struct device *dev) { msi_domain_free_irqs_all(dev, MSI_DEFAULT_DOMAIN); + msi_remove_device_irq_domain(dev, MSI_DEFAULT_DOMAIN); } EXPORT_SYMBOL_GPL(platform_device_msi_free_irqs_all); From patchwork Tue Feb 11 19:21:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970570 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 10777C0219B for ; Tue, 11 Feb 2025 19:29:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=T9NmlTi4mUZwPLpgsYhtEUIIQqxBeTa69EOtiogTNHY=; b=00IdCecBrV+Q/q9/RCWFvttp0M 84FYrXJjwoK9EUkh1b1U8Z2OObneZe6SmpefgIWF+hLn1Gs4WdsMFPBWOpFykhYYjM7S/wH53m/UB AATR0jLLvMAnT31jcohCgRnUML5bJbo/xYSaZ/oqhEq0jJAn9w6ipQ3EWxGUMZZNusfZsm6M8t4Cn fk7NiSeY/tkZE3MRRlZrxhM1WeYXNZpIa4Cb9VE3aBTIbMKwDXjxlPmUeIo7bPDrxhBoAXA6PLQyz B8r/X2xclQXNbV07svjYJiIsbF90hOvi+emsdHSKGACyRF294EqNuLhuqmFum518me/UOBnM0Kl/c RUWkL5dQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thvwx-0000000520n-3s6x; Tue, 11 Feb 2025 19:29:39 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvq1-00000004zY3-2r7m for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:22:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D9wjfGIlt4EQbGhnLcRwC0IQ/QxmzD1jor6khajtev8Je+UQkEZtCAkNHdBpXuYxidh2YAR32fP+/Q3XGaodMY5Ly4q+pWZ6uvAhLFo41HiSKrVovgyj41KSfFtMgVET6XIds+pFKJvdhh3wxIyp5HdZ5jsgkyz4FWlyGuU+Zk/zyAlGdAFN85u/JbP36NgDhBvYFdOkTLa1n1tPGwP1tCuIdTy3FcurdvD34vHqIt1A18HOd6fbVZJ5bz/2HQEOjc/0GCTvrRpsWjRYG4EWOvP1AjiKHHsFBFj3spuZIfvQXcA+g0mVBl1Nkb9KhoqESeIe6GcJFgLI0SMOsfSjHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=T9NmlTi4mUZwPLpgsYhtEUIIQqxBeTa69EOtiogTNHY=; b=iqQpMmJjwGMp2Ajr0I+gwQEq8yvskm/qAYxK9A5T6htnsIlTzZGvirGqPKsI/5t+8eZyHWT5Xusf0Y7T0E3DplRUlX0fMTwW+ijc0YBVLgTuiaHql2aK96vOTxY1kt8AKcu+JyadGovkJep9lBjavnRpRVsWyYqI3/7hmjNcvgI1qkONKI67TJRYWPhdOA3MyCjrmfqktz3ytsrc9eVGTk2RyOWyZUojiLr0pYo83vqGLgUsLcjZ212C0TqFy89v+fbrs1gBe9y/RDCzDV0N61D1aNnV2s/ab9+zNDosjeIzDhDnDJZyI7urUgP1lM/lT6bPp+Vn1M0UX70sEuv+IA== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T9NmlTi4mUZwPLpgsYhtEUIIQqxBeTa69EOtiogTNHY=; b=e044l9llgc0EUcd9LyemovTsO7Yo04CVZebdRhO0KZm/la8oPGaJx+N66g+uQIx0IwDTwgZqqWGnh53ah1Top40csK971ImjdvD+VTTCItXnXexAhz6xD/KKZ6tt5kYpch35bopCoSxB09xTbOBFK8y0uqp1dO+2pymikdasSpO0bFGytVVUGeU1T4FTUWr07WnyiscapAtpC7xqsXRXN6pemv05zcdEdchiAa8ck+U6DEXCV9n+Pf0N2+To/uOM+gdlEAVThBn4n1nSUMC9D9+I9qkrj40TLlvdrB1JxO0Pd3rhHHCc7cZGASb8VRaZ+ljVF4RqxcN7HSqFptBT3g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:26 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:26 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:55 -0500 Subject: [PATCH v15 02/15] irqdomain: Add IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and irq_domain_is_msi_immutable() Message-Id: <20250211-ep-msi-v15-2-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1874; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=fJUb3Qo5pj69Acq54kcwlUPnULEPbDHzxWgCizfGqA4=; b=WsPdfyikds3DFNtJaxtanKWQHljWU47bVC73D999Nmd547z6HXbAP/R1S1MLBb5ldq+6CYHDd 2CoLOAa2WIQC+3V0sO/UjNdOIjkbODn8UuLprCurk0ax42y1b7BMhWl X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 778830b2-391c-44ac-2a9a-08dd4ad16b56 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/2TYQ7aRPQb5EUu9iHSE5tjgBkI4c75?= =?utf-8?q?r9WauNbCSm8CMwA5RINe4OqzEgV1kBuJE3S+u+bHtS4INvqJpV8RH+1WGcMRZv7BO?= =?utf-8?q?6NddKgZBYrWqAmJDihlul9IqKcE9/yncDr+CaqpsnkKdpI/qA6sH50dEHq2AWtt28?= =?utf-8?q?4zwwS90KOC6VeK7P2DvgS2BYI+sVKBHO7XbnNNQQjNGIW2KmC19Jtf59n8YnGE4U3?= =?utf-8?q?fXiTmD5mO/2ChPgwyByUqQh2fXkLSyYYTUSYTp/q2al7OzVlsrNNhui953PTr7dJy?= =?utf-8?q?7a0z7OC9IZZ2XDCBXqN1Ls4K/Umv5zDoAc9PhmasEAUIrK7UcZDTZUiLkENUauZoS?= =?utf-8?q?4mG45tw1skWL9U0xyTmAQA8MGAUEKg1Kc/qtYqhERPVW5v+dCfjKYxEGuPlgnICUZ?= =?utf-8?q?h7yJmMZfqX1VKtSvLt10LUf/WthEjIh6/+Hiy957CmOK2PT0QgpFaOoXZ4XDOiAGc?= =?utf-8?q?AGas3qmvS57SZ4Usi620jcHvblOEA4vQxEC9cOtL6rnpbTbFojM1a7AAjxnF+BVhO?= =?utf-8?q?yoJR44GTlPeeaYk31jrnXjkRqTMSI5f8ewONTlhejJCAB+18FyYIrkiy1HVTfrM1a?= =?utf-8?q?ISymwxyyUx6H3HwflG170FVBeLkioV2zO8+/WgHWI2grkTvOX/2JzjSjE3cDViAox?= =?utf-8?q?e7NOAVdbQ2BsjFIqDoV+c7Z/19isfWstXRnQ7/Mczw/fIPQZAt8aSUq3XzilIOc68?= =?utf-8?q?V831Wy3kRTlS6u4s8ZodmzrrcT/0xlvZLaHpU/LGhSwvt5ncFv5UNUEk0wQDKWu2k?= =?utf-8?q?eAZMXMoKNNnVeMvsBHJrZtwEbRstzNdzYc6DNChcBN7XPukvi2DopjBIwiLEUKw8Q?= =?utf-8?q?gv2j9Ni/XegRcC56pvLkyoYX4NlEpIb3ULMxBiJy2RY/afV5+3fkNUXrtn+/ixDMD?= =?utf-8?q?A22f0qnNmwLhnsKhaXtQZfQoRcnRZEqbneW7PFIAhkL5bL0/G5qP1VnfbHqcMbSbD?= =?utf-8?q?nfOwjr0of9XBDP8xZbFNoDMvPnvZHl3FGucBQV21l9ESzzx7vEtev1bkSwrw61m9D?= =?utf-8?q?Xxu0yXpQjQWPVOoqAwPBkmpafsnSesHAoESzVZUfZYKFbABXmzkJlpcWD94RDqYhj?= =?utf-8?q?fC3oobh5SVKeN94YIQw31kcNf27HlUzdnfZ7VLSoRKQ4EMuaKoYlaYrL/OrBWdMyG?= =?utf-8?q?0pIXVszPv76+kLkTnI8E2x9j9OzEP1qmQOFM/PCEHGtFdLtHwVqItHgIY8i2kp+Yk?= =?utf-8?q?9V2wb1m6KFTXSmPKG6Ucj3BmAGhz/9rhd689BrVf0uiZSbVnilNC2e3JLrj3wKL/M?= =?utf-8?q?ohhlsuHRmAWOzXai1uwpR/WEDfr5mJBP1y6QmTG0VSsKHMEBzx6Tq3tvW63ODt5Z2?= =?utf-8?q?4adFPKWDw8OtfDEXyYREgiSVRXOlvqDcLqs5S1z5I/ax8eXxiy0fuwTJq1FmQt1uY?= =?utf-8?q?PV2VbyT8ToE13k/bjeHzhg/2swhPBQyag=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?RJxzcv64r5lF0sSTTZJClOBqRbEC?= =?utf-8?q?61LC6AwPmLbZGBqRmHQA/J+cnmafg4Lz4sQ7+LDZub2QcKXF24pXipjmrXIxcUDqj?= =?utf-8?q?WsKN92wXhfNiI8sj5XIJxVATto5AU3fR73Ows/fxIuBlLwUEc6vjZsJ1IU27OYN10?= =?utf-8?q?Mj9cc+9N/ujEHIzK28vBnekyqgsv7jy1KxdWbcz+3w9ENRrfWrDg93AxmrOTQ1oea?= =?utf-8?q?2VIh1z9bIgisRskYPJrN84lZx1amwP4K0ojyWQ/b/IEas+udKNL+EObCcwRVXTOff?= =?utf-8?q?jTlWpjYV/lRACB/k2KuPuduR008xjTkS/xHcDLnuf/QmWAE8EANIkmmRqjzXNetoU?= =?utf-8?q?1rCeAAhs+rrTDNq6OJG2XtieyOHhtwe8BSXHsHpB8pMaTteTxnVbMoCiiI0xA1P+2?= =?utf-8?q?NprDyEZt1PYuhi75s9SN7zNAaP5jZyqgA3rZZjitN0Ulv76zWm6d2R08wLISwZSR6?= =?utf-8?q?3hinEPIXaZl41yklN9kChPoW4ytVA+5yNdv8gf6PNzUb0sYnpokgrKdSuSLNXhv/K?= =?utf-8?q?S7Jh+TFYH+h4hRWIJrPkNr+LhScwKQKeZ6Uv/seGZMT+rckzopPb9TPCnqR0Tf+4S?= =?utf-8?q?D9KTpKVX10i0Rj6CX2jy2SeHVdKg3twlUno+NWSFMZCbxns2KQNVrDFnbbqEmtQE3?= =?utf-8?q?9ISKUxNKtYN+Af8jxpLVkS924AxsjmMtrPsP1G9njPycTyYHq5kK5tzEsJy6yzJlA?= =?utf-8?q?gEYrZ7/rHBpL8F2szmcHGgqXcpEnHbbyqiCHA3ZbIANXtNqD9yK8CLelNOc4Rerqg?= =?utf-8?q?fmJ2QG+Z+eGpEWE+InYUJm5eXjD8vJXbfXRAMAB2xXth5b1/mO/mEiS1dLDJTeT0t?= =?utf-8?q?XpvjzEcvRYxx2ab0K5qc8zmYDhG58/hA82apMsZgBMU3trk5nKpIvgqjsrKE9jr90?= =?utf-8?q?ia7EY8P4suVBiWc/abKvvLNRc6EmYV6c5lN4S3HLU8D+f7bM0oaUvmDhqFAZdD5LZ?= =?utf-8?q?6aPyjPRkkYqk6BquAksKRjErbAV1PoRD9I1kevJ1DqLIVuNe3u96rby6uATUWKXRo?= =?utf-8?q?Bf4sI4IUClsRRfNhYLAsS1mzY2wQR+PtanxjXE+KTX19yffdk6gFqeR7JhKgMjm/6?= =?utf-8?q?kDKtlkvQL0PSygUXB/izb5KGlswXu8t3k51VPAIYSMOKi/pRhLR2eyT+4Py0Qw+zw?= =?utf-8?q?RSp4y+3Tb8CkpH1jshs0KJMAsgCqXG6F3SYcqOFaKAWUJ03SDNGfO+7Ev6ZJOOsve?= =?utf-8?q?y+B/Hv65WLWzFPP9ifUM/GjZrFy5DCi8APipA3UA6n2zuUNo5iof/zDXluiPnFtIb?= =?utf-8?q?CMIYLJEzaMHQ7mk2eMg+BKuLIomfbtqORsrY/2TsEcWOiV6WtPSFI59qrL8HGl79G?= =?utf-8?q?H9kBPaNlFDspLnYt4gnluedsxwW73l0O5oNFk1yAq2+Cxqfh4OKW4gNIAxOeC8wfu?= =?utf-8?q?cqXZDiEH0T08p/8cJ8HBVA15xN5Zg+8CrOG06CCbpFENxjKB+pmFyGAhLrDoHCHI7?= =?utf-8?q?mB+4CpG0sVTbA4HPkuqAdgz//bloWPNwcR5tcCUaPyUveBCKOx5zOPUnhRrOv8HE3?= =?utf-8?q?TvICuHvTan4P?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 778830b2-391c-44ac-2a9a-08dd4ad16b56 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:26.7140 (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: 5zGLqx4taux6ux1FbtVWdzQ5Wkmv1qvbw3adoYnCDrpGD8Oyfa5zpefWAS0Hgy1CXaJA8GXy0O5+mXqsOIW0nA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112229_722731_FA3B38AA X-CRM114-Status: GOOD ( 13.22 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add the flag IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and the API function irq_domain_is_msi_immutable() to check if the MSI controller retains an immutable address/data pair during irq_set_affinity(). Ensure compatibility with MSI users like PCIe Endpoint Doorbell, which require the address/data pair to remain unchanged after setup. Use this function to verify if the MSI controller is immutable. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - Roll back to v12 version because Marc Zyngier have concern about add DOMAIN_BUS_DEVICE_PCI_EP_MSI. https://lore.kernel.org/imx/861pxfq315.wl-maz@kernel.org/ Change from v11 to v12 - change to IRQ_DOMAIN_FLAG_MSI_IMMUTABLE to minimized the code change. --- include/linux/irqdomain.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index e432b6a12a32f..3dbe05d8740e6 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -231,6 +231,9 @@ enum { /* Irq domain must destroy generic chips when removed */ IRQ_DOMAIN_FLAG_DESTROY_GC = (1 << 10), + /* Address and data pair is mutable when irq_set_affinity() */ + IRQ_DOMAIN_FLAG_MSI_IMMUTABLE = (1 << 11), + /* * Flags starting from IRQ_DOMAIN_FLAG_NONCORE are reserved * for implementation specific purposes and ignored by the @@ -692,6 +695,10 @@ static inline bool irq_domain_is_msi_device(struct irq_domain *domain) return domain->flags & IRQ_DOMAIN_FLAG_MSI_DEVICE; } +static inline bool irq_domain_is_msi_immutable(struct irq_domain *domain) +{ + return domain->flags & IRQ_DOMAIN_FLAG_MSI_IMMUTABLE; +} #else /* CONFIG_IRQ_DOMAIN_HIERARCHY */ static inline int irq_domain_alloc_irqs(struct irq_domain *domain, unsigned int nr_irqs, int node, void *arg) From patchwork Tue Feb 11 19:21:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970571 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 ADBFCC0219B for ; Tue, 11 Feb 2025 19:31:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=G/b3mmu3JTiyQSWVF7nT9iskg5YOD3nSysAPrIkrZuw=; b=A+x3kTToeQDGiaaJa3alLbuQzO eShR7yKQYK0R9+sQ6m/e/uPLAdtes0DGpNAT6umfAg+xAcJXH1JACrlCP9LohGdxKcXyfvteJrEuf JScsizDCP+2bFjZdI+OxiQZVTCHR36Y/JzKxR6M245c9ITd3/rIq1XW/ZLAoihnGl8iCvf9oROW/a KB7H3uvCvSdAQ3ozRIy4aELgHRuHNoT/GSnv6edWsLLYx+YWctFqrCdWoriqfDNIhUF9xmvQsMhr9 WUXBJXZ0lV+wjM22tzdGztkllsv45eYUDK6avBlSk0gABdT7GDsdCJpr8Ssg3DUQaako15OqDD8Pn MHRWyQ5w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thvyM-000000052Sl-2fua; Tue, 11 Feb 2025 19:31:06 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvq8-00000004zbB-344q for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:22:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lT3YfPn1Ax8ekCVAFpRFmYTBsmBSpRtVpdrgEHNgTySc5oPE29tBeU6ElTDi0kBrUw2cLpJPq/OvsPWpjevfZgfgXHEYOuJ+5i69WDj1/Dc9cBIT1VpgTVFnwX0YGv9j8XhBdwrejoVRQnS3MGIJ+WLhwR/27fFjJSMaxdoVrOvsIhFLhKMh67y+i3yIki8BuDULpUV4cU2bbo4R6b0ot8Jg5Be3FWIMXXx5oqLTdHH6eqid9hCDxnBuRMfk/FuH55wZxCF2wMT5k5SF9lyksta2JMRGW7xB5v2f6BWPrCIm1V9HqHBQf60IXTd8Y0wo4u2gakcGPN5jWZP4pfM7CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=G/b3mmu3JTiyQSWVF7nT9iskg5YOD3nSysAPrIkrZuw=; b=Y/fuJtb7nsqXmOJYMvQZdijEMmF6zcbXgW5sHHzqTQIp1Iokd/muQWI5tqjNOImtAbKknA2oIU9RI/yhPLnIXaaaw49zz+U5JV1C1UG9kBjG542KYkpz3ZEsq6H3NzcSU7jHKdE5FuCqSZ8AE3xW9TT3y1uA890S5psah1hpNswBZOHb1PD6mNNBmGRgtRt6TeTXpG4ADl6DsQmDFcnDxBlTZbShuHMSb7j6vpER+4LMm7ogpIbqOb8AQy/YCTqQpKFDj6RpxaMzajjWs+vVjltp0ZgaKEl6GEzSZ7RKea8ln0Y+0tTG2hhhVDolx+I7xaXjiuHSI69qXPCASdC4Ug== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G/b3mmu3JTiyQSWVF7nT9iskg5YOD3nSysAPrIkrZuw=; b=jLknckYxsam192logZ/Fkenn0vRfdNc5Nyo7DWZMamQOeWMr5t7BulZPGbfVGDZPbREEW62wiaxgMsdYW5AePbcg0yy9qV73jRTeQatf1xRWL4wQBwpwTr05wrRbH4pu8TnKGByOA25V6sQVka2x+Ye+WzxizOeRGKqB2nAM1lcUzmpihWsxa+KUONq5A9X/ia4FdCpyzRRxnCUrE9CouDmTEE9QInKH8czsDaJNfhfQO0M1hXVGzQv/+sW4lGpfmQ9NbFXMay6FGexhcjdD6B4/zxrqsUJmwakXd12bOiXPW+2zZLysqHhRtVuapdm++BDI7MJwwHO/kMCrZmq8VA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:34 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:34 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:56 -0500 Subject: [PATCH v15 03/15] irqchip/gic-v3-its: Set IRQ_DOMAIN_FLAG_MSI_IMMUTABLE for ITS Message-Id: <20250211-ep-msi-v15-3-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1326; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=SF/noxgqXgeBTEmaQqYOkkjCwFFGXdPwBl2L+oWVhko=; b=1AnVt2dDTZn3cQG5fH2XaTki9C9J8AiHJaTCIQYqgUhEhpwd5Lzpwv4/rX0NKfiK36XL9DOUx TV1Di6uJr7dAH0SPqmL8C81aVy5qQzljTpAXCQi3DF6xqfe2CHx04Ju X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 40b5a704-8bd9-43ac-abec-08dd4ad16fc5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?PiCuU8lqxfTaGiU6V5XEx/aZQ1CV7zT?= =?utf-8?q?ZTgleZOdl38N2Bn+MSssdwW3TAUuiNyeHdXpIYBDqGuYiO6gAN3NdEqGrNrsiNpSn?= =?utf-8?q?ytxrywVFKg1M0IK1u4HJculsAbPXCoqJz3Ey7GKGMqORVd+jWHE5+mGhAH96vl2Lc?= =?utf-8?q?Xc7v+t+r8WDP8nGGzuivVAb9XduaH5I+K2AhJK4o7/0jZ8qe2tMLG7MotPt6Kwf2N?= =?utf-8?q?Z293dtsKxdt1NjVJYEHl/xfEzckVWINkQrYnv7t+u6I1700oCw+y1ndR0uBwX4N8E?= =?utf-8?q?iblpdWvTaczuGSf8x+HWMAoSokECY/g2CHq6LNN5C/clkVCouebLGrxhvzMUXZbA7?= =?utf-8?q?itK3SZ8xWnViae2FAD/IyMsb/DhJ/S6ABM3G2Gvkfy61O/75pKJUg+UsvnJYf4XkQ?= =?utf-8?q?X9JX//E9fJryucwCcsNpBr9POurgD2RciMESwYg/iw3jlDeWDvS67yL4Si0Ew+gxg?= =?utf-8?q?OAlDyql7lwe/xIwLDw58j5+yOnCDwphhkXxp1V/nZmMsszW9E4gA50gb/xo/1DriX?= =?utf-8?q?JjfnlX5hB7JQlbSKY7ZpdIZjYmGNCHx3pQNpetP2eNhjtAN7b3cGG19AaX+bQm84r?= =?utf-8?q?XcnLNIGXTt+nZSyyvzFfOMwkklxvpBIPsWgD7Md5/q2p+xdQX9GXXl60CGSOOQETY?= =?utf-8?q?1MpnQkpfvHr1z/11onhuW5kkhsiSgnAye8wz1xZWlVnv4wbubzoO/BhQKNUMTISnR?= =?utf-8?q?9XsXKhXmH3ciAJUnIBzBjiAY0oCCyBhcKYvUYAAIpWjb++Gt77hSlpdNeRNd1SQ6J?= =?utf-8?q?4tEY0PIq9FdY4l+9Ca3TwJFW49dVvOg9Y0JjGN6M9cSniErR2CGzO4/jISxauYHoP?= =?utf-8?q?yVuxAN5X49dDJYPchKiGTVSzmQjsPd6m3+vNMeDSwIFBPwFVx5L8ZpjUuHgeOVsfG?= =?utf-8?q?Oj9vL9vK/gaCmBxu340eR+5R1q9xq87nUu+/Mwurn+gOSVNrO+RXFcgZuPZEJT050?= =?utf-8?q?SPxauxlyZAZQPWHFssTtDZq4MyAuMFrlTgnXMuMrh2RK6KRDaauCn2i4MJYegNW/J?= =?utf-8?q?rA2/ABZsJq1RNugANrnbgdRSHsdkyhmzUYFl9zQ96llCCoKcU4ey+ZkUijkzYO3vs?= =?utf-8?q?Y72B7FGPwuYsnic4fj1EFb7wd9oYXy47Bux5BSbhEquRcKMOXF9omNHMAVq6R4pky?= =?utf-8?q?bUmQHVbjDMAw0N0F+NmjFfT02bkNqJayV/ctPogrc0yZxUtwKx13PkHcl7pbGG2jz?= =?utf-8?q?GwWqD87FRAbbOt9RS0EK++vFxD5OohxtLcweEt9fn2JkZW09tu4g6gOsDjebky92l?= =?utf-8?q?Fl1KR0Rtv3k6uvoQWUPgbrG49nGsGlj8GeL4c4tcM89Dmy/R25GYHQ3XF8oB3o/Gd?= =?utf-8?q?2TFHsYQ6xLYBmT1h7wM0FnlGvblo4PPKiuaII7j6zmVfnkUz9JwvE7NrGgZSC7MtB?= =?utf-8?q?DauUiEHWJsCV9EJKVVDGvRFicD8nDqiRQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lD+Z4pK1exoTbr4aYXLVcaUqhXTL?= =?utf-8?q?vP70BmhcKoKTs9RFhUDo0JjG65uaNM5ByDtHOsXjvelw7VDMdaq/GhtTdsCU3QCHq?= =?utf-8?q?IZaBx6Q3MzK8EI2HJJpVpw2RcQmy7hXFGvSd3ALJ+9zHJEfo599z9NLOZPSFvocaY?= =?utf-8?q?r/PFibhYWfmCK8UZVQzzWWYk3nT/Ulk0i22OZFuMbYg1NTQ2T2irEmN1NIBEdP/ET?= =?utf-8?q?rPhRYiu7TkFdWE+S7d543bYWwHnLXB4EvQB5NON5VeOjtymyr+zFdjk0ehnL10n/s?= =?utf-8?q?tB4Bp1edJO7sSK7dnm02GAAIs9wk2ZsikRZ+ns1nB1KAZxAeoRmMH/CONCg2PGm8E?= =?utf-8?q?YmdWV+bwmMf9gPYMSQIGvGWsU84i2CbqL7sfI+9Z6WPlHfC1+0UbvKKTCHeF1ykuD?= =?utf-8?q?ZDB1inw+14IlBBw0QPFsFWuHA/8u45R8DtovZwkuQGzHDAM6itAVlpJESQ4qQXntb?= =?utf-8?q?o/QT0gRtHK9SYxFdUITAPRFLwYUkpBU3nj1lYiwGk12RXV0p9tubWnCGhHYfLGUaq?= =?utf-8?q?RtNNNV5/oFFICpQgonSbstIXL7UYlfzDxzrUzNKcWPYHowQ2m3bz+0vVTWuvTV1Es?= =?utf-8?q?k3o1eU8u56HALP5vVri+NxNw5TCLA0Hzh3xnTNHVj19FiWeFvkCB+NRO6uesnCxMh?= =?utf-8?q?dg5iWUC8D4XS9H79oOKx03rDJjKHC6wxjVFp8PevWRduKQmo/k6IHMQfPYGMtiyh9?= =?utf-8?q?se0rwCajnd6MLQGqoSvHBzZn5E9mwSJOb6vBQXJ9PD8hMMRapaHXfnKW6czCQY2hx?= =?utf-8?q?p08GzSZzyEVIsLQ6xyDcKeHrxwybF7Feq6XbKGTRvpgBZVbR1reQ+ox6XWqHShxDb?= =?utf-8?q?IClwJYQX/z5ZrEmLFmZyB6b/ibQDVoTnFc+Q+n9iBjefF0PPx4gdda3QQstC0Dxyx?= =?utf-8?q?jco5Sydb60zlt/9lrC5AxVZL7G/G+uOEBq5luq9BP31ikSEWqqM4GoB11XrBD8AZZ?= =?utf-8?q?0txsVeJ8Mm4n3Eftq9sS5aVMIB4hO5ZMLyogXkWGHhfGI+E+5vNvGw0aOlpKTYJuJ?= =?utf-8?q?2mY6FgzxO8obU8MpyJC5G9AdMop/XkIyNQXZmC5T07U6ZCxOhTQDfZaYMWmuQiCHa?= =?utf-8?q?W2NSrx3e+X5LV2Z1cifUtZALwMZiKtjNN6QMxRbbvakg3U2VrV9NIoC8g2Pwl+GO5?= =?utf-8?q?e6l3g2rkxNeaNgC8y56xdiCWTBIuGbpR1UqfHd8HVefxgxRpqiD2hpcr5zcHpf5Sy?= =?utf-8?q?YnQSEcNPwdVjPtJsHj7CZoH9vdbYs1abAdvQYPWSkohHvpvNaBsoy0fSnFj7GpSwm?= =?utf-8?q?q+Wm3sXqO/pFknZw/LoChUUfZsJCags0xsTix/Y1fgadzQpFTzDUUtGEpO7N+EZkd?= =?utf-8?q?H/dgGyPSzAw8Sv4aeLORj2NWbFTokQSdi698f+T2P3ja8yFWgFxcbbjg0EzX+YQ+l?= =?utf-8?q?jgrR2HH5NZRe/6C5Op9X06aV9kPz1KbbKryVSItpJMxAHkMA8oXMPidXBaDGWNTKQ?= =?utf-8?q?3pNJZodFJrhu4oXP2AayvKwtB+c7FaxZ+Ayl7tLypTRNnkZVnXDkGpcsX0wwN15c3?= =?utf-8?q?qeK159updfJB?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40b5a704-8bd9-43ac-abec-08dd4ad16fc5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:34.1572 (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: hPJeAoB1LP+jTLbj3eHb7zvh0183J0xXBGrnbYi7Athf77BviyEKZGAOph9hMFBLga/kK2BS7zOe8WatkHxKrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112236_776453_491C1C80 X-CRM114-Status: GOOD ( 13.31 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Set the IRQ_DOMAIN_FLAG_MSI_IMMUTABLE flag for ITS, as it does not change the address/data pair after setup. Ensure compatibility with MSI users, such as PCIe Endpoint Doorbell, which require the address/data pair to remain unchanged. Enable PCIe endpoints to use ITS for triggering doorbells from the PCIe Root Complex (RC) side. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v12 - roll back to v12 version because Marc Zyngier have concern about add DOMAIN_BUS_DEVICE_PCI_EP_MSI. https://lore.kernel.org/imx/861pxfq315.wl-maz@kernel.org/ change from v11 to v12 - new patch --- drivers/irqchip/irq-gic-v3-its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 8c3ec5734f1ef..7c0a97a1bf8be 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -5126,7 +5126,7 @@ static int its_init_domain(struct its_node *its) irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_NEXUS); inner_domain->msi_parent_ops = &gic_v3_its_msi_parent_ops; - inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT; + inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT | IRQ_DOMAIN_FLAG_MSI_IMMUTABLE; return 0; } From patchwork Tue Feb 11 19:21:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970572 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 F0025C0219B for ; Tue, 11 Feb 2025 19:32:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/DT2WOkJ8Nvc0VXVdwiFl7hn8FMKS19hoAXWYe73lro=; b=EPSAhqKydYVgKICwXwo0bGwD23 gB8mMuIxbvfYvqDXzUnUR48MHS0ukjnVuQa1JGtKSg7BPtY8dhVca4OnPUNfkoL9hJkBXK8QTZy3n 4Wb4ErxDZ0GwJQyrZNRd3wRgcpKuSrcNRWMSqUaxtAGS8MqzTkhBl1YldMNx+DzANtxwCHPnrDdLH sOm6kf0L2Wo/Gv3k2Ktl3QOnfzU2v1EtXm96YIQzCgXjde0Y5Ey/p+6xvD6yybbBhwsXtoHsDJAVs i915iN5+pt69paU3nheTR46XpJRlmiHAaarIawqDU17NDRVAnsFZfZFl7pBoEv2+lg26+gABA0MYf 9M8gJXEQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thvzk-000000052sl-1O1u; Tue, 11 Feb 2025 19:32:32 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqF-00000004zf3-3swV for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:22:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PxEWa8ulUb3A/O3hMvmpPH8TXMFEjkr4ag04ud7NIfS++uIRKJgdMtko4Amo03i4t8dVdoQudFGo01NRSFH9KeO3jiwYCmIM9KeVf544dorm8dyMDCceHUFoaGfYPd7gO+mBD53shZ1OhdSWoQYebAftLSmqfVcBfqAJo+L+xJCZZvFYjHD3iq416pFvvOcjFNElG+SfjoFlgxoeaUJNRhpdV8CgxbT4egyc1V5AHGyeOWSjlV52ZWA0VCHLjgktidO/xYicodpR3pqNNE0q0UO4wxbiKvDTuviN46SIPE3OPjsztujlHjP3qA9B6rsr2DDafjHqJa+jMUEPpNd9yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=/DT2WOkJ8Nvc0VXVdwiFl7hn8FMKS19hoAXWYe73lro=; b=OqxYceuS0Q1Bg6IVrziAEjWgqlMfIffC5/qItrrXByc0oHRhJgNXo5CumNOj+0RVQvhm4x1NwE2Sent6r/HVmOYuXzEMpYJYePPKARiUl/IwE4lPP5XOXnwSMZk5IcGnir47zsl9TaNNTw57+ylz9E54JhEfRYfMzhUKWOnyq5Uxgnqrx97gVgwa5OvTc6B6xOGv30ETlg23emEhe2qPkVJGITLYkLed/vwHDzsK5boV2S5HWFXEmWZ4n8ZmjLmUulahMb+i/DNjcwFw7pv8n4Vb2d79T6CaLKhKNa1pw+ItMa5lYJJprdnCdfaa6CGmm9e5S5MRO1Cpt+xP2YudSQ== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/DT2WOkJ8Nvc0VXVdwiFl7hn8FMKS19hoAXWYe73lro=; b=At8OmAG43xA3ZccDf++hygcgN1mJvwmb6WoTNjNcS82J4tKiz6UVA6Fjba46FAa9qt/3P60jQ7j/O7ZGUr5SRYT2b6ebvBJoVO80a9ogoq4NIHTPmfQQbPzUo71+BX0l3APi5vcoH1JRKHRnloLh8aYxaMWgGkdZ41naYpO6ZIdY+OTdy6/cUb6DTAWVMaxk2CIV37KPrEjrFPo0zLMKT0z0BP0IemK+GSiLr65BguI5hIFIppJ+OqvjTtDmiXZQadKu81EITSL0jvqsVqbVd5kTzZsOaaJEdzjDUCxeKvnDnFZxh8WyLyTTWeQeml7DCAYHPKoKyY9i5Lzv+DpOxA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:41 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:41 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:57 -0500 Subject: [PATCH v15 04/15] irqchip/gic-v3-its: Add support for device tree msi-map and msi-mask Message-Id: <20250211-ep-msi-v15-4-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=2969; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=yqW3ugWGC0Fl1AwT/TvhzlZpjGJD/GZ1k6diCFJ92+w=; b=5l09n7cv47mDdeFDZx8CpGOgxGOOlE7d5lC2j3UIq0UQU5LvtNMMwjcTCw16shgdeNMk1eV1R s5cjjY8j/q8AefC0XyDDHlwx5FTSjMnDoUiG3Qw5g7rl+uMnST2GBGs X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 72f8b663-d1c3-4453-d07d-08dd4ad17427 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?0agyDp0qSFb9hqlxSn9jWzZKQ8ZKAVa?= =?utf-8?q?RqvAJ8wJ3cvB5AOGvVab/wzkPdtmJA9m5CZ0QnuizJIy8jzp/I0FGCx3tuUK7EndX?= =?utf-8?q?eP2gChOkC5PpUCJ1GxHSLoSs0OIXQD9tkw2riELzh9L2Z9etFHUgCKiaIcKG7ogBL?= =?utf-8?q?yXT9yJ7vGwajaoRe+Ej1wxqyKey+EMwb8c5yNAnTLMhAy3mzTD53V7Z6T7YSItmKp?= =?utf-8?q?aTigd1EVCCp1q0Fk1CdoJlVRa0eQyjQDpHwXrulbyzC+hjrkH/MWLPBpfZG9IW7bz?= =?utf-8?q?x3lxtoYcvV86YjksFcG/+cP0IPg01V3wYr8HdSUAvfkS3y9W7QdzdIt09jN1GVLf9?= =?utf-8?q?M5pPKWD5TtI9b4zq8KzDJWHBOInCpVjcDm/FMtf/Iw7uh94Bw/L4bX2VTPBk31uRk?= =?utf-8?q?560G0GvV6NwOILnGUn2BXuGMH+PPl5AS5+3HoAQ5ciGuF1snI6qTdb8qD7hekm5u8?= =?utf-8?q?ABJFKpVwizecHYcBvG2COMzmSlS0vJwP+yUhXRh0X9oHQ3hxm36/PtFUXMTfdfxVS?= =?utf-8?q?0ZYlmxnZy7KTPZKIaDLmA6jNHc4n8m+YgKAaMVYrtPmu4edBsbmVDtBJiwkOebs4T?= =?utf-8?q?f6lTPlGA9LFBlUWaSY2E5UJXWEWAQke/FmctJqLo2Q/iavOUx2z0c8Rm/ROqhqKMd?= =?utf-8?q?PO5GbIDLBCPTYoGZTPlXZ+FyfR9/IR+OAhs1KQe9zOAnpUobiJDGtHOGE2+lrICdN?= =?utf-8?q?7zkiFgxDxYEb0V1eBdp4bwXyj2UyzvgpHfGG/E9A95E8y+enJ0iM7ynR2kb5AzjMA?= =?utf-8?q?rCUQKfDs9DiFd8BMbTPFkbNgFI2yFwgt9UutaiuMyOrpiPainaQ8xia8li51QKql8?= =?utf-8?q?rk6W90MO7MzqgVCVAtwnNsaOH0mcnPthw5G/n/+RbdlN0WX/jAIfjqncxI/1IADnS?= =?utf-8?q?r5qfV79fPy1xlj8k6zlWURM9iXZRXtcB3L/2mqA4bNvmkHHNWYEQnuZJMrcJBrfCr?= =?utf-8?q?mSm83/5/0uPvbr2vVeNZMGJbTCorAN9WTJkp3oibmW8jvztzSL7WnonCzhwgRfPI1?= =?utf-8?q?Zg1gGP8Lttpqw3wzPR3wpDTF9BfIdK0Mfjik2qY3i3bCt1n39aTUlZctjnCEEGsP+?= =?utf-8?q?hEQrA+Yyn8yVX9mf0xv59CUX+YAksr26Csux30Ar+UE+nCQPjTPs2410IVjbaf4iI?= =?utf-8?q?0PLbH/TqA8K+c0vr4utMs6l4rsRMn5j92HyoL6z1//hDtiYwGbN8fktXIvmKgRAMm?= =?utf-8?q?zDFBEeGLPeyCQuCL+8FUb81jJcmS7ChuuyyJhOFVE5cndvRs07pe+5vmuvuDQq4Bx?= =?utf-8?q?cOaiHZWIwhTjVLLiy78RX0bo0834AIu43eGIwe25597Tnyxj3O7/HeF+qEJkRlOnz?= =?utf-8?q?Pb89xQPTQTNETiTQm+y6a55k7/uKR9KwqsmChVjg2Zbfj2/CJVPPEqe6VhKchLI3f?= =?utf-8?q?HzxnVjGYFXHd42KvPGr4eCKRhh1bNVD+A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?UFB9i29SUoYcFOwq/cNju13n36L/?= =?utf-8?q?B8BmUDXR0H7bBOfulfaBGz4DFhKAB/NfRh6mrx7DxuJmByOaTpAcQJWE020gQ2a64?= =?utf-8?q?762CWbLXVLOg5sj3Jn1+d+m8AW6x15vt1anmR/TE3s3UAgHwlcfK91XCPxZcaq609?= =?utf-8?q?z5NEUOTQqV/9OXKiHMk2V30Y2GxAocme8YFUyWOuNkfNptttvamsQ1mscwgQBLCp9?= =?utf-8?q?p5HCy4Xfkc5XUohUi5QtBAdIAbhZ9bTTqIz7VYrlFXjzTOdxiPcz18lhWVnn35EZ8?= =?utf-8?q?58e5ke1KtCCZ7avlkoNoQPBSt7PLrVBaXSFh/hY+PV9e+OT7EtPFmoK/NFXQZE5jY?= =?utf-8?q?CTNQfUeCOqRshpWX6/TRXE18x8F3yClD0NbClf5hB7WiKWQOAVv4xbynM+Is8P6aI?= =?utf-8?q?OR8suVugiaHrM9YAvO6R9IPJUlWk+zf4ammC+RE8U9Gq9knXin6ffX5VgmSCMj6Fn?= =?utf-8?q?GFgL1ylXD+itQWQBFn9W/iYvHL8u8gAEFUeXY0caNi4vhuJg1RZ01m4nlOS9JwiBH?= =?utf-8?q?8GGD3ImdK4fkaTWMjZEyORLiFIFfQAcLvnkS05aPT6kayR2WbW8nXV6Qa5qjiHtnE?= =?utf-8?q?NRqYOw++xWZYEC5eZzxoVWHowlXjFywZuK3VskxzfOL4DRWFpKS06VPAiTVt4NqD/?= =?utf-8?q?SSaRCaYAOFgxf+RkEKG4JJW+FF6Y99VBQ9ocHkFyZEfNiMkGtQm0vevdzbVJEHzIx?= =?utf-8?q?XFgnRSIhLC2pyRkaJJesEYwLCaVlFr+T5ZkEfehrSW67ffTUxwbq2Fj0S2VzhRAtJ?= =?utf-8?q?19tOSkMmVn42qGMCSEQrMG327LZybsPtWfM6QVJRcj0tX7EFeh82J1VJ7/JpYQ+16?= =?utf-8?q?k89p21tkvRJZau7e2ElNveTy+HCnhRelWCZW5ha9F+AjQ6eUBhEgD5O7hh5F52Sf2?= =?utf-8?q?RS3HTQShsHVkY33arSCYjiBuAfVJk2/0K1h39shW53nqwZ2qHEJG5+ut4ByAIX35X?= =?utf-8?q?vt7SZl3j/fVpRvIELaQpBvmDUGP+Xcn14nCZNbYCfQDcjVkEZwEhtkIfdaYfWUK7J?= =?utf-8?q?NwBuAF3svsfttnkGDk7Ed8GwUNDByXsDsK/WXvS3T0AP1omyb7yybSxAVJ1gGDiq7?= =?utf-8?q?8SFOMy00EnD465w9UwE5QEabv6tEK2NhsTppZxgE7ehSG9WfN3hnNcXUUNw+BvXHR?= =?utf-8?q?hQeddMKDwRtJynyFXAA6+KV3KDkJ8nW5pQVs63sEU6KkqKMJ7FB0GBICMFMErrITV?= =?utf-8?q?PoZM2nigY1DzhXRYLaqMUVFDIZFlb+S+GTBKSrzkud9qOhtZYlbjX0mztv9ZuWAVG?= =?utf-8?q?WkFAj53tVRqrfA3uRf1dxGUyO6pgWUrmj/6CGX6eTcYrTSvTJ7064aQne+Uqssq1M?= =?utf-8?q?ToIBUN4aQlSyABa1wh8vmjD18A0KPbaW3q9Mesvy9XhU2G3+M54wnwfkbuZFv0GXI?= =?utf-8?q?hAA3DokUJKoqMlb9OnJEtX3FKTef6sNl3G3CzkIxW+ZiZxt72vV+WXJ8RerrKf/Sx?= =?utf-8?q?TMlZyYy7slP6wxxjY0ys6bv2QU8Xk4qAYmtdFFkcLmoNZIrkpGe+Ub7/TUoZrucKQ?= =?utf-8?q?8BVtBkv81gdw?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72f8b663-d1c3-4453-d07d-08dd4ad17427 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:41.4948 (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: nxgGS5Z2vrNpkFEPH+Y8e/bTuiVcY8j7BNJyRMx+8YkNNHE+r8oAI4d0CRAdaCy1dFAH+BQ9/N3fo9jGB90MQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112243_967282_AA618D5A X-CRM114-Status: GOOD ( 13.97 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Some platform devices create child devices dynamically and require the parent device's msi-map to map device IDs to actual sideband information. A typical use case is using ITS as a PCIe Endpoint Controller(EPC)'s doorbell function, where PCI hosts send TLP memory writes to the EP controller. The EP controller converts these writes to AXI transactions and appends platform-specific sideband information. See below figure. ┌────────────────────────────────┐ │ │ │ PCI Endpoint Controller │ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ │ PCI Bus │ │ │ │ │ │ │ │ ─────────► │ │Func1│ │Func2│ ... │Func │ │ TLP Memory │ │ │ │ │ │ │ │ Write Push │ │ │ │ │ │ │ │ DoorBell │ └─┬─┬─┘ └──┬──┘ └──┬──┘ │ │ │ │ │ │ │ └────┼─┼────────┼───────────┼────┘ sideband │ │ Address│ │ information ▼ ▼ /Data ▼ ▼ ┌────────────────────────┐ │ MSI Controller │ └────────────────────────┘ EPC's DTS will provide such information by msi-map and msi-mask. A simplified dts as pcie-ep@10000000 { ... msi-map = <0 &its 0xc 8>; ^^^ 0xc is implement defined sideband information, which append to AXI write transaction. ^ 0 is function index. msi-mask = <0x7> } Check msi-map if msi-parent missed to keep compatility with existed system. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 new patch --- drivers/irqchip/irq-gic-v3-its-msi-parent.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/irqchip/irq-gic-v3-its-msi-parent.c b/drivers/irqchip/irq-gic-v3-its-msi-parent.c index e150365fbe892..6c7389bb84a4a 100644 --- a/drivers/irqchip/irq-gic-v3-its-msi-parent.c +++ b/drivers/irqchip/irq-gic-v3-its-msi-parent.c @@ -118,6 +118,14 @@ static int of_pmsi_get_dev_id(struct irq_domain *domain, struct device *dev, index++; } while (!ret); + if (ret) { + struct device_node *np = NULL; + + ret = of_map_id(dev->of_node, dev->id, "msi-map", "msi-map-mask", &np, dev_id); + if (np) + of_node_put(np); + } + return ret; } From patchwork Tue Feb 11 19:21:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970573 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 981ABC0219B for ; Tue, 11 Feb 2025 19:34:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Szpkwi+1NkUsIBUzS/7PTjj2SX0Pc7GZs1W3yj7O5Y4=; b=VPOkiLZzERRKsyXt4UN/zLKlMx a7bueHzZhDmrojPectR3YB5KEp0FFQ7qadAfOHfQHQFUjgnmmclZJST8MspbZbPD15BRGG1RMyR8g pmPrg3dT8QLIXsbcFS5AOGamW6GgLkI0r6UxCrfucafbAACwsxwjvAfMw9I4Ggv+m3iZzyILY+i56 e3tOMVshyxIh+Dfj1gj/zLdT2RQEidMJZlHO+iN7V+rIeIn+44xGMss5pFYhfHNoUHxkakEHIVdYz DHShXAfCAOUrtYff4gm4C0gxWV1/eYCGXUbXQwT9sFouDVJdUEQku/4wY3q3K3IU58ZnGWaQxHfgm XVevwLMA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw18-000000053Ee-00aW; Tue, 11 Feb 2025 19:33:58 +0000 Received: from mail-northeuropeazlp170130004.outbound.protection.outlook.com ([2a01:111:f403:c200::4] helo=DUZPR83CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqO-00000004zhH-0nfy for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:22:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZYsFUhvq7+BxoDWqRjUnisBDz9/NaE8Dhc3Oqe45yLh0jJaQtlIOK//TRGsXsxb2TWW7xowHFK2xp8QwfXXiiKKN1XOQebZBCEqizSZcH9E33ry0SCmvTfKZOZCzX7ngP06rFxyVwwZWOf3cKM9SGIXg8tbHFKAIzWNsJk91WaDFaG+G2va555TNBV3eVD6ghfoUlDjhnnSf9EZI0mA1dw7pR3YJEaYd8kskgWEoJoT4OGJgANxdoGBdKiAp72XySreUYiLezv2DHdC0FG5dQ1b4gfNXgzQjnCHPWJVml0LgeLgVu7aHFDs172cYRl4SwQWiRQ3rlNPF0kTxi5tOBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Szpkwi+1NkUsIBUzS/7PTjj2SX0Pc7GZs1W3yj7O5Y4=; b=NPG++iP5OHkYnLwL3tjFyIuUnkas1Dd5uAbO049me+24lEiZYS+FXtpB7bmgQgo41vzye8TCu+3qDlHFOu4ULviKFwJ77mQKPLWxyomvUlu0TT0Lkz8V+iMPGn7S6JajAERt0+bNr8a2v3tIbxlkqDwH3V9rn2HHfBMBxDcYC5aKnZiGeHFDzyHVPLqvJ7445p06w2swQM6C26wD8vEd8n4L6owMRux83Vg0Ve7++fdFWgSSYX7ZSSvK35liAgrsmEgQpmomk/UfkQl7j9Zq+3XnPsLwjwr7sS7VvPGLJlT62VJXt8fbCQU5oVroukKj4ZF6d6jFGJllGGl2fqQ74Q== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Szpkwi+1NkUsIBUzS/7PTjj2SX0Pc7GZs1W3yj7O5Y4=; b=EtfYKaMOpIuEjdcCDsy7pki0UgApjwluWkZ5QUpgkRjJXgdve//66ccbpPuv4eDG6cWJiu2eJSafiGfqUnroEmaNvS94wMxlIndISy+5aAVmir5g6wFHl3zrqc1HyHUqn/viSpiBOV5aD6vkOpIyEZI8N4xHyw0bbxs1UrO6hjCW4wWkYLhGLYsVXcDYDGfk2LUAXixkZO4G6ub6s/jxIW19cC+PTKFn4ilkFpFrz0VlEFoVyFmWYiQBGjHMT4WrJuay3oSWX9CIjo+CUkqGNFBpfjReg/ffIww9HVO6rUkzieGHq7AdL3jQdWLOwsi0u+jGqxIVvvG375NEeQqvEA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:48 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:48 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:58 -0500 Subject: [PATCH v15 05/15] PCI: endpoint: Set ID and of_node for function driver Message-Id: <20250211-ep-msi-v15-5-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=2203; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=nXEVXpKm/UtXR3PlIyGCCyMh8UM9jn5MZjClSKJzPXs=; b=SnFt1scKIbnBl+H/CwLJG31sCwiN9f/+l6v+fR3lEyH8sIN98jYNzIvmEGEfe6SrMU35VEZ1F 47tGCAvVXfdChny45z35YX209GwpwJGe8t0P1DPY9I80qP9hRnsDcnp X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: f8eef724-d99a-4d3e-0864-08dd4ad1788a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?pjtvAj46CMAzqtsEIkXmran/vHEbwun?= =?utf-8?q?kt6gQpecRlzbHJrUYd3Rx3oWth+QwzB/PmwLjVX/1tmceSFR0IEUlx2CzP/nojdUE?= =?utf-8?q?Kc9Tfp8kPCUZm5lst6/JsGRWtBelACyTaY6pbtv6lEyDwtZsHJZl3jLobbPsWTaZl?= =?utf-8?q?favg/KlK+TMyvU+KpoCAYc0Rog8oMRb57UlLlTemCvsWCMb2yTswLnDqRKpzsW93+?= =?utf-8?q?BkT1ujfG0LpyMT5Qp0TfhfHRq4VjK98whxx83jdx3eHEOVNwI1Fr53KNSQgkTxuNW?= =?utf-8?q?qVLD7kGHFutXjpW0vTltBW8Kha6CuiXFyg2exCFBfJdVVEltXjS3+teoLe65+bTtx?= =?utf-8?q?hZi5PW16H9fD1hAUWxRZeodrHlFZExPr3UksVOFULr0oGog7cLFmmGbzTo8xPjcF1?= =?utf-8?q?PRAv7YvCg9XSe9FObIwdY/r7fjde8e3aR9TsnQLxwINHAXa13Ds2G3Dy51+KTOLDb?= =?utf-8?q?hbtBL3XpYQZZCjx0Cv8QfSuxpCt383211BoeWH8hySFUoeiKO7L6h78h4WZ7earHy?= =?utf-8?q?QKKWfgwieaBNWMSR3PAEXohx1F0phGSCjjsTGYMWnEQ/KcK7dNvYZPtnnJAdDvk1x?= =?utf-8?q?iOAO79j0ZNenf37QVNoJYpCs18fFQ1oKdrOCc6d6JXmNSzSbi3uk0v9kKG3AKHFs+?= =?utf-8?q?PWM/ZcjWvD2ZksIJ35wfNxE5M5YiJkDM15aH8903wAg+uagcLWm6Wr+qHF/JqS112?= =?utf-8?q?4TtdiAMWKPNtH51+OsrFHW2uKZ4iarbZ1yfLnudeCSTa8zWf//7YeTKqWa+bBaX6C?= =?utf-8?q?uqjWWVOU0CzV2020MVZg3YjmVWU09Kv1oQTNGIOsoWAjgJc3ptyfzUXdKHTHx/Xau?= =?utf-8?q?nKsf16/k4uMx2Wn0GU5oikA55eqZXaxFDxTbnZqp4Nwzgvg6eIxyCVumVpDoQZkpZ?= =?utf-8?q?1fWuLGSn2bBF0YdSakHNuA3iXNanWUr+LqoxyYo4WNQOn6ThOU738dWSF3Jlx/AOz?= =?utf-8?q?1IS35uFj9D58gV7SaOr9DjjvgOIWvtvIWtGgPyuQgDa7mzR11Nw3Au6w1On5Cer2G?= =?utf-8?q?oCq6dUGVyCOZBJWHP1GaP/fYnPpLnVaFvLX1GXm16GpZ0NOqqzECRkCh9ATICiC8A?= =?utf-8?q?oK/VZSG0f2TSiFdp+1eegsZaHdavRyGih4DfdkjdlV2A6cb6ak2m2YUrdW1sdDvzd?= =?utf-8?q?7yfGv2UciTiibG6kHWTpfVHirElOAO6QVspAxF7hAvScfQg+XMiDB1XQqjdeCAwRo?= =?utf-8?q?ccIWotgFjJ4c1+zFtMQE1Fk8p5Ki7BkuBAs8wFSI9IRX2u+jq6/vo4I+AFbaNKRJM?= =?utf-8?q?fnRi0qkn/bx7mXQOGHmhBcMpmWF7CotDkvTbb1IcC0Vy7KxZKfcZGMl+kY+mVhdus?= =?utf-8?q?2Tu/0nY2JXOLXuAwI8qH7frxcvo/VAdX7TcKnVNyGbWfO1VS9a6hME1qiIXucgT/8?= =?utf-8?q?jfYffpr6QXEVHtiHAq6fr99LOz3EzsZsg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?m78XWn4gpRVTETU4OXl4jSe5uRIr?= =?utf-8?q?rRWfMd0401eldbL0nBa/ASIz99/tirF0WF31bPWeWnswh/q9llgeWTjeodAfdL5x7?= =?utf-8?q?7HSFGsFver3vQbSxce5e6FtcKiAblCV4QoLdL5pppWs6eCSAdUKNyGe7XDUg40MlS?= =?utf-8?q?+QvPrl+Ywxyu/DC0ZGi7c4GuSoSv6YmRuxTdZp87cS6QeVeS8V+JgonIWUtTIb0GJ?= =?utf-8?q?2gbjp9wf/QthQeUsHUjF+jH7Bw7p1s2IQfxhgkmQuWOUdpN4CgXNSHte/AGKGCqKI?= =?utf-8?q?s8mz66Frc+YjpVkH8MKsjHVq71QUViCT8hNwbJtLV2h08I9PBfwxrY5mb8dy9mnMd?= =?utf-8?q?ve1R80TofLLi9oN+5RLvB3xu0ZVmv1FMCFCWXvvMfBwag5E7rPasUqArurKkvePNo?= =?utf-8?q?fPp9UU7ZYu+HJ2Ul9a7GD4C8qynV52XxCirlBIweLAk4clVtlD/10XHgtIC5b0ZmW?= =?utf-8?q?LkV/tflAJn0bMsE97XIHt2wsTQiO4S9OKO6jucxt5CnvHCfDEXdIx/i7M07Vj6ECb?= =?utf-8?q?oP6rRhhejslkGIo3mWZq3DQS376BvBekZmboRtqjY8bmGq4UQkWb2dPZfSx6voWQ1?= =?utf-8?q?opV08zaskSqgV+yDH5c0Hnu8054rIIPne2uDgH1flWWSij/9ORrB2e/6rcXzZnaGg?= =?utf-8?q?hPqfAIrDXpQuL1kxtatb9GPBMSxLeSYKEhokzj4q303K4Qteyi2Px0efeRwdqVWRO?= =?utf-8?q?hSMW4qCHEjeqUdT71aJVlflymXFNNKaxojQOgqyR73uLXo2xyRIHJAm+CkHZIOXQV?= =?utf-8?q?clUZ9MIQ64bezf2p1zWPzg1AG5AtdD2zok6AfJkIzH/1+MF0iC5JflMvxV+f1gzrj?= =?utf-8?q?ieFv78x0hZp4gkT3Kuz0TnRX0DDpy7ebscEwxmWhubDSXJVm6TD92CzOlaHTLIL4k?= =?utf-8?q?LCV5tmDLn5uxE7eyi4st7q4bm0qjMH1Yc9DYrePfv/bGc7xev/vFvRlszPA1fe2NE?= =?utf-8?q?G3aCtzSUnKuY4jzisBwLSZkozf4zjuQ1eaSIXOsBYC1CBzwDA+op5/0cGJ3hdjTjc?= =?utf-8?q?sW9IxhFdnevglcKD7eJk4VSzjox14HUAhFH/umQi+eRI882li7xFGgT+GNCsDFUJE?= =?utf-8?q?sGIjLPOFThuWpbn11p2oOjFB+OiNr23st6rN2ue5auWnUmeYO2XoG1W9J7Ijt+2/c?= =?utf-8?q?yO2gdxf00Jlubu+m7NsELEZoQMEccZkePxAASwc4vq7qRDWkqifdlrXpcPf1KVd3V?= =?utf-8?q?90icIXGULo/vz6sLu93ENB7tLfh05RI+ByfQI8B3wAlLYK8/ydS26aEAoH/ll/3i9?= =?utf-8?q?d7FXvGODalsPywLCLJr9StooCo5xmOKjA2Sn0eMjMrVVvIFpNYKG01JLgm/3jQjkm?= =?utf-8?q?hwhqzDZLWga6RLZ79MIfNTOGxXAj/V5U+5hr694zyA7BrxrE8RSD76a4ZQVSyDp5x?= =?utf-8?q?W0nuIhrlwQkOk6Juw/hA1Xc1zN+Ljve+mEyMTtpBmRPr9Pw7AcX9RObtpuoO2Gqhv?= =?utf-8?q?g3MtjM2xP48hesn5oCKtoYfGptYg5KUdx9/qimr51OyckVZnGMhB4enFq+jubxWpR?= =?utf-8?q?2XtwsTgb75pK?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f8eef724-d99a-4d3e-0864-08dd4ad1788a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:48.8510 (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: 4FSoje42kklJWcHIOIcMWgFmeGb/F4JiGWSpMzOncVh0MaCWwcp7IbbHzxcRP24o+50UA7BF9pjGE8bFlUSBGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112252_235875_A31762F0 X-CRM114-Status: GOOD ( 12.57 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Set device ID as 'vfunc_no << 3 | func_no' and use 'device_set_of_node_from_dev()' to set 'of_node' the same as the EPC parent device. Currently, EPF 'of_node' is NULL, but many functions depend on 'of_node' settings, such as DMA, IOMMU, and MSI. At present, all DMA allocation functions use the EPC's device node, but they should use the EPF one. For multiple function drivers, IOMMU/MSI should be different for each function driver. If multiple function devices share the same EPC device, there will be no isolation between them. Setting the ID and 'of_node' prepares for proper support. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 new patch --- drivers/pci/endpoint/pci-epf-core.c | 4 ++++ include/linux/pci-epf.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c index 50bc2892a36c5..f728ee2660a4e 100644 --- a/drivers/pci/endpoint/pci-epf-core.c +++ b/drivers/pci/endpoint/pci-epf-core.c @@ -120,12 +120,16 @@ int pci_epf_bind(struct pci_epf *epf) epf_vf->sec_epc_func_no = epf->sec_epc_func_no; epf_vf->epc = epf->epc; epf_vf->sec_epc = epf->sec_epc; + epf_vf->dev.id = PCI_EPF_DEVID(epf->func_no, vfunc_no); + device_set_of_node_from_dev(&epf_vf->dev, epc->dev.parent); ret = epf_vf->driver->ops->bind(epf_vf); if (ret) goto ret; epf_vf->is_bound = true; } + epf->dev.id = PCI_EPF_DEVID(epf->func_no, 0); + device_set_of_node_from_dev(&epf->dev, epc->dev.parent); ret = epf->driver->ops->bind(epf); if (ret) goto ret; diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h index ee6156bcbbd05..d2790b8b29394 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -212,6 +212,8 @@ static inline void *epf_get_drvdata(struct pci_epf *epf) return dev_get_drvdata(&epf->dev); } +#define PCI_EPF_DEVID(func_no, vfunc_no) ((vfunc_no) << 3 | (func_no)) + struct pci_epf *pci_epf_create(const char *name); void pci_epf_destroy(struct pci_epf *epf); int __pci_epf_register_driver(struct pci_epf_driver *driver, From patchwork Tue Feb 11 19:21:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970574 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 F3351C0219B for ; Tue, 11 Feb 2025 19:35:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=QBCNxP3+P0YaG12y7u44/+2A0OL7eWfFv9lPkxDjmb4=; b=A4AK3DvIjrjhnMS1qIJ6dsQ+Uf 850LV+uPXMQ/xkoa4MWinYVy9Dv57nygvFmndWXZdl3gqQZyWB87DTjEYgyycOci3kLQvWYYIN9si kckYXzuWkW6jdPhnBTCqZomjx+r2Zq6LsV8gQ4HusVY7k6XeZeln0/JPujk2gYuvvFD/wEXxWob6d 7TRWi86ieHdp6kbtnUbSWm0OErqeT18mD3fTpfMoXikySwiCBM+xkXFX+epXz+flD+DfxuzjoYotU A2eFzcvr4V9cxSxMInFsrb7xS+VKikuBl3CoZgQEPfTsf/iI7mTdRown3jU8oe1xjlQysrZEj/yKJ IA7ztUhw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw2V-000000053Un-33FS; Tue, 11 Feb 2025 19:35:23 +0000 Received: from mail-francecentralazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20a::7] helo=PA4PR04CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqV-00000004zju-3hzG for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zUezZvRtUkOE78KeL+LN1LByPTpyuRo+Q/fEvuWfK5HpZgSCpooZ//LyDF6Dkx0fMOBbRoDSieUoA90vXeBecql2a8tSAB/Bn6T5e2dxotApGZO0bztIM37H+dngeJJBcyvzRbetrbRrDFuN4kcKBzQYHyUA2YreYKNiD9ASG6aOXuumzp2XK0hOy1EC8LZHO+kBK/+on3Ke3Zrfl8soPbwS8GlB/qbFNnp1cp/FnP0W7CSVZRJ7b/M/I0HmKcBTa8i6iRibze3VjHXHDfJYX4vFYXx/fvriUAV2tolGC79ypQEfIir7nPFPHyN+kVSEDyo+md4lwZAfoVMl2N1ZPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=QBCNxP3+P0YaG12y7u44/+2A0OL7eWfFv9lPkxDjmb4=; b=sFVaKHBgPLmikocmNMmyH/n4dYlF57zAeYHUH70jOWex6ws14DEfuv4CGk69dYTDh6/C8hndKIDBx8HV8vREIXYxu5euFD7lIrzgtNudKY7BzkiPM8XFchZUWY3bcVDugO1GJQ+GyG7RZVBBgVnaKdDKvuaa499qsw8YenWWYDFqXggd6XPBzDIz6aUMtQuWcSaaPnJtQPOyNLmGfY+ZIYBKmDxNNzXWWA36KgE/fswsw6ELJeeZE8WJqDISKub5IPgyT2U41k2EvFLnu/hkU9XdjbotE37g8PdO08kuRJKxoCZwCWgaXQpGGckYJY5jFmGHxl7KjDCtETq1sTZM+g== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QBCNxP3+P0YaG12y7u44/+2A0OL7eWfFv9lPkxDjmb4=; b=XIqdg6EtsYkaN+U8R9zs2vMNIXhCueQXTTdHJO85O+To9+8+5d+A4ePMR8qqSsh+smBf3Wiab40NpbDLe2kDROs8gGwqW/t5KmgGY6RRFHw7OipIAGftzFsf94rJQDOMw4Tigd1OPrJf0l8uK9Xjn+6VKeCaS5gLIcxKKDfIBcF9QBEY+3nqk0hveiBTjk2E0uIOsluekJsuO6fSABb3vtVqJCCLijuDZkg4BY2cOi6E/vvbNMsNk/jKr58xalrd9peuTJnN1/3vkQeWRWzAHp1gcEU2us3+GGk1Dyse7GISJW7tQhKAw07X4WnGvlkFgv88UpqiH0BZuNYkYDajLw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:22:56 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:22:56 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:21:59 -0500 Subject: [PATCH v15 06/15] PCI: endpoint: Add RC-to-EP doorbell support using platform MSI controller Message-Id: <20250211-ep-msi-v15-6-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=8281; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=XAph/8r+ALGWqIY64EB3n2ko6vnSDAS+25h6Hio+ol4=; b=NyTBqy5Cqn+ax4c+uCx4jAmC27Fi9cGARZVAqhXzqnRvO+lj456ej4B2+FmwigYtiJDft/DMX CYJY92Uy5UbDlGS6Il/c77x1gHfaT77FWYOOOHCCAFvd174y1FZTLZO X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a1f1414-763b-467e-d797-08dd4ad17d1b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?+YtnXZ4rIDYna5aQHJ+jARUzZkJTHb+?= =?utf-8?q?XAx2gJ/jlUyFWsP4vU3poKZjI3Grn+9CMjojvCNOFTA0A1uVfbKEJHQqlITeYsLmx?= =?utf-8?q?A4tcZinK5wfMu0bJTuDTcZdUcDtpfL3NyV3jrFdI7RSc3hbbLzQmv9iVzcC/h1QKF?= =?utf-8?q?QF8W+OeWM+LF0gjqoXf4XRcTiJWblPeDDAGllqMyNSvQs9Nh/399fau7IqVqNlFOM?= =?utf-8?q?2yhWKtuwpSaFbUUbJEcctJujIdnflSY6MtXLNMvemU2xDTepqVq0AzhtaDlUnHoPe?= =?utf-8?q?i/4wk4Fb4g5eyR6Edw4InhhBhnCiXdJGwpudI4cgT/CEgx+8oJHM/yKM5mAy8z1NB?= =?utf-8?q?JSdNTaL4cOi2XXzrSBf0uVCgOtDN0T0xhwQlYQZM22x+7Hsigv7JpmDufazhApsta?= =?utf-8?q?zb0eHd08bKYLk5iJFvhQcOhjwBGc4+Lo2Re++gz68HKWvdk9GVrMqAjLdIJElkDoL?= =?utf-8?q?Jz+5TADB+tH1a6uc2BRUQqppfD4AbrvMtdWpPDY61kH2lASm1L4RsY9qKAyfrrnOx?= =?utf-8?q?DBTJ7SqTN/sEmGRP03+Xl4hC3jyf0RkkQAg5fVG0DjY9t9aTTR1/bZfQRqcB5SoVC?= =?utf-8?q?uHaSSAE9VJTbnV7onSGs7IL1cF0nYCozwjnIt5AwIvu9lPhoj/MQ+2vS3ZbUbUbLz?= =?utf-8?q?l//d/5X+cZWFKHnA2B2yptWPTWst4xGDO4wG0FFTevqxoVhrXb9Z7tV5nn2XtuOtD?= =?utf-8?q?0uQYBw5imYuCZRasFNhpdbb28R++JtAD6MuCPyJYrTXj7q7FUbkKwReTUlI9ChhGS?= =?utf-8?q?8kn0cculBIk1w02oNs1izZ4pLSixJPNaWUDrT9HhtEWXfMRc3gQurMk3XJ3odGjoF?= =?utf-8?q?xkGo06DrInKxWkqNlt8wRvFdUlkp44jhL2daxfx2Mc7zdoXq1Lcye++uIE8s9UiJX?= =?utf-8?q?D92Xiycd2RKWibfHqKqc4DDfA2yvIunEkA0n6ETtiz0Ku897KW6xGVZgSlkxSa3Nh?= =?utf-8?q?lESD1IP24NU9kri7lveHGOBiiTZX2DzTgnsbrkrlJzdj8GuzscdMR8ej4YI0cZLf/?= =?utf-8?q?NAKEGiTo0J2E2fn55kmHBK4Zz/pCA6NwCrA8U9H3Quwdx7+bz/o9TJKri7EVHCJ7c?= =?utf-8?q?6JMjsfLe7sDeKThiDciu6DRRyJ1l3cWup7xsmyd1rTD5cQeyxv9EQk0oX3Q9InizN?= =?utf-8?q?No+qWS8Us7S9ouardsynizkfp60CEWevJFGEGsZpMgyAaP1XLVC4H5MF3QKhbR0tz?= =?utf-8?q?DupAsX8LoHy9GwtrbV5yY8DVvJHOh2lyCuuBxolfgQ622j/d/XtGfErAqPMgsG2ov?= =?utf-8?q?Vzqavndk4/F+Mot2KLV2TA8tByhsKeUsGOIinT0MXgXR77laQ9fGNR1JsnAMdwhsB?= =?utf-8?q?RZ/6+h+SWFAPOJdBxSKAZel1W7ZBsmvwdu7gvosqEbNVfaycdF/62He7Hf2yezJzl?= =?utf-8?q?f7TzBwPHcOGC3M4xAeSEnmseIGEuxsSdA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hFVa+Vi1Oh030X4nZe9UtnzuiCyz?= =?utf-8?q?bd2Dd0NSKjzC/vE2qVzLtE68d/IYV6u//25gb00AhzjTUSy6sUyF3EYo1+7FGih/o?= =?utf-8?q?acqrOmSNMkI80vC+Mrf+szpVJ6Bt5uxyXS4d4wXiLZ9UMBJbjPqKQNg23KviNdv4R?= =?utf-8?q?BKyFJtvD9yxoOiK4AGXyRqSf+XVkeFafG72VSJViUpj9W3F0J70EVWUtXfTRQ5X8E?= =?utf-8?q?/Dp6hLwFedbAOB1x1gUT3V/UwRW5EHUjk2wnQ+JLnIOuYy+kAd/OmiuHpd9w2ER+U?= =?utf-8?q?cySsowt8ldSl93uNWTatWAp3g9REA/2zbuDIMQC3ZoOW29CGirSV+xLCzE2vBgb/O?= =?utf-8?q?lQB/NAurkYdFr/iA5l3D7X6EVq0cYmIEUKO4EUMmCrvD0xgwZyUUO78wjW+gD0o04?= =?utf-8?q?HuqCnG5yFLcX828IF8m/eCA5lmc+/3tyD+JI+EkyMOq4WS5n0o+ycXg+JqgUiZH54?= =?utf-8?q?woBskovlLAXoQlyfhFUA2Q8CF5DTWMawPyxdBzGqNkfoFCUJrvOq/BDlOq+1TtQQu?= =?utf-8?q?m9ov0rXzvT4hM1X4L0NOEm4UMt6CWB4eUxazjEKEY2qU89WR1km/w/Jd5lkvBPtCE?= =?utf-8?q?aIzMBxhGkGxQ5TAjZ0aX9JsORHjBYP1focfUn+dtJx1wXVuSN6KnquL/uEpWKZHKH?= =?utf-8?q?KGfeqtSpZXVKL9vstmsfSyzoKbyph97AxSx+yNEBJ7y8Po/HYKGAWwCUIVL00PybX?= =?utf-8?q?8WUnTZ6jP3bhHdj6HL6xQF821qA6zOcuRzF5LYjxF1f8ZNpLaAb+syBvzExXCvsyX?= =?utf-8?q?7Dyx077H+TJMSv/c3EW5TFs4dXShrhT1jxSZvWYAeedBcC86LouQybVOBXScyuP+2?= =?utf-8?q?FFMDrdVDKOmoT2rwa+KWeTETXoHxKZ9JzyknHACFdPwJXBEzRJsE4Ciz5fJS7guNV?= =?utf-8?q?/r/m7uE8ddHi/SdeNzmHr3Aa/cEBQU1ovWLkYGTCkXPbs6ZB+lkZhx3nS1U5SvU74?= =?utf-8?q?ftIIjTPAdu4Y/KUlXQvh7OKnemaxag5rCvoYhK4rZOKIabTd5kOnkIgtWZQcMdbkv?= =?utf-8?q?C+cRYOi1f+Tr36iE+LGH/3qR0aZKsx7n0XhC555ZOOse9uuOcuWgyZ/m+5vo/YOrE?= =?utf-8?q?8h10q4O14gjLacDQ3y/+0x1stSpARhIQEGGUNISJD+d86cXuaTBLk4rgiQd8kq4GZ?= =?utf-8?q?gCQD2Bffs0b+ZewcNXts9r+zCCwwxLTaWwArhAM/8xI+tgRmRRPIlKND8MvZOpbEw?= =?utf-8?q?7cpj9II86RXkwPlwCjRMqAnbor9AvRILKiGdWHSNPiC7k85UNQdr4Mw8wOhiZy74a?= =?utf-8?q?I3xeD9MPw595tX/mV3pHBmiigs0pnFuislNMv9PlrDIYMd/F0UsrykqbBjirirLhZ?= =?utf-8?q?0om/JKkIGMMNDwW+Fv4jMQ0+5/SQsitCO0tUEKSbwciAMbHwDiASIplrF6AviMTKq?= =?utf-8?q?EdoxLCCB2A9Rjt4gMlUrUdpVD0m/7TyBVYQFrEQwyqFw4BIG4TXmAszG5sVKUWn6O?= =?utf-8?q?0gP7zieNLDtaxFnAOfDTfWqotnGh04kG0uhzOMdcYb/OfXuQG00lOK8NK7abdhTuI?= =?utf-8?q?ApWpk69oZQ0X?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a1f1414-763b-467e-d797-08dd4ad17d1b X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:22:56.5054 (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: Yn8o1mV0qo3faDq7WENodtOZfpJzl0zBI+xvnnw5zg3xXcjnB5YwCN3Y9Ll9FzUDo79SSuQ3sBk9K1Ailf1GbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112300_091181_8B285DB9 X-CRM114-Status: GOOD ( 21.10 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Doorbell feature is implemented by mapping the EP's MSI interrupt controller message address to a dedicated BAR in the EPC core. It is the responsibility of the EPF driver to pass the actual message data to be written by the host to the doorbell BAR region through its own logic. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- Change from v14 to v15 - check CONFIG_GENERIC_MSI Fix below build error | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202502082204.6PRR3cfG-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/pci/endpoint/pci-ep-msi.c: In function 'pci_epf_alloc_doorbell': >> drivers/pci/endpoint/pci-ep-msi.c:53:15: error: implicit declaration of function 'platform_device_msi_init_and_alloc_irqs' [-Werror=implicit-function-declaration] 53 | ret = platform_device_msi_init_and_alloc_irqs(&epf->dev, num_db, pci_epf_write_msi_msg); | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202502082242.pOq1hB1d-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/pci/endpoint/pci-ep-msi.c: In function 'pci_epf_alloc_doorbell': >> drivers/pci/endpoint/pci-ep-msi.c:49:14: error: implicit declaration of function 'irq_domain_is_msi_immutable'; did you mean 'irq_domain_is_msi_device'? [-Werror=implicit-function-declaration] 49 | if (!irq_domain_is_msi_immutable(dom)) { Change from v13 to v14 - basic roll back to v9 - use device:id as msi-map input, its will handle it - use existed platform_device_msi_init_and_alloc_irqs() - pass down epf->dev point, because epf->dev of-node will be the same as epc's parent. Change from v12 to v13 - Use DOMAIN_BUS_DEVICE_PCI_EP_MSI Change from v10 to v12 - none Change from v9 to v10 - Create msi domain for each function device. - Remove only function support limiation. My hardware only support one function, so not test more than one case. - use "msi-map" descript msi information msi-map = ; Chagne from v8 to v9 - sort header file - use pci_epc_get(dev_name(msi_desc_to_dev(desc))); - check epf number at pci_epf_alloc_doorbell - Add comments for miss msi-parent case change from v5 to v8 -none Change from v4 to v5 - Remove request_irq() in pci_epc_alloc_doorbell() and leave to EP function driver, so ep function driver can register differece call back function for difference doorbell events and set irq affinity to differece CPU core. - Improve error message when MSI allocate failure. Change from v3 to v4 - msi change to use msi_get_virq() avoid use msi_for_each_desc(). - add new struct for pci_epf_doorbell_msg to msi msg,virq and irq name. - move mutex lock to epc function - initialize variable at declear place. - passdown epf to epc*() function to simplify code. --- drivers/pci/endpoint/Makefile | 1 + drivers/pci/endpoint/pci-ep-msi.c | 82 +++++++++++++++++++++++++++++++++++++++ include/linux/pci-ep-msi.h | 28 +++++++++++++ include/linux/pci-epf.h | 16 ++++++++ 4 files changed, 127 insertions(+) diff --git a/drivers/pci/endpoint/Makefile b/drivers/pci/endpoint/Makefile index 95b2fe47e3b06..c502ea7ef367c 100644 --- a/drivers/pci/endpoint/Makefile +++ b/drivers/pci/endpoint/Makefile @@ -6,3 +6,4 @@ obj-$(CONFIG_PCI_ENDPOINT_CONFIGFS) += pci-ep-cfs.o obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\ pci-epc-mem.o functions/ +obj-$(CONFIG_GENERIC_MSI_IRQ) += pci-ep-msi.o diff --git a/drivers/pci/endpoint/pci-ep-msi.c b/drivers/pci/endpoint/pci-ep-msi.c new file mode 100644 index 0000000000000..549b55b864d0e --- /dev/null +++ b/drivers/pci/endpoint/pci-ep-msi.c @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * PCI Endpoint *Controller* (EPC) MSI library + * + * Copyright (C) 2025 NXP + * Author: Frank Li + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void pci_epf_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg) +{ + struct pci_epf *epf = to_pci_epf(desc->dev); + + if (epf && epf->db_msg && desc->msi_index < epf->num_db) + memcpy(&epf->db_msg[desc->msi_index].msg, msg, sizeof(*msg)); +} + +int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 num_db) +{ + struct pci_epc *epc = epf->epc; + struct device *dev = &epf->dev; + struct irq_domain *dom; + void *msg; + u32 rid; + int ret; + int i; + + rid = PCI_EPF_DEVID(epf->func_no, epf->vfunc_no); + dom = of_msi_map_get_device_domain(epc->dev.parent, rid, DOMAIN_BUS_PLATFORM_MSI); + if (!dom) { + dev_err(dev, "Can't find msi domain\n"); + return -EINVAL; + } + + dev_set_msi_domain(dev, dom); + + msg = kcalloc(num_db, sizeof(struct pci_epf_doorbell_msg), GFP_KERNEL); + if (!msg) + return -ENOMEM; + + epf->num_db = num_db; + epf->db_msg = msg; + + ret = platform_device_msi_init_and_alloc_irqs(&epf->dev, num_db, pci_epf_write_msi_msg); + if (ret) { + /* + * The pcie_ep DT node has to specify 'msi-parent' for EP + * doorbell support to work. Right now only GIC ITS is + * supported. If you have GIC ITS and reached this print, + * perhaps you are missing 'msi-map' in DT. + */ + dev_err(dev, "Failed to allocate MSI\n"); + kfree(msg); + return -ENOMEM; + } + + for (i = 0; i < num_db; i++) + epf->db_msg[i].virq = msi_get_virq(dev, i); + + return ret; +} +EXPORT_SYMBOL_GPL(pci_epf_alloc_doorbell); + +void pci_epf_free_doorbell(struct pci_epf *epf) +{ + platform_device_msi_free_irqs_all(&epf->dev); + + kfree(epf->db_msg); + epf->db_msg = NULL; + epf->num_db = 0; +} +EXPORT_SYMBOL_GPL(pci_epf_free_doorbell); diff --git a/include/linux/pci-ep-msi.h b/include/linux/pci-ep-msi.h new file mode 100644 index 0000000000000..6dfbe9353f0d8 --- /dev/null +++ b/include/linux/pci-ep-msi.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * PCI Endpoint *Function* side MSI header file + * + * Copyright (C) 2024 NXP + * Author: Frank Li + */ + +#ifndef __PCI_EP_MSI__ +#define __PCI_EP_MSI__ + +struct pci_epf; + +#ifdef CONFIG_GENERIC_MSI_IRQ +int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 nums); +void pci_epf_free_doorbell(struct pci_epf *epf); +#else +static inline int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 nums) +{ + return -EINVAL; +} + +static inline void pci_epf_free_doorbell(struct pci_epf *epf) +{ +} +#endif /* CONFIG_GENERIC_MSI_IRQ */ + +#endif /* __PCI_EP_MSI__ */ diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h index d2790b8b29394..518bc4171285e 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -12,6 +12,7 @@ #include #include #include +#include #include struct pci_epf; @@ -125,6 +126,17 @@ struct pci_epf_bar { int flags; }; +/** + * struct pci_epf_doorbell_msg - represents doorbell message + * @msi_msg: MSI message + * @virq: irq number of this doorbell MSI message + * @name: irq name for doorbell interrupt + */ +struct pci_epf_doorbell_msg { + struct msi_msg msg; + int virq; +}; + /** * struct pci_epf - represents the PCI EPF device * @dev: the PCI EPF device @@ -152,6 +164,8 @@ struct pci_epf_bar { * @vfunction_num_map: bitmap to manage virtual function number * @pci_vepf: list of virtual endpoint functions associated with this function * @event_ops: Callbacks for capturing the EPC events + * @db_msg: data for MSI from RC side + * @num_db: number of doorbells */ struct pci_epf { struct device dev; @@ -182,6 +196,8 @@ struct pci_epf { unsigned long vfunction_num_map; struct list_head pci_vepf; const struct pci_epc_event_ops *event_ops; + struct pci_epf_doorbell_msg *db_msg; + u16 num_db; }; /** From patchwork Tue Feb 11 19:22:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970575 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 3489AC0219B for ; Tue, 11 Feb 2025 19:36:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=cTr7vR6pGVzcmWm4cttCw5B6L+hYfl4G+Upa+wa6yY4=; b=C5EOg7CLBFd6l9S5zQWVKX3V6y IBbcJp3kS7mDikdBGoWS7e4TWe7F5SjBVBJqTfGm+5bAQdSmDmfh5Ma6KoCb2nQ90/yY6X4bmimMv CjGTf5WHZlerGSu5lL+dTdUAZpRxbEB2Bm6UhHDFOxHcs8BQ8dpjpvWgqQw20snxKo67av6cP5UqV 4UDSj752dkyRDhFX2MniuzCdDDYwGo2jk7Jq9b4O+DsTi1390q6ztgx4hInnNTjscEwI2WzttsUIW fImgHAxCIPjC9m4/sqpaJcWGoKcm1VVYDVCpYLiW4+WgbNVd+KoyDBTQyRuwCv5AwJ1P58csSZBcT R3LXBwpg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw3s-000000053de-1x5s; Tue, 11 Feb 2025 19:36:48 +0000 Received: from mail-northeuropeazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqc-00000004zma-3M9z for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ETf/jXdKt0I2tkpc/xr7DQ0nBeyrVc37QUCQNnfJGKtjkwMB8A6z6vrGlN60WfkzkxLsLr1Uuto892oA6zkSi/akSANqS9A9Fe0tatSMtYircMOFM72UfqZnEPrtUI1bQMXlsEkFc8iRfKsxguc7UMBQplLHHiKrxmo8ZxvkWtV0CBSHW4uYcj6DAH97ZFHVPcphrYeznA3eglDtsG7NvCCDcbb4cUqRh2r/IEjo6DdsQV9muItAa6jVtBKuf55ymkUKscotfaSmiMxeOEdkufAmCV1IQiqgcuK/ur14CnVA1A35RLVzfjRsDafwhIl+V5TSbT7D87ttKOcr9B5/0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=cTr7vR6pGVzcmWm4cttCw5B6L+hYfl4G+Upa+wa6yY4=; b=iaaGVOv4S0Rq9HY9iKo+AqWPoo8IXNHz/P5qZ2EP6uE85Do1BholYiENr+pAimUjKucqmgaym3yQsMNaADBvebhtVgNE+gd7wSHelHBpthqB0YjOKLOH9KIQLTWvZLAU2aPWCDiEAJHpQsUv6UNRKKwzYaVaptChF4KNfOkKapze0xi1DaYQ82Om+cKn16mS9cME178FaiqAontlSwd+D/hVF6a9kfXVH+fCWdUcOAPzwFJlHpfklp2Ip76Jd6nSlLaLFHVevBM6ijQ1DwbyzBthHhLiQsnNelMGU7Dcu3M+BUF/2BLn5J8PcNfWXbjdeJfqKmqtiJT15L/IBCH+0w== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cTr7vR6pGVzcmWm4cttCw5B6L+hYfl4G+Upa+wa6yY4=; b=CRDWaCdwmz9nuxkIlUKbYBBA3RqGqxQM0pPJjdhTXWiCskXSriiwN4yE6mXfTQzBns+RWNjcYDLSVrE8sRedLQWwnqtgFGDe2WMBZjpDEdJL2lJ8dP46ran+/rVvXvnCJIjFYvn3tr2cEWFT+FwEc9YB+SR6/cWiv1AqRQlaHpHRAKnQVpQmYBlBLRJrIP7Q7uwjV6O00TzKmXPLn6nVjskzFnbcATyptkln9ujrpc41enSOs0mLxrBDhSX7NaBdkHi7KjCfoXh4wzq+1tGryWDKbDpwOFWmvfprXSgR5vDwWySi1+o0Y9+3Y11/6jd0ao/CJpbj1P8YbwlYEKN1AQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:23:04 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:04 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:00 -0500 Subject: [PATCH v15 07/15] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check Message-Id: <20250211-ep-msi-v15-7-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1143; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=ztiJqj0qxyzJpOSS3oxdYchFipDrVfPoAvh060QZ2RU=; b=3kXugNdr4wNUm7TojEXCear1j41fbsa464+U688R7RflMltRp7S+7lNb2HBIH/jhB+aokfVSM 46SQp3DsVZTCPdj6CMc4yyS9/3pU3RlMsHYb41fDDKTxipVYwTSjIdI X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: c5101c4e-be4b-490d-96a1-08dd4ad181ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?wJb+p/smQKjhnJVzNaz8BVT0ag8NLkN?= =?utf-8?q?SIia6iq9J0Jtnv0qbDRUNRCQWHNWebdYimHxNntdbbymL6wTMhhhWIqEBAZDZ76ZB?= =?utf-8?q?Ps6m0w9JDocc+hsDUQTUZaz2PcbJlZAAcaa7PzcExPfE1iydTrNW2nSKPSSM9nX/G?= =?utf-8?q?lUACyEuKkAs70cYKO/BCpkBTYl5HpOh+TST25yLDkFWNVGslpqLX0fxwcPnYI+P7H?= =?utf-8?q?gSfV+VSsB3a42EauYA3o3PaEWJNapbVdNWv70eFjSFF44sDdJ3MZBuzqu3+tlqbD0?= =?utf-8?q?R8/s/o8ljX8ZIewxUfH6h6B3+eV/NO+efxtDy7ijTwZkirfs7lyxn+Lj0cGzCVypy?= =?utf-8?q?exO/KQnfcgiSfX2mTfBKFnBxCpQWKdxbf1YOCTo3b64IkQW1038PNJQfcv4vTRmu3?= =?utf-8?q?9DyhHFUVfTE6sN2sHdXch8cT+QfpHubU/g0PrcwItZbFuyfsFIEwf4f5kBxzFrx1T?= =?utf-8?q?/yYR1vjtGuUUQIKgSERsBaQK6ocKj0m7LFPqFMcoDcjJPTlde4ibcPrTa5lMpGkPU?= =?utf-8?q?RTr2NYKLZSkLiypYjxgmsQALLuq44kATQGuz0TXLi9pso6CEy/EET2MvxWtPwGFbY?= =?utf-8?q?DCdy0/jrzsZqqiYa3jaKdtXotzbig1rWWdD6o/xKWXBWEH+942wXdMnYEY5QAUuYM?= =?utf-8?q?34r5ZQh71Cj4/UxU1xIKSuFjLPsuhFpj2RctwvapOzAjUfWH3OxsVEZmtWHjadAy7?= =?utf-8?q?3+EcR+pxDUhZCOwl6nEAmR1osZTD2zB/yQXVk7IgoaXi2uUmGeOrLGf23CoO+Spo/?= =?utf-8?q?jne/ppvYP+2yAsKD3wPyrggF4RKSPX3KAuR3YK4Cw6vnoP95jqyL1F+pmWHGBhgEe?= =?utf-8?q?YpBehFAz91WNMdITYZH+0FEvos+uW0q3SVH/hMv+hHY25ZcpQaoR//XioztJ4mQx5?= =?utf-8?q?+t798SwzZ9lbrR1EenkJSivv4zR+ebU2yeLh97AxTab4LjGO2auk9qyZZmfXBXwog?= =?utf-8?q?h9kN9xc4mEEFR0kBk08yEUMhgYTIXFYgmQsOTvSnflagGGPnVmYLuMCTwMhpZNyTH?= =?utf-8?q?QzmIeQqZKE4WkjcRofTFTaE2Q6tw0ZCvzWMcBCGmtAX99PbxuPxIKZcyngUeXSfYz?= =?utf-8?q?8MV5ZuV8bozvvK5ue8blcd43zrut1iuVUvjzsDU6Nzw4hCQi3LCbnzRxrTSzGFRTR?= =?utf-8?q?gs/V+DMNX1UAadEgaXHeOXnoOYPkZQYNfWYKrj23Qn54eFOOeoBdH3lg6TNhBVBbg?= =?utf-8?q?/y2CGZzyajSIEsVqJSNoMIsFwbReVkqhNMmj7btfpQ1V0x+jBYkqaDhtBXrFG8ZE+?= =?utf-8?q?i+bof0w9E5BSQpZBhkxCcohLhySetTUQx6f6JNE+4OSPpkBNEzB/dBJmlA1jTAGXI?= =?utf-8?q?fabEGfy8dZAhNRH7xUuhYqNxxKf1LRAx6aWGVkkuFuHo1xiMOwcZLcu7dNykLSwVz?= =?utf-8?q?BuzmcPMpzMyePG3YGTgdawwT/HEsfY8XA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hVAymflqxabPzs0Bja4JMAIU5eyL?= =?utf-8?q?O7LJQS74FekIqiqEteyKxHh1VyimgPUVjjOzAmaXodJnZXoVno9OadZBmnIPkk/f3?= =?utf-8?q?EFJL8jiifv9J1bQpw4OZKI6mQo0E4hRKfi9w8Xr2UiDG6tvggjr3RBtFCt9MdgbZU?= =?utf-8?q?+WmiUqS9iPSIZy9bGraMUUIOOPyDsJ3PbveqCrY1FNwl8lxJySVUXdEWEEgiqxwql?= =?utf-8?q?NistXN8MdhJJP50dsv4mm33fOGiI0B6CvaYyAO/G6VEeU17p5EaXebIJB/v7Hh/Ea?= =?utf-8?q?Yau0MyUpn2iWbcvBzwxMCzAWnIsJn/7Y2la4QP2bJ1uhV8H7UsB9YGz5vcl3/Br/T?= =?utf-8?q?uNGGIpDSVBYYIRQSn9cPtvKZv2c3jX8C8eXHKM4MMkOeqpi6cEz1Ueh+dck+Xqe+C?= =?utf-8?q?dKlvQENAN2mEaEU+QEbYnDviyd7ymQwi65WQsCeo3d9+5obOKlXQ9XAeX3h74OqLJ?= =?utf-8?q?59fBigWUUmSKqs5nesuzlUdmMOqWyEieAs9cZNGX1kOk4xXC7afsKRTCltDEVk2tv?= =?utf-8?q?O/8r77cfZastjaqvw9xoBvK+HQETTgIA1tHqvKIIfwvlJyYHIMLghe4uPiHYiU4Ii?= =?utf-8?q?NziqOiZkcdvX6muK+8BqfTsMJ9dOXAWgsClFhUOO0iMRnA2a6hsuWGpgaowWBBRFg?= =?utf-8?q?to+7nNZ0+AsjE5bvE4lb9PiqaHixmUjf8/4BaOVWpYoFa2HnGm4QjJ/nIWNbQglnP?= =?utf-8?q?YOSi8DLj8t2oTSaA08CeCDmdUeRPb+8I5K7i77kj91GarN8m7MAv2Wn3lG+SBIBf6?= =?utf-8?q?q0outcisubR+8Q5WfxXVbmYNuWq3sJmqREL+izshzhb0J6h7YeGa6wv6u6NyWcSKT?= =?utf-8?q?qgLuO8OgQj9l02ILncHkNXIGIGKJH3ay0H+MwIPCOQY8vFx/Myw26ufl+d9JVOKCF?= =?utf-8?q?kUHr8Q9StcSa7pxT4VDEg22GVqTafSr4V753h20kndt7CNFHBiXCmAnA7n2yTUTIo?= =?utf-8?q?X57qVzL4H61rif0I817n3jc8PuNO/aonsv4fR3jbxFqpUGRdD+rq9lQN5Qsg16RWB?= =?utf-8?q?SoG0rPGq+UB+NBxnQBldEPKHuncmwUlH5CbnKQHlnG3gOKI6U1Cg0I/d7/2sGfbb+?= =?utf-8?q?ZsJ3rYagUGMrkV3g0HSPqxV8wCVL7qzT0O4ohMXkEUFs45rvJedqCLjXeALO3qXJ9?= =?utf-8?q?Z7+rLVhMLv18xO6BbDnGJyaVrWi7jeJ0D+PImBislPnAneSOIco0w3WVVQCep7mEr?= =?utf-8?q?r01dT+pwfPjQHSd1pf02fZCugcMy08RcccVEOVVlR4ayIOegNWMQF6uUDhBcP0rHV?= =?utf-8?q?jzi+dkHYlSAfkLoGRSEyHExFiQdn/Y7I6Kqk1mICmQVMDwVcbn378XNjUoxj9/9PU?= =?utf-8?q?l4i4fslt7GClA0AIroH2OQI7Zewqc92748t5gu9MyKVO+AUTn6VrdxyUi19iMcUxS?= =?utf-8?q?8MTmcKGiaerIIeMO3ZXyrEClOIFFJ/rU5J57JQ4Y6q4bHVjf9dBtvO3V/mjtwXo4S?= =?utf-8?q?5U/7CTBAOu58jw/kDxYvIHEtM13qftz6UDHatsLzqaVLHt5H12Xb5SDixbFgo3XC2?= =?utf-8?q?YI/SzgaaSD/5?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5101c4e-be4b-490d-96a1-08dd4ad181ab X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:04.1803 (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: VPYL7NQFet1Pous9E4I6+LRpUk0RG0Y7LrfZOjYy5WiPah5VTHGSpVZJfvgk84OQvsRKW07030MnLbvDynyHzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112306_845943_64DC1071 X-CRM114-Status: GOOD ( 11.19 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Some MSI controller change address/data pair when irq_set_affinity(). Current PCI endpoint can't support this type MSI controller. So add flag MSI_FLAG_MUTABLE in include/linux/msi.h and check it when allocate doorbell. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - bring v10 back Change from v9 to v10 - new patch --- drivers/pci/endpoint/pci-ep-msi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/endpoint/pci-ep-msi.c b/drivers/pci/endpoint/pci-ep-msi.c index 549b55b864d0e..c0e2d806ee658 100644 --- a/drivers/pci/endpoint/pci-ep-msi.c +++ b/drivers/pci/endpoint/pci-ep-msi.c @@ -44,6 +44,14 @@ int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 num_db) dev_set_msi_domain(dev, dom); + if (!irq_domain_is_msi_parent(dom)) + return -EINVAL; + + if (!irq_domain_is_msi_immutable(dom)) { + dev_err(dev, "Can't support mutable address/data pair MSI controller\n"); + return -EINVAL; + } + msg = kcalloc(num_db, sizeof(struct pci_epf_doorbell_msg), GFP_KERNEL); if (!msg) return -ENOMEM; From patchwork Tue Feb 11 19:22:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970682 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 F099FC0219B for ; Tue, 11 Feb 2025 20:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=o1HdnhQnV1oQ2GDQovC7o9TtckUnVNvZLq4tO+pJCYY=; b=HbkqtnkRWUbFg3iPv+A2W9HKEX tzsiUuHmT8MQIUaNA3AeaOrToI7VxjFFhqbHR9bmfBB4MxNicTYG9hwPu/YEAXlDD8dnXZft9ASdS ORTvBW9S21qGIBEp9QTujWFcKG4OPqFs5xj4IYoQSzbc3pKuH7uG0ygGhHkRzgdIzUvAc4rZbcp4A yrhS2oO7W5KV8mzIJhBYIGJzIpZSKEnL3gpfYVtiSxQFhVFCU4lwmKKvL3drlSJDXJTIDWUjYkRgK G3cGYejwKA03khkxjhVIbNk3zHwiMeC0K0hDbLWryDwsG7apf7M/aG7uXsbDNl6GrDjNg5HvEp4CK Xyk76afQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thx40-00000005ERG-17R1; Tue, 11 Feb 2025 20:41:00 +0000 Received: from mail-westeuropeazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c201::3] helo=AS8PR04CU009.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqk-00000004zp4-3XYd for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BLKWK2649rQApiwcfU7hLYa/ngKr8JFK6ER+V5DmXq1kGdtkwhnsarUjMqswn8KxhHyBc6wb1JgY6DTCf8k5P/J/bZMahqt9BvE4AmWU083GQ9ZkF/4VfKkeah+efP8nHo7wE64BmVsRuqSBuP26H+0iEDcGKnsmZOZFE/gSkdfDk5lnKo4U34H7/PfNKp8z7VHfL8iGnDqzBkkEzhha4XHvPm+5Z1qSGPKOMB4iDwg1xwtiYfAa7BFURBeQqtKCjoBLNK9+yA3oUELwLDWh5FdmR6Do4YWxvqAKe4hxUuQNjp58+GxPGcSlLT28nb9Jo4yJ9Oz8Bf1X0R03z1IPHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=o1HdnhQnV1oQ2GDQovC7o9TtckUnVNvZLq4tO+pJCYY=; b=djhIR24oEOJvS3LoGeSaStkVTrOi2rfSksaC85SonuVp63ti5ghDCzf5DI8D0JOt1u3JFLjvy0vp8SAj2c4KlhNzMk1pbbVrTwPXXWHrAd1h9507YJOaRlhyynzwUVCxXMQCfXnKBAAfCSZkgRjNHdGlrHWmG1zFLoOUxusjY2vS2YFQEeAdYWN3+rqAkr+8ZnIA14VWAZOSZvz/D4ibLcbPhzIocQPKAKIwb1f3Og6VqPXV7e2OhjCLoz0hT3+LXe+E82HrzbGC5nt/PLSie+/xvOrFEzwoKKnUCY5BsUqMh1JU2QqjSKkQmUn8db3xKBYU41pYaMKDbkw3JKEmpg== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o1HdnhQnV1oQ2GDQovC7o9TtckUnVNvZLq4tO+pJCYY=; b=MZtwmwd/Cc821Sujgfvaxw0fP+Z9UX0tJyAK2olvQQVLLCcQQoTRWCdryfXVYSKBCI6oKpkyJk5JAr68Qk4YZ0tECy93bk8GGFoUM2ECXePDSrEAj3SQQQ/Q8m5p2dUaKdLzqbcTwn5iONNUR0PmHWbzY+ITV2pDOMwHy8tqW/eWhSX1NXrtIERFOPTpmXIpZ6KZ1HSbQNj9YihZF8efsdbL+CIcOrH7HGOVhIeV6rHKsuBPrnzJNztq6txy1u0ZsA5/ucFCMD9IuE7CceTAhF0ZVWpHbSnv4ZaVSChuFXcnhJCoRSCcMhiHWnA903VXo5ryu/2IDob2WoxrJS+2xw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:23:12 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:11 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:01 -0500 Subject: [PATCH v15 08/15] PCI: endpoint: Add pci_epf_align_inbound_addr() helper for address alignment Message-Id: <20250211-ep-msi-v15-8-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=4330; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=LQZt6j6fL/xsVdnnuehlbkvt1tbnzwcl6b8tL0dpbNI=; b=kKz0B5hQ9cPhdDQ8e3SwvyrKj3LKczhB/dPl9cwOrTxnxonfah6rHnV5me8NYO7xhU8kVCX8D TGSuzOkGOcWAvZQhANtXB/BdcxAhrSQwEs+0VvXBBeBtesgF6UR8jIS X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: e280fc38-1e3c-4bad-9f5f-08dd4ad1864a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?wMu231ccAxYIDYAqkhAIQXGIZmygd7a?= =?utf-8?q?W4hgCXXRprNUKFWmKa1zorYHGQRGuBlCpPGU3kfFu1yhRnYf7xPS/3Kpi5WlcygzM?= =?utf-8?q?oyY1r9tfdqPYAeK4HJtmOxdDVyvJikRaVYmcKTPSmekLdewpuSJwJ96sYqMbsQ7Qi?= =?utf-8?q?BhxRkCFAJtXysrLWGII5Xt6bzx8pJfvzgCa8dLJ3Q3kPyd44Jhw0ffKs/s3/9qxAf?= =?utf-8?q?/vyT09r1gSgSVO5dIvri6IKZSWb67LKJ0Dmq91C93coxxVQZ/ZZUOEAUXIQCQY5qa?= =?utf-8?q?U/TPEYLkFcFKeCG8p5KKMSZBA3NYiikdUWKnBTvhZO+dVAWEkvnfw/xsiLBV4b5gk?= =?utf-8?q?t9/yBOvAm3Jyz5piIJjiJ+Y1jYFJ2mIjga9kr2bbspgHictdaoiFoJiXJ5VAQrTHh?= =?utf-8?q?JMg57c8VNi/WEVpjX8cBqiXLFtoTy+Tt7ddUyfVVe7+vjMi3cDvJG6T2BMhc9CjxE?= =?utf-8?q?c68ebNrwZ4F36yXGO/XSqOmWI9NBj096AU8hci/zisN38+7UDkmv34a09JkIG09Uo?= =?utf-8?q?jzDtZtvqtgsndQQKDLnFubrb40mJvUcUGAy5QuGPkAlNMXuuHoFkFbii8OmSUKwMN?= =?utf-8?q?MWFybcqDlroG0GBSGM0xNoN/p0JoaGn0o6Mj/NM5slISIUgj75FqepQRt7rxpFKSX?= =?utf-8?q?OrFJuWylAj55VftOs5s3pKeqyaR6bHWGsP7dld4QhblFpUMi9tg/vKRD+TQMStJgI?= =?utf-8?q?ty1HfMnebqrsJErZrG+a1LlAiV4UAllUuVHcweBOnZe+Ji/eYe+2mEDABXD+dyVMV?= =?utf-8?q?gVoSUfQul5+46dISkURJBI7QrMcVwKU6M/xzubSHaqdGFFjqQi5o1aTXPdI+qd9Hh?= =?utf-8?q?jc6MCzOC6TcKuOiXKZjyagI/jQuw3afot8EK4EPiAuo3GePB1ZaxSoOedJkRWkfVf?= =?utf-8?q?VhmPsSpJBNuHI/RrClkrR3HGTUYbaONlzPRtl/YUPPema+XhjUR7ou6nZvdv3aI0l?= =?utf-8?q?M/XjQLPes50A2opURiz+CKfyuhO2UENHCyK0/URBmBp5gwMhyH8PjbFHVnT3PDuac?= =?utf-8?q?yJ/z3uC6f4Ej7K/QAhRToNCLDPtFr4Ec5sUcZuGG/z8riYLvisjgbnyfJ+IHsOKue?= =?utf-8?q?5Yge4ejJU+XxfYUku35lJdq6ymSfESOxFc0nNPasA4ZnzLU/KKTtX9CFSNJf+LGJ1?= =?utf-8?q?5O49D30yX/xP1qiEOgkotJ7eBKGlgZChidYU7XrTL8L+PWH0F8fmXSoNp7XMQx/vs?= =?utf-8?q?Cs51Lnek91OnB+3DutgjfGNdH4lClZ2aFViUMGWzKZty4byw2dGRdRuTEHAi5g7Hf?= =?utf-8?q?dOQ33McWILrqlKvK2gnDYAuyILvfRJiQ5IF8W8c+mzjESW3AvR1it5SePwVzw4x2y?= =?utf-8?q?SRo9PBdcqmITGreyMj1DXCPK2NjtHrq1MdB6NdW3nJhkC3wFAA6Tk37leda+KkLLD?= =?utf-8?q?RhoaRuzI0038hftwKbVVLGKdsmN4VPpNw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?UxUkGUmbiA6x/XzwGFnvkMxq3B/U?= =?utf-8?q?WHCtUHlQo4nyZaQS5IAegb8ytWhLF1Tigbi2BPc7UrujXjjoO4V96LHr1Algj9sIU?= =?utf-8?q?uYtn3qcmLJjCpO1gO4MCZT7xpu9eTJxJQJNjoMiQooHAhFFIzHi1V9YYeTieUGik5?= =?utf-8?q?/Dux46KMJqr5rOd1UL8r5RFF4dqd8eTNbbgMpWxFdbGsz2XamCh044g4VlHFPas4t?= =?utf-8?q?LOQoGPGDCNOrMWOIHiRbDueVIKUoTzlvPK+wsW45tZSL1YXLbUbS3oujscQWkNPKE?= =?utf-8?q?WNhBMmBm0L4pJyyukyt2NV/RBiC7e8ZyDr0o5ATO8RYVXtyNBBaAN26en6Q0rDJXP?= =?utf-8?q?YdiC4IWprrVw3P0oGZaGp1zQ3zJf88TnZ2eTdxxToRXPvNu2CaiGNzakp6JtlNiVR?= =?utf-8?q?gE3QhY7nWd9wEd3RjqZSp5/CKGY+N09oB3CkGajyoBnIipyIgevjwOCsSy6TZtBFh?= =?utf-8?q?46MmnzVUJohqQV34q3Mwo2cTTVkgvMKyLvCYiLNK68hOEFS/SYBVb16Hr9rS1FdHx?= =?utf-8?q?BDHMIA+lmld10wVmdr02/sbIjWtpLmfyacwjAIGurJzfIBNLYwPrCD2ZPNvQQNgsL?= =?utf-8?q?LeIL1b8JlKr7AoOSUkDfDtbDos6IuoqNO/e5QeOUx8xMGYh9guzhygYkrucg9wlpA?= =?utf-8?q?Juif7NTQYHxtDxYVqetMuwXTST/krElLskSjcDVKJmoKEOQ8liHNWelWitRZ1GOPC?= =?utf-8?q?ivLXDMz2zp6e5U5i5Ev0YZnrk1h1wBFzebtrAUKngBHkwCMIuuSWtoL0Dfoj37xdj?= =?utf-8?q?KRPKjxIxCg4fbMPYA7XYfh8QGzWzlu36jD735jhptXG7JFlffdZrSdYAZ85XYcFdl?= =?utf-8?q?TOnrUauEAXhu1HR6030vlnxbFlxpYZH81Mddjzu5DA5HqB/1vEbrzl13PdnU78RIc?= =?utf-8?q?0QobQ92BvXlmVCd2Q7etzhScpjBEu+Vb8Sap87fY0999gqq2LkBKhrzpYyrpoFxHX?= =?utf-8?q?FnKcPiELwcdTUzTpvdiUGpnxakHO41/1pn2QOZwAqg6fRnlmGE5WA4851/Rmcl4jd?= =?utf-8?q?dZD0KUQCnJE0TxlQcHw3elotMMZeMpkDR22vi7Awuf8ekr9j24yJs+l0lsxqMQxBl?= =?utf-8?q?YM40jEPPWHXOEvSUiY0nTGUjLy3z7IGDGAkUaSdrIWXZ4LSmdxT0H2t5ZIi4T/og/?= =?utf-8?q?sADMB3UFU54QnbCiqKdbDOIzuYjJbj0aoC4o7surm3FiHpxzcXwSdVv78yrYDtau1?= =?utf-8?q?O7NUkF3anrDNgtrHs8kKX34ZOrJDVCnnZAlOtnbb70kRybSHHljBj9O2jQKb5tlGF?= =?utf-8?q?wRXHMltPUfKOqrdf994JjOJhA6PdPxcSEU8IbS0XjL8dgArRprqrW4xq7JNuuKytB?= =?utf-8?q?/6C61bdprLY/LclO8KtLAPOytgPmfp0y8Xcu7PpXvLy2AgFOZ/GiRXqGSB6Cu9579?= =?utf-8?q?6s6VPgYM244TKlL2QzJ3wpELRWDoeqfj3zYSzkuDSgIeIOu93uCVy5LXX2LOJ6jTf?= =?utf-8?q?zgYLSer5hNjpEGlS59D6lh9QlTPpuljY7SHhpCSuNhvcJr54JEC1M2IaSPGfRKyIj?= =?utf-8?q?c8n67x1xt9+7?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e280fc38-1e3c-4bad-9f5f-08dd4ad1864a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:11.9224 (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: 7VTM7MmeJqifdst7haj5et6V/NtvxOFF3za58oGrkiyId8rOd8gTK0nKzDzqV60KZXg2CUuPgCP12fg61Eh3rg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112315_042079_1A3D9104 X-CRM114-Status: GOOD ( 19.49 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Introduce the helper function pci_epf_align_inbound_addr() to adjust addresses according to PCI BAR alignment requirements, converting addresses into base and offset values. Signed-off-by: Frank Li --- Change form v14 to v15 - change out address type to dma_addr_t to fix below build issue | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202502082311.G1hWGggF-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/pci/endpoint/functions/pci-epf-test.c: In function 'pci_epf_test_enable_doorbell': >> drivers/pci/endpoint/functions/pci-epf-test.c:726:42: error: passing argument 4 of 'pci_epf_align_inbound_addr' from incompatible pointer type [-Werror=incompatible-pointer-types] 726 | &epf_test->db_bar.phys_addr, &offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | dma_addr_t * {aka unsigned int *} In file included from include/linux/pci-epc.h:12, Change form v9 to v14 - none change from v8 to v9 - pci_epf_align_inbound_addr(), base and off must be not NULL - rm pci_epf_align_inbound_addr_lo_hi() change from v7 to v8 - change name to pci_epf_align_inbound_addr() - update comment said only need for memory, which not allocated by pci_epf_alloc_space(). change from v6 to v7 - new patch --- drivers/pci/endpoint/pci-epf-core.c | 44 +++++++++++++++++++++++++++++++++++++ include/linux/pci-epf.h | 3 +++ 2 files changed, 47 insertions(+) diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c index f728ee2660a4e..b93984889f736 100644 --- a/drivers/pci/endpoint/pci-epf-core.c +++ b/drivers/pci/endpoint/pci-epf-core.c @@ -469,6 +469,50 @@ struct pci_epf *pci_epf_create(const char *name) } EXPORT_SYMBOL_GPL(pci_epf_create); +/** + * pci_epf_align_inbound_addr() - Get base address and offset that match BAR's + * alignment requirement + * @epf: the EPF device + * @addr: the address of the memory + * @bar: the BAR number corresponding to map addr + * @base: return base address, which match BAR's alignment requirement. + * @off: return offset. + * + * Helper function to convert input 'addr' to base and offset, which match + * BAR's alignment requirement. + * + * The pci_epf_alloc_space() function already accounts for alignment. This is + * primarily intended for use with other memory regions not allocated by + * pci_epf_alloc_space(), such as peripheral register spaces or the trigger + * address for a platform MSI controller. + */ +int pci_epf_align_inbound_addr(struct pci_epf *epf, enum pci_barno bar, + u64 addr, dma_addr_t *base, size_t *off) +{ + const struct pci_epc_features *epc_features; + u64 align; + + if (!base || !off) + return -EINVAL; + + epc_features = pci_epc_get_features(epf->epc, epf->func_no, epf->vfunc_no); + if (!epc_features) { + dev_err(&epf->dev, "epc_features not implemented\n"); + return -EOPNOTSUPP; + } + + align = epc_features->align; + align = align ? align : 128; + if (epc_features->bar[bar].type == BAR_FIXED) + align = max(epc_features->bar[bar].fixed_size, align); + + *base = round_down(addr, align); + *off = addr & (align - 1); + + return 0; +} +EXPORT_SYMBOL_GPL(pci_epf_align_inbound_addr); + static void pci_epf_dev_release(struct device *dev) { struct pci_epf *epf = to_pci_epf(dev); diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h index 518bc4171285e..a1a1bde1bc2ff 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -240,6 +240,9 @@ void *pci_epf_alloc_space(struct pci_epf *epf, size_t size, enum pci_barno bar, enum pci_epc_interface_type type); void pci_epf_free_space(struct pci_epf *epf, void *addr, enum pci_barno bar, enum pci_epc_interface_type type); + +int pci_epf_align_inbound_addr(struct pci_epf *epf, enum pci_barno bar, + u64 addr, dma_addr_t *base, size_t *off); int pci_epf_bind(struct pci_epf *epf); void pci_epf_unbind(struct pci_epf *epf); int pci_epf_add_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf); From patchwork Tue Feb 11 19:22:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970576 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 548CBC0219B for ; Tue, 11 Feb 2025 19:39:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9bg6MJ//Lho3Yr/1pvuCw3zXJKiAbbSTzIbMzly1KWQ=; b=j4/IULk99BK0pwu1QKGLo33MoU AoXbchI7qXZimv6h/7zHgv+2HUz1CNFYCEI8tk6aIQwVcNw8cZouvHEGriYjVWH14bLobDSyYeZy6 IAnv8NJI3sd0mu4MIb/nkqVNV/nH/NzMKQHYEKliKhOlRf+J4s7/+J8Me6/mM8NtLWL7vwMOkBMvH ipoqjkvbthwl7xVb89RUNWsUvWWjgdnc/ZzESsVVyKW76q55+x0DsVNPKFS4G80iBBb8g1vX529cn zA1bHCYSuoA+U0XCnTzOlYGFES992J1whpIaeIG/6W2CIksN/aG5nZ8ZtyuqnXfGFS5U+ZhPX7NHT 3Yof0fgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw6c-000000053tB-113l; Tue, 11 Feb 2025 19:39:38 +0000 Received: from mail-northeuropeazlp170130004.outbound.protection.outlook.com ([2a01:111:f403:c200::4] helo=DUZPR83CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvqs-00000004zrk-0BQu for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TfvlUlWEW+adjkphl7LOxb+JV6tYB8vpIwhoLEXc8dFvgwzM+YbIawsYa76faYmCpQpf4weTGTn9YxLKTF5Nn3LFdoWHLj3zjIqVbcQbibjw03A4jcrQ3wSqruh+N9lRMaYG1ZnlDkhCC68GD9xq0BjXyDtBVlYkqLw26xMSjolKGu/YUyTtOv/iKUF+vP8xAmV/wm/kHGBlo1TlQ7WSTqQakeINxyColFQM/N+czugMV2hXFMlwsb35WCIvWP/tnsYUjoYzLsSlFqNrgJHZCriICczE6wd3b9Qr6zn4TawEyikC8SSfqPcf7Txiq9rK3DsqfY4sHEdjirHufRW2Qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=9bg6MJ//Lho3Yr/1pvuCw3zXJKiAbbSTzIbMzly1KWQ=; b=beAd2aKuCsLuM/yZf+Aa6KcNMUU1CkaCqrivixkGfqt5RWQCM1J7dUHnUwaR4P1BQMzfRW1hq8dg/stQ1H8pTdHaZ/oSXycJ3KaIb0gQhpq8wCPYzaoNI6/l2nyc0zyXdh5/msrfbmW5pEAUlxAes3ybEfNlcP/4mG9eAA0RPLFMyvErzXZq4Hr12MRh3L0Apeo9g0kjg3UNurWg5xFzYSiq2ZEYldIzVu2yt4flR2I294jTQEfOsNfIB+TyPJs0s7nBH5gXF3e3ZJYohp361d7rwFfQEdBzUAGeVYkJ9yLkg52gQPYBYTdc9OHTYpcb0mXtpICPRE3h6dCFmGUzvw== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9bg6MJ//Lho3Yr/1pvuCw3zXJKiAbbSTzIbMzly1KWQ=; b=NnAvQPfAtcOZFhKnGBuNGcFxm5CnFEhOUWWv2u05/ynq04ZOJjJwogQaH5DZysf41uilDKKOTyBgvpFLVkjVV/puefeDTS7Mz0MCtESZcHQqkTvELHXEbNGhsZPVjI/8nJ1OEGE/tfRn+m9G07vLd3/myaZR1tEFce637V4vIVgQTDcmqXQqXnggQaq3kUmj37cOaFWnLN2hL2EZH5QekvgrYxdFrDJFLPtpLsZEaxrcbauXDnnecxv2s4yQOo6fcB2eszIo9kfVaCBLffJ2hbTe5VMQyIKyP9Ea3Dm4JPyYzR0xZ5LulWf3mDgt3WuYAfmmqM3NNvIV9mKXesE54A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI0PR04MB10291.eurprd04.prod.outlook.com (2603:10a6:800:245::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.16; Tue, 11 Feb 2025 19:23:19 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:19 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:02 -0500 Subject: [PATCH v15 09/15] PCI: endpoint: pci-epf-test: Add doorbell test support Message-Id: <20250211-ep-msi-v15-9-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=8258; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=bgNlybeoMFuURulRJUhsd9c06PZ8kncQBsW1pHAX+h4=; b=EQMaHT/Fziby3MMkGzAqAS79NpcVcNFe8xDwwkz9LFzeKKQJ5mKCePU77uyjo1bgnZQi8CtIK YcFoXLXBXDFCi+iXvIFfm2cJUwl3vLkk91Z5baT0xfOmF//87wkVsAf X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI0PR04MB10291:EE_ X-MS-Office365-Filtering-Correlation-Id: 05a3bf08-fdff-4bcd-af2f-08dd4ad18aeb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FkO8LlfCOfFiPCwfxMt+CveHSDpQ7QS?= =?utf-8?q?BAzQtSHRMdXE0+kruX6pcOEn41uhMkWXSmxCjwxv7EcdhJHl0LAMw/qAW/cXt6Yy0?= =?utf-8?q?tshJIRkhpdN56kkHNp3MXJ1wFZZo2+PAKnbztbYMVlKMLyycsm9ndgtspDtNdXRV5?= =?utf-8?q?uapU9bOIDmaw0hqaY3IUEq/oWF3xnbN+No7A7M/0A1I7sa9/0g1gw71czz9qeHcpB?= =?utf-8?q?G6aIYDlPF5smaTEidkKH5B12dy7jcw1zoyyPgU/8kYVhRBSDKXKCqNPAm7dJvdex4?= =?utf-8?q?dLsIvSxmayLwlcNLILL3RPAp4LRQRVmZsZ6fJkbi/D959ru2l6iuOaDa11XrxacO1?= =?utf-8?q?luAV5xKmj7HQWEH7+QlQsXxu+QiHyzzIcu/uJ6KySNfZcHoJiuzsMbZgT4gZ38+dU?= =?utf-8?q?1d0wcgRxiqTV2QBUA3FeAqJpqyrmsRJhWDyDu63MPMCNx2Yy7Z9xaVGyP+BNZ3jUV?= =?utf-8?q?sR12NUIUcV2pvHkOpYRzd8xpa+dFAU+IK+B58djwbaCPin+ewqxYFL2kwbITV3MSr?= =?utf-8?q?pduwQpi6EJEUJCnqIqu/EdoeFEBzP2E4F5C6Qwp7yLhlsJkh9MZ4ozNABiY0xUWwB?= =?utf-8?q?HslXny7Xw6BqBl5bsndzwPGILncJieMGUmhd1nosBm+RA9+tO03IIOfVQm3oRKUye?= =?utf-8?q?4GGuJGNMrWjw4bO0a1VlhDS9Iik68FZgU9hC9yyfZk6ehVRLRfAkMWMb0mq3VSchd?= =?utf-8?q?PkPwU5tVmPYjUtX5wqnN2GTBvvGuC4lOGyYyQ1ul4omvWPole+Bv1O1oTaNF0z19c?= =?utf-8?q?apSftum6xxvJaZqAVek3D7mvuG9uMnBIu3R3ZVJe+RqeWDgvjXjUsRVUSsHWm11Yv?= =?utf-8?q?ui6QjOYfgqBjc+/chJX5k5J8E2kWk5WFIVGdxpZbMGIMNVwFAxPlE/l8pFwCJ17GF?= =?utf-8?q?qdHUk1q9AblDl/IGlrvWYu9u40HvHEdV0JmqqHqVYd38lN05Jcb9+SKwebfTTmitO?= =?utf-8?q?6dehK06FTnBX6x1sRp9Zh3a4+4J+e9VbLlXE4rulFkVmIefuj52ylWBZlJx/BJjzp?= =?utf-8?q?qJeA3qF0JeEMSuaK7mGx/EwuVqpEertJmaYoHkD9qJOEtb4p9Ql6GR35YWjm17mVK?= =?utf-8?q?6ZIHsVQAYVExhA2pcqfnJc+oUzSElsnTmTnSDeMvsT6OCAwo8q6e8nEFuYpFkkF7c?= =?utf-8?q?mIX0J5yKOoaV98WP9w/fxfhr/nzFSbVIWQEXCCKIf8/okoyJORtxQWsB2AENIEDV2?= =?utf-8?q?iT9Qm0+m/Mb0AXGlDLtUn+5jqOsr0l1g2FmroEyKogebbYFwkPJrCjLu7u5lsLjmu?= =?utf-8?q?N0mijQNusvh2RAaof2jtlbeM4tqBMu+Uixo2ayk7i9glMw4uUS5kJOMVY3kta23lP?= =?utf-8?q?C3iAeZKzn8lCvIgT42wM0iPAEGbq9dgo7Hv6YzxKO/SEyEHV/cMk3WtWjUnCzF80B?= =?utf-8?q?SX7ALVUY7mGypQe9cZx52cEiac76Y1fmg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ubdg7nn1i1j4b3DGZJW2csPA5syL?= =?utf-8?q?JLHZm0vJezD52KRWwAAfJOK30oMu+qHFYql3qb+sAVbbaB5fi+BBocC/h5Cb214kA?= =?utf-8?q?aMR1zPhflQRWScVh3rnacUyHXZi7JS+81MWXf1H7MeOsW/wEYKntb8TwzRzPvYIqi?= =?utf-8?q?PdTtnTt8kZi7lkKAQoqtxyyp/tKfZ4Rce8HpNQuIzrJT9SzsY+33qO1jA/7REg5kg?= =?utf-8?q?5vDqV+KdrASv2dJuO+1vdy01xG2J+C26yhI1HJP8O/5LauGWMJmmg9KrWyoFwqPPV?= =?utf-8?q?JmlXSMjf2uPKAMd5E+PO4KTDlHvitCuJg78lMHal7BduoNAruyF9+kPotAzkGgVFT?= =?utf-8?q?GNRBT4okerB9+I9taS0EjiuyE6zQNK77Uh/QIiT9ySIqfldrib/JLZLLEudrVrhxr?= =?utf-8?q?1W7DFB6JTqWDCaxmS95LkeklfDDNssB97UrvvdnGbNp/wwVMxW+WE2X1gFzPkFXyg?= =?utf-8?q?uLI5oEUj3ozVCq486P9foCMli3dBLBJlFJSMqtT2kJCnap/4MYTW58ooPZgDCH7Bu?= =?utf-8?q?tWpCW+I11o5FFBLAUqOFQDyZXrxEBSgWUaSgUvkQeVJKA8UArZudYAYHHyVXPfjN2?= =?utf-8?q?EkraTG5S/1p0hWDTpZm88uROlZcrkcsIP8gZtzeYmlqJLrjtf/YQIu2XgmMVg44oG?= =?utf-8?q?8d+FC1Vu108YhIevzQV9ZekoVAOqckVOF1bq0K8fk/KWh6C+pLXYzS5U/2W7442mV?= =?utf-8?q?vS+PmoIJLFYxXb2a8l9GKGRD2NP3PZmNzmmtW3oa32ln5f92octw/5yjhfFCp4OLj?= =?utf-8?q?zR1eMHszyJaTLm2vMEjTzhP9wNY+IrTHBiO3q2+e74T80jIwaRlPdClyyZuKcyszZ?= =?utf-8?q?Ed+YYpzAsGbwhHhoaN8fXMuApExtLLRIOYI+7VZtMv32hyf3dE2hc4Win0u0yoNc5?= =?utf-8?q?g1Y9fQxzQ4QegGTKv60E6S3GHzGt/dH11pvDxWVkkcTEVOPap21SW5r6wGKaSKW0K?= =?utf-8?q?BAahZ+7xfyXnUa/mx2OIHiIsps7Tg84YfRQ1bDztjjA3p2QH1A+ux+A1x5EM30Ypf?= =?utf-8?q?jChzpGxwKXuQn0610WXO0oizAFaH2gIx9A8OI1Ea0NaYRHlM1BymeWa6Yreza2yiR?= =?utf-8?q?JCRCA9m4cdNyBAOG+LDRlsMTI8dfCcGcMloo3aoduNdz79cydzzcRaddKzXNjHDyl?= =?utf-8?q?dafrjikbIBdFJkAFq/Rr+c4dBYRb/w3G4iumuz81wNPIi+L9/Wa6azlrZzcE+0WgP?= =?utf-8?q?XocCMfbwOYyewFO4xWev8b+7r4JCPwiKoXCpXGHrdJvkmucPLG6PFLFatkGBoWUEE?= =?utf-8?q?8jeNfMHIx4J4OBzevnkU9K59MrW8YZmTXzbBEWplUVgDRSCyLiIkzIbk+yUWy8o+z?= =?utf-8?q?MvapFF2oJEplOpXQoQ+IEHWhte0V5XQdMtWco8BZdgfWSnjsKctnNqw84LPEyhRic?= =?utf-8?q?Om4Fe2kbvZ9+v/aYRlQUWS/grdMBJsBzDq/Bj7UWTihFrQOcSTDNkWntVAg+FXKQd?= =?utf-8?q?HW4lAMpTnnM/qaSm06UXQ5dCczyl7yD/OmxPhE1GmeQrh2GGif5G30cyD0BqMX2gy?= =?utf-8?q?cSAqa+miecAE?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05a3bf08-fdff-4bcd-af2f-08dd4ad18aeb X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:19.7023 (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: HLHexmMePDI5/0RudneOsrC4UDUwjQUh6qbJwFKW/Gmm9wYrxtBwwU+MCPeg/ESesHt3QFIl9fktIE1AJDWH/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112322_248563_5B8D4EB8 X-CRM114-Status: GOOD ( 16.74 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add three registers: doorbell_bar, doorbell_addr, and doorbell_data. Use pci_epf_alloc_doorbell() to allocate a doorbell address space. Enable the Root Complex (RC) side driver to trigger pci-epc-test's doorbell callback handler by writing doorbell_data to the mapped doorbell_bar's address space. Set STATUS_DOORBELL_SUCCESS in the doorbell callback to indicate completion. Avoid breaking compatibility between host and endpoint, add new command COMMAND_ENABLE_DOORBELL and COMMAND_DISABLE_DOORBELL. Host side need send COMMAND_ENABLE_DOORBELL to map one bar's inbound address to MSI space. the command COMMAND_DISABLE_DOORBELL to recovery original inbound address mapping. Host side new driver Host side old driver EP: new driver S F EP: old driver F F S: If EP side support MSI, 'pci_endpoint_test -f pcie_ep_doorbell' return success. If EP side doesn't support MSI, the same to 'F'. F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as usual. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- change from v14 to v15 - none Change from v9 to v14 - update commit message by use pci_endpoint_test -f pcie_ep_doorbell Change from v8 to v9 - move pci_epf_alloc_doorbell() into pci_epf_{enable/disable}_doorbell(). - remove doorbell_done in commit message. - rename pci_epf_{enable/disable}_doorbell() to pci_epf_test_{enable/disable}_doorbell() to align corrent code style. Change from v7 to v8 - rename to pci_epf_align_inbound_addr_lo_hi() Change from v6 to v7 - use help function pci_epf_align_addr_lo_hi() Change from v5 to v6 - rename doorbell_addr to doorbell_offset Chagne from v4 to v5 - Add doorbell free at unbind function. - Move msi irq handler to here to more complex user case, such as differece doorbell can use difference handler function. - Add Niklas's code to handle fixed bar's case. If need add your signed-off tag or co-developer tag, please let me know. change from v3 to v4 - remove revid requirement - Add command COMMAND_ENABLE_DOORBELL and COMMAND_DISABLE_DOORBELL. - call pci_epc_set_bar() to map inbound address to MSI space only at COMMAND_ENABLE_DOORBELL. --- drivers/pci/endpoint/functions/pci-epf-test.c | 132 ++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c index b94e205ae10b9..bba1229c46f14 100644 --- a/drivers/pci/endpoint/functions/pci-epf-test.c +++ b/drivers/pci/endpoint/functions/pci-epf-test.c @@ -11,12 +11,14 @@ #include #include #include +#include #include #include #include #include #include +#include #include #define IRQ_TYPE_INTX 0 @@ -29,6 +31,8 @@ #define COMMAND_READ BIT(3) #define COMMAND_WRITE BIT(4) #define COMMAND_COPY BIT(5) +#define COMMAND_ENABLE_DOORBELL BIT(6) +#define COMMAND_DISABLE_DOORBELL BIT(7) #define STATUS_READ_SUCCESS BIT(0) #define STATUS_READ_FAIL BIT(1) @@ -39,6 +43,11 @@ #define STATUS_IRQ_RAISED BIT(6) #define STATUS_SRC_ADDR_INVALID BIT(7) #define STATUS_DST_ADDR_INVALID BIT(8) +#define STATUS_DOORBELL_SUCCESS BIT(9) +#define STATUS_DOORBELL_ENABLE_SUCCESS BIT(10) +#define STATUS_DOORBELL_ENABLE_FAIL BIT(11) +#define STATUS_DOORBELL_DISABLE_SUCCESS BIT(12) +#define STATUS_DOORBELL_DISABLE_FAIL BIT(13) #define FLAG_USE_DMA BIT(0) @@ -63,6 +72,7 @@ struct pci_epf_test { bool dma_supported; bool dma_private; const struct pci_epc_features *epc_features; + struct pci_epf_bar db_bar; }; struct pci_epf_test_reg { @@ -77,6 +87,9 @@ struct pci_epf_test_reg { u32 irq_number; u32 flags; u32 caps; + u32 doorbell_bar; + u32 doorbell_offset; + u32 doorbell_data; } __packed; static struct pci_epf_header test_header = { @@ -645,6 +658,116 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, } } +static irqreturn_t pci_epf_test_doorbell_handler(int irq, void *data) +{ + struct pci_epf_test *epf_test = data; + enum pci_barno test_reg_bar = epf_test->test_reg_bar; + struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar]; + + reg->status |= STATUS_DOORBELL_SUCCESS; + pci_epf_test_raise_irq(epf_test, reg); + + return IRQ_HANDLED; +} + +static void pci_epf_test_doorbell_cleanup(struct pci_epf_test *epf_test) +{ + struct pci_epf_test_reg *reg = epf_test->reg[epf_test->test_reg_bar]; + struct pci_epf *epf = epf_test->epf; + + if (reg->doorbell_bar > 0) { + free_irq(epf->db_msg[0].virq, epf_test); + reg->doorbell_bar = NO_BAR; + } + + if (epf->db_msg) + pci_epf_free_doorbell(epf); +} + +static void pci_epf_test_enable_doorbell(struct pci_epf_test *epf_test, + struct pci_epf_test_reg *reg) +{ + struct pci_epf *epf = epf_test->epf; + struct pci_epc *epc = epf->epc; + struct msi_msg *msg; + enum pci_barno bar; + size_t offset; + int ret; + + ret = pci_epf_alloc_doorbell(epf, 1); + if (ret) { + reg->status |= STATUS_DOORBELL_ENABLE_FAIL; + return; + } + + msg = &epf->db_msg[0].msg; + bar = pci_epc_get_next_free_bar(epf_test->epc_features, epf_test->test_reg_bar + 1); + if (bar < BAR_0 || bar == epf_test->test_reg_bar || !epf->db_msg) { + reg->status |= STATUS_DOORBELL_ENABLE_FAIL; + return; + } + + ret = request_irq(epf->db_msg[0].virq, pci_epf_test_doorbell_handler, 0, + "pci-test-doorbell", epf_test); + if (ret) { + dev_err(&epf->dev, + "Failed to request irq %d, doorbell feature is not supported\n", + epf->db_msg[0].virq); + reg->status |= STATUS_DOORBELL_ENABLE_FAIL; + pci_epf_test_doorbell_cleanup(epf_test); + return; + } + + reg->doorbell_data = msg->data; + reg->doorbell_bar = bar; + + msg = &epf->db_msg[0].msg; + ret = pci_epf_align_inbound_addr(epf, bar, ((u64)msg->address_hi << 32) | msg->address_lo, + &epf_test->db_bar.phys_addr, &offset); + + if (ret) { + reg->status |= STATUS_DOORBELL_ENABLE_FAIL; + pci_epf_test_doorbell_cleanup(epf_test); + return; + } + + reg->doorbell_offset = offset; + + epf_test->db_bar.barno = bar; + epf_test->db_bar.size = epf->bar[bar].size; + epf_test->db_bar.flags = epf->bar[bar].flags; + + ret = pci_epc_set_bar(epc, epf->func_no, epf->vfunc_no, &epf_test->db_bar); + if (ret) { + reg->status |= STATUS_DOORBELL_ENABLE_FAIL; + pci_epf_test_doorbell_cleanup(epf_test); + } else { + reg->status |= STATUS_DOORBELL_ENABLE_SUCCESS; + } +} + +static void pci_epf_test_disable_doorbell(struct pci_epf_test *epf_test, + struct pci_epf_test_reg *reg) +{ + enum pci_barno bar = reg->doorbell_bar; + struct pci_epf *epf = epf_test->epf; + struct pci_epc *epc = epf->epc; + int ret; + + if (bar < BAR_0 || bar == epf_test->test_reg_bar || !epf->db_msg) { + reg->status |= STATUS_DOORBELL_DISABLE_FAIL; + return; + } + + ret = pci_epc_set_bar(epc, epf->func_no, epf->vfunc_no, &epf->bar[bar]); + if (ret) + reg->status |= STATUS_DOORBELL_DISABLE_FAIL; + else + reg->status |= STATUS_DOORBELL_DISABLE_SUCCESS; + + pci_epf_test_doorbell_cleanup(epf_test); +} + static void pci_epf_test_cmd_handler(struct work_struct *work) { u32 command; @@ -691,6 +814,14 @@ static void pci_epf_test_cmd_handler(struct work_struct *work) pci_epf_test_copy(epf_test, reg); pci_epf_test_raise_irq(epf_test, reg); break; + case COMMAND_ENABLE_DOORBELL: + pci_epf_test_enable_doorbell(epf_test, reg); + pci_epf_test_raise_irq(epf_test, reg); + break; + case COMMAND_DISABLE_DOORBELL: + pci_epf_test_disable_doorbell(epf_test, reg); + pci_epf_test_raise_irq(epf_test, reg); + break; default: dev_err(dev, "Invalid command 0x%x\n", command); break; @@ -953,6 +1084,7 @@ static void pci_epf_test_unbind(struct pci_epf *epf) pci_epf_test_clean_dma_chan(epf_test); pci_epf_test_clear_bar(epf); } + pci_epf_test_doorbell_cleanup(epf_test); pci_epf_test_free_space(epf); } From patchwork Tue Feb 11 19:22:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970578 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 A31AAC0219B for ; Tue, 11 Feb 2025 19:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=oOFt8LX5UPTafSuC84L8Wuvjx/N1K1KamY3mQ/+ddjc=; b=vM3/xOidWNrZztJwatDs2+cFON t5LeWyI+K6jzZLU57A2ucYOR2F1XFSivem9kxplxjP92mgDJySwtSgR8iyxKhYC1D1wNgrvMg7yQq u+oZ1Hf5ave0BRetxQfrkWNUtqELC5IOBKXgiZNfdGClDdT+nvjxJkJy+mK6M/JaQCpvyyajxPaHO kp7idVQ/bgySfur+7n8+s3wAHDAd2xr2lXM24TeVlg+XfBr+2OQOHq6qMZWUpsQU1kCIjNsWgCORf A38CX6LxfiAB7h9zQSORWupE46RSk0eGjNwgL8d9I5URiX2OZe7LOoClJ+LGARBgBkw15uL+P8hgo 56cIj/4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw7z-0000000543G-36Xp; Tue, 11 Feb 2025 19:41:03 +0000 Received: from mail-am7eur03on20630.outbound.protection.outlook.com ([2a01:111:f403:260e::630] helo=EUR03-AM7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvr0-00000004zuO-2pzC for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gj4u+9uUcb+h+4k29lhU2I+D+AYHrntqWi6tXdhk4BKxEno78Bcx07sRiOp6OhJbNW8+9QXlmFKizFuDquIaMKK210ysx6R2MkffcOdIgc8BjYcHPE0LeTF2ihrTR7498Y07jurlCt/C4Ae+PSDTwaH6DwqmIg3o7PN11CP2biMFfgL7HhraOYoa2InEe9fma7NSXTSV5JDsSjLNUEdY9eHSBuH2QWRxXgvu+FyCcy7sGIwx75lOF0o0w1I/RKWUBI83eWQpIKyxCj6N8474HsiKrTdVnRL4yVMzpQYZrtN4CJD8gva01CmLU8TXj+9wg1p2MN6mIWo1ihXPpQKohw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=oOFt8LX5UPTafSuC84L8Wuvjx/N1K1KamY3mQ/+ddjc=; b=HpHFfpG84y/nE/NMYP5Sdun5/lQbYbmSIWViO5ql7QNYFUVzlZKP4veVxkREw30j8rzu2gNe90XnEAmzXl+r/9p35o/QRKbApTu8jE9XWg6BvQcM6RyxI6dPL2C3xaoijF3lWgtmZyjD5I7LYT2KOy9wdOnWr2KIALJ+vP3rmnutg0uH3J32DPyYBoDsj/6gBxy+8aOPmrPVkvP1zEKPf2O7Zqs3iHmxQlfbMcv1Pkd+asXxShfuqYOSUeHdUv/sCGDVpUf+yFTNhwUoMNBsIT7Lc3ZrYsztLGlIkDfhns8w4spZbtbq4zwiisGzC2kKF3ef3dwv0yw1rcyiLS3rzw== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oOFt8LX5UPTafSuC84L8Wuvjx/N1K1KamY3mQ/+ddjc=; b=d26wn6UVxD3vpBZ/oNszaaVP5uomJGoNqXn4c9Av9VfZ0Pgu+41rhmjwyiDK1V0YNkuHYfEiSNSYrj7kMpXoiqjIdJJabhLwXYgRfAwReG2EUAHki3cQxkHgID4kG+oywU8mcdjdlRep7ymjU9ygfTUXUN2TaXl7SRtgD2NoirqcudVi4AHR7Is1q8G1C4S10OmmPBRmOc8XnKgqA0OmtiHFH6aPXEH9bxL49HA9TxjIVLPBHyjqKex5UDo9/Si6yQuCnvnKh+Y24Eks1kBUUphZJxjsU66lnhhchdpEt7W46SysvLkTTPUhzsTeeJTT6QfYpi3oZ8IfcOUs0XsdBA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:23:27 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:27 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:03 -0500 Subject: [PATCH v15 10/15] misc: pci_endpoint_test: Add doorbell test case Message-Id: <20250211-ep-msi-v15-10-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=6351; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=UlDKmhIPNgdPqhQOfM6ZLjMvuoDnzZk8pznO1GKD4fM=; b=KRa+YQI1Ef4Kh0XipCzg+dHbW3HtpPExBhBXmuLI8GcRVcMxHjtLFf3ZieAm4xFugxbga/bY9 sP9utOCHyPCB3tsQMglFKJ7GEtEEVr4bFmy4Fr7MzcmV6uMr0OUyQTX X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: 021f3305-3919-4ac9-6141-08dd4ad18f8d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?2eXUxzicTnbI/C1GeWl3CH9GFJnCfHN?= =?utf-8?q?G5OeEZ22CXP4mETmCnmeAL8h/tBKxdG+DjZFp9wAMev4OLuBW/XV4IN0PcA6kCPEp?= =?utf-8?q?lNwczf9cXk47o8CqIbO9sI7ENHZVCc/yQLCmyo2QeFauYXwsid8QnKoW9PLqe7YyF?= =?utf-8?q?KzhIPE4zOFUMjPzAgjZ09QegbF3xvh5bsSX2V+30558w5p3NXW2WksyezTo6JRctk?= =?utf-8?q?k79b0XnXWz3c2fU7yJaP2/h6OlsHGlqN8mqf74M+jm1fVfvtqzJzmIH2T2uN2/oNL?= =?utf-8?q?Z1EGYpxltl1as+e0ZRqP4LB7h6h+GGI7OAOIejBqC6MOC3A4Yl4CyzADPLYswsu2U?= =?utf-8?q?cLMPdeIgREbEq529oPceNSgQIk3THdP1g0Ji117RFx4Ojnz86Sd0Lr+kigxsKXpur?= =?utf-8?q?TC07Nf+zaGaO8BzOnUwy3WTlIvM0P7TvvBGH8ZIwVOqtSlpaWugUDu7By9fVX1Ffl?= =?utf-8?q?IvpsOAauE73DBwkpNnwNf2A+b02xnr6O3P/+544WlQMOBb+zEOKpnMf3Jl2XxL0sE?= =?utf-8?q?0QOF7s23D0T3fuE75U14hK3g05T0Gafm3AhsjnqX0pvQ0QHd1MlWLdnuSU8BEeURX?= =?utf-8?q?lJIg5QuSshYyRU6F1OQE2TiogZeekkzV+Jw98i7L7RN3FBkUNw4mx2HganU536wCO?= =?utf-8?q?DXEe5r94i6tbMhFCFXI26rcxbohQDptdDctji0VhrxEUg0VA+HfRywe2MGoLEvUwd?= =?utf-8?q?0h20yctKq2h6krwpXSx8P1iFcKetdFQMB3JXqMKXqzzg1pbP4PcITAZ0kuGt3Aw4B?= =?utf-8?q?XkWuzGXH1omCcWJQDkZnb4mFtMRi9uZQrB9EDQ/iFGJefN6pBYuak8ozi8v174V2h?= =?utf-8?q?nlvJZWRpU74rRYr0ZApT19pNyHLyuav5g5snGbtvag4EWf+dfotyECRKYGc1J8ulL?= =?utf-8?q?sMLUNxJCuEcDm9YdMrFEpPFQwiZffqaMajAv9HwItKuqMCEFE03SPjmm1jejRw3Ai?= =?utf-8?q?6M4xBR8DDSmH1/+zOc9Bgt8mDV6BldjqfwPcX68m0z5YojzdzDNFbZi5y0vp4y+Gs?= =?utf-8?q?DdNl2oxHBG7zCIhX+qu08q7viEOm7j1H27FjsR15i62rtEsQunpLUC6HyqzkJg81h?= =?utf-8?q?IHWK9SqhGby3BS9Vk7bYpFA2UfMogyBNKy7Qkp8hgAEqhb+7K55tOdZEECxkXQX30?= =?utf-8?q?o1IPZtZ2jQXVDhQ+/4zckbWJXGuWQk7U2n4u4dsVdbt84JhSxb/03oTnoA7+sgYY+?= =?utf-8?q?b1RZarWePWGYT6c+7Sk+N8c1ka18rTc9ZeU7NnD9euyxgxSvC+l/KlZTodRLHsL8k?= =?utf-8?q?D33Qzq/7UpdeeceYhCxdcv0neTTre6X9Cve5jyhrGnCZ7wHobUrZYumO4DdmMdcS+?= =?utf-8?q?5d+or6zL0p0s42jaMydsfu5ULPyrOvj8w4BOnOmCxZ0ExLJeKgvj+4aWiSWwjZnzc?= =?utf-8?q?KPOlynnLD5VUJ/I8iUpQpEb5w++V83wFQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?79JUMWW/8hHrMeBv75blB7TkWmfA?= =?utf-8?q?W0h8FCcA+Udi9SlNKrRH0/qWEwk+w3QGqbSuyCRed1jHapGDuW1Jt+Usr6qOatzzp?= =?utf-8?q?PNCJD6CWMqU/YHob03FUPARBYU8wdlwlOD72MrJE7fM8AFJoACW9A50qN5FLDwTLB?= =?utf-8?q?9qYG3jNrxFCq4keooU9WmxaTVhkhOIANkH22Lkhkede/UVtc7tiZzSkmqzZdbjWRw?= =?utf-8?q?e6eYB9APb5T2+v2hpnOuKMuP5X9yvL8MRC8v/+hfhr8UUvx0bCexIHF6wpI/bVVKo?= =?utf-8?q?C5wkmH8vf48CFZh8VYB3sbrNKP4AAs3Vn3t9zZlf2KOnB4SbGLBiGhuSWMF8246AP?= =?utf-8?q?Szil5xO5VLHVNdGcjYI101CZ6HSCHjXfBOcgTMHWhJGSnw3lf9Gpq+Gu8Emup0d/y?= =?utf-8?q?k2PpAx8voHGgFNnZqEOdHoTmgkqFX8HCiAdXMH9POBk6CmoQkMUn8qKszhW/kXMcK?= =?utf-8?q?fsB5hvnzfDZKcPSARVn/tS0Y6+xKIF5SVbZcWvKRYGGNnFsWD5qNWMWKGQiQ0OT2j?= =?utf-8?q?Z+J5tcRjuDDyHPo+hhtTg6tFS6t3uuUM6Va8o4U1iydiw+sM0GRrtuSvvxKYvUuRs?= =?utf-8?q?1X835stGS6BRzjreS6oVmlqZRZsemfvgyOCyYQWJrFdY/EU4OM2Bx7a5K/aJKQpNu?= =?utf-8?q?fcJ7H7YfJgiU1to5yw90bxHDeDS0E6Gp8nwpSyziGC36kOpYbVoTCw+gsFsQTvha/?= =?utf-8?q?1Q175p/Qz8pCHzGNcnVWHv19S60sAzFuSnsT+nxe0MbMZb170Oe0U15g9cRVscu53?= =?utf-8?q?duNuZldmVbmnOT1IK6Zk8mT4eIYkVo2eKghbKSKEFCESlK29ptk+x8qhw4IE2tWUp?= =?utf-8?q?bvDs/qRUFM2JZLKU+RGn9coJ7ZQNHTYIT9qs6NTjdbwpsZT0kt1GwSsgkTE3R5CbU?= =?utf-8?q?RUt92kVRUkN+qME5j7jm9ra9RD2tEiSRjHrGJn5JwMuC3DyKIEFbkNKnSgqaWuW2G?= =?utf-8?q?cuDl09Qem86I05ncB8kL7BDeYnlRbilSXzpwtrXt8Jkh7vk/T54uXvdvj+anRJSQg?= =?utf-8?q?epvMOj4xwKGXzEhbJQ+YffvDwAYrLJXFBBiDqG5fs2s+z+v/tAip8O4t132Sx27uy?= =?utf-8?q?bbdDtw44GFaXqLLfjhz9Jk0Gk+2gDQXVDZhJht5Ny94GWyIFVp1SjIzNCv59yfbY7?= =?utf-8?q?swuHp6pUa3uQYYWkgV7RidLcUl8zPVEXm+TnO4WCw4vlFlrTR1RP7ts9ERQe8VJW4?= =?utf-8?q?w9fowwB2x8ZdVcN6IRgrNjXst4vMxPSKUiQOq+JzdKcwMH5P8tFQoyUZrtST+eHrq?= =?utf-8?q?u4J1Z1kGu2p/jcUTmHiXBKtCCKENKDnxGffF5A9EFuYR3Ft4dF7XeMTzWdHbzL+Q6?= =?utf-8?q?PU/88SsvPdDW6yUHo5oq9kgKxYmQV1RAGOIz8lKrQ29PCWbqnCZhYBveL9LGHHPna?= =?utf-8?q?Kme0Kr0bktAV0rJZ79GeVb4dDFDr4j0QJAUr9DiTdFmVorHX1sQTBxSAoHNm3zP4Y?= =?utf-8?q?163ly7WQSWe1IuzQgamPylOn6UectdfcdmKamoPqdPNJY6QmKrLD22i913h4WM4Yl?= =?utf-8?q?vvc8AoIHApaI?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 021f3305-3919-4ac9-6141-08dd4ad18f8d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:27.4528 (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: 2XFaU1cDc8ROXj9inhACXjNg6HtQOvNGeqRpCyMxaKMOyrYKomL+OZk0q5W75DKMhXARwMdLPYLmQrJV0IQh7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112330_887560_D10AD686 X-CRM114-Status: GOOD ( 15.44 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add three registers: PCIE_ENDPOINT_TEST_DB_BAR, PCIE_ENDPOINT_TEST_DB_ADDR, and PCIE_ENDPOINT_TEST_DB_DATA. Trigger the doorbell by writing data from PCI_ENDPOINT_TEST_DB_DATA to the address provided by PCI_ENDPOINT_TEST_DB_OFFSET and wait for endpoint feedback. Add two command to COMMAND_ENABLE_DOORBELL and COMMAND_DISABLE_DOORBELL to enable EP side's doorbell support and avoid compatible problem, which host side driver miss-match with endpoint side function driver. See below table: Host side new driver Host side old driver EP: new driver S F EP: old driver F F S: If EP side support MSI, 'pci_endpoint_test -f pcie_ep_doorbell' return success. If EP side doesn't support MSI, the same to 'F'. F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as usual. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- change from v14 to v15 - none Change from v13 to v14 - update to use pci_endpoint_test -f pcie_ep_doorbell - change ioctrl id to fix conflict Change from v9 to v13 - none Change from v8 to v9 - change PCITEST_DOORBELL to 0xa Change form v6 to v8 - none Change from v5 to v6 - %s/PCI_ENDPOINT_TEST_DB_ADDR/PCI_ENDPOINT_TEST_DB_OFFSET/g Change from v4 to v5 - remove unused varible - add irq_type at pci_endpoint_test_doorbell(); change from v3 to v4 - Add COMMAND_ENABLE_DOORBELL and COMMAND_DISABLE_DOORBELL. - Remove new DID requirement. --- drivers/misc/pci_endpoint_test.c | 81 ++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/pcitest.h | 1 + 2 files changed, 82 insertions(+) diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c index d5ac71a493865..7ac021bcc7152 100644 --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -42,6 +42,8 @@ #define COMMAND_READ BIT(3) #define COMMAND_WRITE BIT(4) #define COMMAND_COPY BIT(5) +#define COMMAND_ENABLE_DOORBELL BIT(6) +#define COMMAND_DISABLE_DOORBELL BIT(7) #define PCI_ENDPOINT_TEST_STATUS 0x8 #define STATUS_READ_SUCCESS BIT(0) @@ -53,6 +55,11 @@ #define STATUS_IRQ_RAISED BIT(6) #define STATUS_SRC_ADDR_INVALID BIT(7) #define STATUS_DST_ADDR_INVALID BIT(8) +#define STATUS_DOORBELL_SUCCESS BIT(9) +#define STATUS_DOORBELL_ENABLE_SUCCESS BIT(10) +#define STATUS_DOORBELL_ENABLE_FAIL BIT(11) +#define STATUS_DOORBELL_DISABLE_SUCCESS BIT(12) +#define STATUS_DOORBELL_DISABLE_FAIL BIT(13) #define PCI_ENDPOINT_TEST_LOWER_SRC_ADDR 0x0c #define PCI_ENDPOINT_TEST_UPPER_SRC_ADDR 0x10 @@ -67,11 +74,16 @@ #define PCI_ENDPOINT_TEST_IRQ_NUMBER 0x28 #define PCI_ENDPOINT_TEST_FLAGS 0x2c + #define FLAG_USE_DMA BIT(0) #define PCI_ENDPOINT_TEST_CAPS 0x30 #define CAP_UNALIGNED_ACCESS BIT(0) +#define PCI_ENDPOINT_TEST_DB_BAR 0x34 +#define PCI_ENDPOINT_TEST_DB_OFFSET 0x38 +#define PCI_ENDPOINT_TEST_DB_DATA 0x3c + #define PCI_DEVICE_ID_TI_AM654 0xb00c #define PCI_DEVICE_ID_TI_J7200 0xb00f #define PCI_DEVICE_ID_TI_AM64 0xb010 @@ -111,6 +123,7 @@ enum pci_barno { BAR_3, BAR_4, BAR_5, + NO_BAR = -1, }; struct pci_endpoint_test { @@ -829,6 +842,71 @@ static int pci_endpoint_test_set_irq(struct pci_endpoint_test *test, return 0; } +static int pci_endpoint_test_doorbell(struct pci_endpoint_test *test) +{ + struct pci_dev *pdev = test->pdev; + struct device *dev = &pdev->dev; + int irq_type = test->irq_type; + enum pci_barno bar; + u32 data, status; + u32 addr; + + if (irq_type < IRQ_TYPE_INTX || irq_type > IRQ_TYPE_MSIX) { + dev_err(dev, "Invalid IRQ type option\n"); + return -EINVAL; + } + + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_IRQ_TYPE, irq_type); + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_IRQ_NUMBER, 1); + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_COMMAND, + COMMAND_ENABLE_DOORBELL); + + wait_for_completion_timeout(&test->irq_raised, msecs_to_jiffies(1000)); + + status = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_STATUS); + if (status & STATUS_DOORBELL_ENABLE_FAIL) { + dev_err(dev, "Failed to enable doorbell\n"); + return -EINVAL; + } + + data = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_DB_DATA); + addr = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_DB_OFFSET); + bar = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_DB_BAR); + + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_IRQ_TYPE, irq_type); + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_IRQ_NUMBER, 1); + + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_STATUS, 0); + + bar = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_DB_BAR); + + writel(data, test->bar[bar] + addr); + + wait_for_completion_timeout(&test->irq_raised, msecs_to_jiffies(1000)); + + status = pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_STATUS); + + if (!(status & STATUS_DOORBELL_SUCCESS)) + dev_err(dev, "Endpoint have not received Doorbell\n"); + + pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_COMMAND, + COMMAND_DISABLE_DOORBELL); + + wait_for_completion_timeout(&test->irq_raised, msecs_to_jiffies(1000)); + + status |= pci_endpoint_test_readl(test, PCI_ENDPOINT_TEST_STATUS); + + if (status & STATUS_DOORBELL_DISABLE_FAIL) { + dev_err(dev, "Failed to disable doorbell\n"); + return -EINVAL; + } + + if (!(status & STATUS_DOORBELL_SUCCESS)) + return -EINVAL; + + return 0; +} + static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { @@ -879,6 +957,9 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, case PCITEST_CLEAR_IRQ: ret = pci_endpoint_test_clear_irq(test); break; + case PCITEST_DOORBELL: + ret = pci_endpoint_test_doorbell(test); + break; } ret: diff --git a/include/uapi/linux/pcitest.h b/include/uapi/linux/pcitest.h index acd261f498666..80f4c0e05679b 100644 --- a/include/uapi/linux/pcitest.h +++ b/include/uapi/linux/pcitest.h @@ -21,6 +21,7 @@ #define PCITEST_SET_IRQTYPE _IOW('P', 0x8, int) #define PCITEST_GET_IRQTYPE _IO('P', 0x9) #define PCITEST_BARS _IO('P', 0xa) +#define PCITEST_DOORBELL _IO('P', 0xb) #define PCITEST_CLEAR_IRQ _IO('P', 0x10) #define PCITEST_FLAGS_USE_DMA 0x00000001 From patchwork Tue Feb 11 19:22:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970579 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 EB887C0219B for ; Tue, 11 Feb 2025 19:42: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:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=q449xgBpoiwReMJbT90O0SoQaf3VqYQx5tR0JWQICBI=; b=k1lXCjlIdpiLY3xymUhQ4iLH0Q RgvmLlVB1NIoEBqL2p1V8Ibp2ULtUF/27RKcH4LgSIJPJRT8ZBI/6JxzC3uLQNWMUVWIvOWDXfMl4 QDUhEY0PvDPHF8QdisjcHaP9gT5arv2NSD3rutRPxEGhVLByA7zxNZLUADyxecVOibJRws/tdY9Xe BrmNlMh2+0E0e7qx+LY3T4Tu/5/+t0EIv7l/YKpT4QRHByo/k7uxV0vci8DryDb60WrbR96RkMvue VKGOau5PEHHBF2WfAhSpLHfOfePwqhOqVTWkjy0jdhq8OX+rukr+KlRaT9lUakPwOi+D9PMn7IUCo 5XnxJcSg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thw9O-000000054Ya-2LNa; Tue, 11 Feb 2025 19:42:30 +0000 Received: from mail-am7eur03on20615.outbound.protection.outlook.com ([2a01:111:f403:260e::615] helo=EUR03-AM7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvr8-00000004zwk-0hdz for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uvwfwd9Isf4nf3Whf+qqERz2JdmIF9QCn9azQGAFdxbfivdyc9jykQM/bPthntydYyWaXqAlRwFlWCZkmkpkwkPUc6ujtUaSsLJqd52igpXw7jDMDx3hjdeo03PBFV1AeM+UhByZIQAD8h2IXSlAhEBFTeRWJPw14Cr511GeEa+1MRO4WWAH640npM0m4egyv7cdfQ7ppI/jjQWgUqeAvV+rq1Qi3rQN47Nt9/W21Pd8/+q9efZkrmklGDYK/YzB8xW6q3N7q0flplzcz5NVIraBU1/sU4sd9K1h7avlypB8BWG6fqBoVpg7QXaKPktb4VjXoABGgzbUH4/3WUqy4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=q449xgBpoiwReMJbT90O0SoQaf3VqYQx5tR0JWQICBI=; b=ojfyNo5aDHsbfmJwqAF/J03WujacHEm6t+AD8hNoI8rph927y8MdowSCIgAIP9SGecIMka+fpd3wNKsULAr0EVQsCW0x4OiN264CqB80cdK4z0AOYrf0hb+zypjgwmw7NkVYMdZJkQF0owudTBCcXSmOpOfbtiez3ZrEGq0kTNAT1bt6UH4f91jIdX+W+Y5IpX9OYO235iy8ZmiS7GSA9d3aR6nKaxz8sFNyZcIz8Y+tRbgtQ2gdsitGjMWqXcQeE9py9OcQtlo7VhMKRtR3G+efNOrn4jKR5KhsOCGsZ00lHPka1FT+HQOMlwlXNeqIG7Zo+myiNt6eU9bgmS0NrQ== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q449xgBpoiwReMJbT90O0SoQaf3VqYQx5tR0JWQICBI=; b=QvpsvuUOR/cqlLXdQSYkzbzuXTvNOdXDrXv6RR32rqqSXUDW1lEuAFN+IjMj8qI7GMYlUyszpiUJWSroHn7Oxr4TpczGS48u+s3yz3EV2hUjyVukiKkJnJ2MuhbuvMdkP6W0vwVIQ9OBUOnwcx0SLUi1V7ba+1GJPdh6zxrOKruS8IYzom2i3BP9tlb4DMxXaoMmLgm9kenmO82pZ2niAkAuPteH64FJ4DAM9fD/ECcKlNDYEgESGCrfQdNJc6mvuMdzLv7oldu3mYnKj+0jS2cdZJUGMrf8CFuw6fGlPZET/AwVLi2iE5SixEJDuyCDUY+2OgO2cXEv/6CLnEZmVg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:23:35 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:34 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:04 -0500 Subject: [PATCH v15 11/15] selftests: pci_endpoint: Add doorbell test case Message-Id: <20250211-ep-msi-v15-11-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1168; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=dwA02TIh5o4yYij52lz6L+8x3KIMABUE/BqUfLVg4B4=; b=KbpXM/stwLwBzsopNbtHzg6np9YGDszyZyffRiwIPkemDYrs27Ox+OB7Zl02HW2w2SzbLmUtb GwMWnJQ5R0PALDBazSA9C46whkABq2mGVTc6s7wlxIKQwLxl0wsacvj X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: 8222c9be-9618-44ed-902e-08dd4ad193f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?7pYlJz7xaiolEmUAJBQGFpi4MSJV9RT?= =?utf-8?q?YjImqVqSded7fZBDiv9q/UzMx9c5ZZZM8fFJIkxCuSclKA1varUN/9gEqmAhGuhBW?= =?utf-8?q?LZ8Xt4mt5mUQ1vmew5mI9h+Rt3AixGYpTt4RMZpM3Lxea6HjizR7rn6h6q385Ywbk?= =?utf-8?q?LXGnZRzZCfFlq2Cs+g1zIeUab06PArdnzzLjrG4rDg0ynxMC7lDPuLYFNyOWSm3EN?= =?utf-8?q?sjdSJ03nH94lSmj1NDp3hPBJ8pA5e+73fd9JHYEWCMo0wVh/q+/fLj1FgQhVoFslq?= =?utf-8?q?zcB7qQU2myyr5N26fV1+Q4mHfEloSxhcTJVNL4HL+Hg86FsiPkjudOKKpalFBJ2li?= =?utf-8?q?ngZ1XjblJ2k1ahME4kU1YS+vtXgV9EauK1VNnvQguJLMK4RwLs/0iXp+8Wa4awGei?= =?utf-8?q?tenPXS1bb+tr6iwrYPCjyL3xl1KinBfVMKu4ZdSriVKQz5lV6+35ENfXJ2BE2QdN/?= =?utf-8?q?jdhnfXE/bMyL+ZFPJW6e2dYmTIj/r+kvVKgLubaLh5FCdBTbTtr+Tt5dfgdut4PES?= =?utf-8?q?Uck0CF+q/k3UNtTi5qdqKptnoRYw4fnQENrLxI2W4Vi1D/RXTZzB4TW+x5eBqpvlH?= =?utf-8?q?I66UW4+YgYzUHcYp/E3V4ZfTr031QyX2fpVLwalYhBcPWsCmldmB+N2VxZjJtEwbd?= =?utf-8?q?1sfH/WSSvgcb1DRRWNYKSc8gxOxsGAQ1hQnin/8HZnNVoYf6wrKo7GC6nT54HTB6k?= =?utf-8?q?FDYYHFiEV9QRV+7QGpr4umKGUdsrdfCBcOm1PjTymkGCDSWfw8b3SQIcfzKKRdFUR?= =?utf-8?q?RZjLLHu1lpDREJ8TCySCityfrJxP6roanQTMYRyk7z9AHcR4Eslc45iDYKUvh/ooP?= =?utf-8?q?GpCa48zogg2n3Tl8s0R9K97UoHSppymiEbQ4QM3cxssAa9yaYr7H658IksPoFtSGk?= =?utf-8?q?16L0Q5uXJcjYivyTSWotv3elAPCEY9OF6VB5pRgtOz2eb3ylnluCdBTWW64vZyswq?= =?utf-8?q?I80DxSEykEgQee3OyyZVvnua5xcfop/kuQbk3zDk2fHmt/IudAkeoA4MzeYOF+CMo?= =?utf-8?q?FA+jAKS25mbjjEwCX+6x/5V13kO0LBkEy6RXsL+WUkGdzLgaE8TQEoI6HU1LcR72Z?= =?utf-8?q?Z2C5FH+T+Qzu7+M6shkiXGyKNmvM9vjzdlKa7wd5Pu3YgPM1ZY7cziZnUBQtCY6pM?= =?utf-8?q?SG6i+oqQjkUmoIdqBUYjrIwRz0Z7VmHetoog7Mrcu1Z8ZUbs0MrahD4g/Ww0kbvFp?= =?utf-8?q?qppKsndwFQeJkiB7VzAkzXUQczUpkKlBKYEVVu+SyluvuMQA2BHIbWuRylav2uyuu?= =?utf-8?q?jOvTkLFkZIvy+4Yy7tQk5onZMXyho5+UUx1WFd8DoIi/qRiCO6PE46hvYVChB1cfi?= =?utf-8?q?hS2V1ZSHotU3+HdSBan+bB+32FzXXspp2moEm9SBLeiKJwWxWzy6mIqb9aBBzM/YR?= =?utf-8?q?pXbeGq9ZUkD4o+EXTEjlJSm9xCKHsodCQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hz0Npf3dB8vzMLl2V9oFfTkxFpmv?= =?utf-8?q?SejR5j7M/q6z7HYSUBRMAwOxL0h1g/z/F+m+qhLtlBB+ZUtVMMKDljGxMvMyjZs0S?= =?utf-8?q?vD244wWOjBJZ9btraa9ezCfjrPmz8J61yeOQEnuUV3SEjYAXXz86dto0Zb7xq8/Vs?= =?utf-8?q?dbom4GTsphmiL5RROifg4G8eR4r0jOyEo5Gs2vXLdnoBK8AjRJS1kcbOj15HYJ5xs?= =?utf-8?q?uzdb4QqVHitGx4v9DtTj8AnHsV7d7zavEUxHotHQ68jPi0hIzGoGbjf4fSdDD/Zc6?= =?utf-8?q?rmYSJJiDFFlw8aMiUxZ5MdqB5YQV9sQg+PTCP5ixSZwp3xhljWXApVlzzvXWKOA+D?= =?utf-8?q?tcrqzvqUvwxInweO+FI0nPXyg6jigdhSOt/TOwYV16OAmnhmTapR/9xlADllS/EyJ?= =?utf-8?q?lw9leJ1S4dN0ra7byvpfag1hO1yEnAgsHSc+KxFooZxtNTY+pI2X8hs6G07L3jOBS?= =?utf-8?q?qUx2HECLATpLaP7XDHRGtUN9Mu70t7sN4ahgackfDBtA2Fs8ItBRQlcmySLGUd1fi?= =?utf-8?q?2BsZehJi+Wo9qh+KkAkr7p6SDvP39ydO9CQP1oiN7Jv4fSp4/TwZAxJJGYXRcPsLr?= =?utf-8?q?SFSP8GWrcxnrCCm+687UiD1JZJt6WvYGrp+ePUv9r8BrsXAobnpCzHAfWCUGNGOvl?= =?utf-8?q?DLOkCVBlC9i0I+I8TUIIy5F7p5Fn77mKTJNANDj+qk46//Q57IQboA6eDrPL1LIpB?= =?utf-8?q?yiQP4qUn48ise79k4yT/djDWRwsMd9gQ43bNj76+MwzQP3kW7eTLDuHKvbSmAtxOH?= =?utf-8?q?7qC40xhMw/3e4E0m0iXuG3oA1H921zLbbaCGv3BqVzQZZrJqQqWnmd+J5fIyfUEPE?= =?utf-8?q?Evl62Ow99cA22seoGi34aJzCiZHUB/UVSZ61OicQwwqze4oMxlQYjXvKSqz4eWPxV?= =?utf-8?q?obl6I4577xmmBDmtFcXiTWhtVK/MstktKSdFTy29JemDU0SpNGSQ/+K8+OlwHGbU8?= =?utf-8?q?gKfwKwEPg/+KuhT/ZlUpOLFbq/5/OPFxKc+PJahtHrhJAOfcSdJ8X/baX9i2a03jN?= =?utf-8?q?P3oqkoLppAnd/sx/hgQ6rPpnJAwXxf7cEuApHeKDu1oet3ADocMBVKOn9H+QZg4oa?= =?utf-8?q?PFYWmL1TwSVmDEuNC94ujiZDJlBiO/rJZ2gVGCnOZV9U1clHSb1lbqoxX524YUbA6?= =?utf-8?q?hP5MW68s3umoAniqoSBeFuXzS1YaBkztBBO5i0Xq41TA//BHXgN+KrDYGdfcNYI6e?= =?utf-8?q?OPEmoHJq/dLGQ7zkt59JIZMGvY3i9+QtNeVZ/r5UEuwnLTqrUTCY3a9jqqgk1uGKB?= =?utf-8?q?GGmzSAfUjWA+bVgkuWwsnqAEEwWYE4qQ7Nuoth9D2v6ImLBJdeAdOeeQA+4DUzOW6?= =?utf-8?q?Uy3oEkedP30Es79N2MtZNUVpNcvHjREWJlC1lAty5WnhQizcAL/zBa3bBYUUENmun?= =?utf-8?q?TvcJpycjcZWXR9rL9ryHxcMtR8xAxrXtaItGUMQT6X/gIV4h82E32aRjNn7a2yV+V?= =?utf-8?q?UMUhMF/XEWzWCv4zZaRGFl507Rz54yopHwyalh2+TqjAbXEMjZmceyP+v/xQiWPXJ?= =?utf-8?q?iHaFe68g0nfs?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8222c9be-9618-44ed-902e-08dd4ad193f5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:34.8721 (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: CQc0aHrvQwVFwGraL5GCYRDLNKMJtmTkG6w/5CQbr3RNbxjSaS/B9jSzRC+L5q8nR+AZedjyP7tbDvtX0vDp5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112338_211656_6ABC3E28 X-CRM114-Status: UNSURE ( 9.54 ) X-CRM114-Notice: Please train this message. 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add doorbell test case. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - merge to selftests framework --- .../selftests/pci_endpoint/pci_endpoint_test.c | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c b/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c index c267b822c1081..ed14c9fa073f9 100644 --- a/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c +++ b/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c @@ -218,4 +218,29 @@ TEST_F(pci_ep_data_transfer, COPY_TEST) test_size[i]); } } + +FIXTURE(pcie_ep_doorbell) +{ + int fd; +}; + +FIXTURE_SETUP(pcie_ep_doorbell) +{ + self->fd = open(test_device, O_RDWR); + + ASSERT_NE(-1, self->fd) TH_LOG("Can't open PCI Endpoint Test device"); +}; + +FIXTURE_TEARDOWN(pcie_ep_doorbell) +{ + close(self->fd); +}; + +TEST_F(pcie_ep_doorbell, DOORBELL_TEST) +{ + int ret; + + pci_ep_ioctl(PCITEST_DOORBELL, 0); + EXPECT_FALSE(ret) TH_LOG("Test failed for Doorbell\n"); +} TEST_HARNESS_MAIN From patchwork Tue Feb 11 19:22:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970618 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 A1831C0219B for ; Tue, 11 Feb 2025 19:44:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=heJI0gjvgnmhV259tk7QZqcCO0L/eWfnnIJKsXgCA+A=; b=sxeQVZkwvw9PHlwYDedVr7XMIE ItykVO+VFVqFZA6mP8+uQ2fJ3e4qB+Dx8sTtwC3Fx5/nJJWUHaabd902t+HLOBzZYBRYtPCYjcZpJ ALB+n60rXV+ObtEkbTXuQpUptpQHnpgBu4jV6+OCmzu8YSTI1+EAfQ4GMp4XSz6T1lGcy/dAwj6oA Faq/fwXwSWxBg9zNPaq/7sdal0hsE1nIDs5mY5Umh+HaKmIUD+vIfU6R16vzoXvWd2/dkHFGaRQKt 606wJagSir1vmGIV+0GQ8qYU0WCZeyY2eQjPYcIq8wutp6aBMqP1m4fhrPsK8ofpkMuqfbvfTkuY1 OaBpjmIg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thwAm-000000054pR-0ppY; Tue, 11 Feb 2025 19:43:56 +0000 Received: from mail-dbaeur03on20608.outbound.protection.outlook.com ([2a01:111:f403:260d::608] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvrF-00000004zyQ-1leW for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rakR4oRP5p4PAJezcJHJ5Zeog+zNKWLigRVifeeO/uorGbqzyf0KpKCQ+Qe49608QN0ofAaI78u9bsKDDMDHFeclsFcbPkA5FcCfsQVRAroF8nFfiPGYwz8S2bW6A3P9QelSghTJ9LzPrb+FlFGWeyCcpJm1oubFhE408avPe6X5N8eMz7sKN4RmTKbvK22Ek0yQ9AOrR7F9DUtVCZEc4qYv6KrfcD5BFNS4kUtgWU4rt1P9c6CC+4m8JxOfH3WyEQUlWU9GBhy9WvAcgDYIDGWxL7zvgoPQZHy0V9flyCSFiKPU0G3B3Vris5CmAXX1HqoTpDYUe0XhDEyB6msfug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=heJI0gjvgnmhV259tk7QZqcCO0L/eWfnnIJKsXgCA+A=; b=QmHSfFmHBpXcgBeC9EU0/Mm13AsQ8PY1ZlsBvZ6lVVFN3nRZOaztECDIObQyq5YdOvi26SvJcyN2AtJVRw+CXKEKy+pI80QgU6S+epLnFs13bdzC1MBB5/iR8BbPE1wtY1jIbMOZG0692kuBNd3J5sdm67BvenRqBmmWuC5DTCFhn6I7U3U5LfSLaCS8EXtXm0ZpaqNhKbj52GvGzJ73KVtrc/D9vvSTqnQWLGEqC7bssgCCn0IAdRTCmoCNWdcLnJ48kHb1C2EasrBz1MK+NcXagJMUASsSoakT0oaBUM7KhgKhDnMCIxtBu/2tfuRyO2WSkjIVdB4PhjgDSCk3nA== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=heJI0gjvgnmhV259tk7QZqcCO0L/eWfnnIJKsXgCA+A=; b=gNIG2y8OwHbLZU+oPvmmoWDlM97l8F1BUZdLeJVtrXLHuWvz7SuK9tN4rfWPRIsbshXkszJexs/yg3NNnebvp+XylrGKShvRFW0qj6VW2Yb357kqI1PfGGP9++WZ0lw5x3BwSSVefLRFHoy32o2sZql9dkf+G78wV1x93H1b7zjwnVgiRUGLKuYCom/XBYjTNfZOixnJbLcUpt2SGQIFUhUrgWfUujA/87Epvljqy2jdXwnvMWcnZ5fj1JhUAtzXquBGKeJ04+3RPI9dgfZMy8w/qNwD2rcakIFx1MbgclEzsxhpPHiKj6pwcyNi4/1yWK7bItXswjlnOX3NX6MCsA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:23:42 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:42 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:05 -0500 Subject: [PATCH v15 12/15] pci: imx6: Add helper function imx_pcie_add_lut_by_rid() Message-Id: <20250211-ep-msi-v15-12-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1816; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=7pmqEFLHmuAdjphVId9zqY6Dp3yltx1/mobAvWyI4Dk=; b=KNe54F8jrdBsYpiTKquyZPbx5TB0HdgQVDlmvF+YwMK2c9EcqvpfL61drWA5C7JTCn0B21i8c PBpAKE3aQFADXWth+/sH0Y9Y9hWK7Kt6w3cny7v5o8Vo9SDZo+wx738 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: ffb5199b-12ea-44da-0cc1-08dd4ad1985d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?CPQPwnRGgO2mSMDjFohD+xz31Z1q/BZ?= =?utf-8?q?4AgScnekelE5uvwDKAYb9B34ExqFz0MAF1bebdRpiEhZAtZSNlBOCMd/etD5jKITa?= =?utf-8?q?6FWA8z76dGTuuv1qg/JI9eXZnXFwrC8pg4g/cn2IhchIUUSEKjgGTiPy365zpBzoj?= =?utf-8?q?8eCeOv3EnuAJHW9z7NSgLq3VebiNhmi+pIDpFnodwFdbgLJGlfvpBHD5KYdmm/TzH?= =?utf-8?q?QJBaR9IvXDCxfdbbne1mazEBofELJrK1Hb/il6OfrejLL16j7E6xnfWlDLcMSFAjs?= =?utf-8?q?OwRaOEXXlQFM8BRU1tqA6MdpZv1C2GMgO/M58QPv9r5a84bL48V0Hvmk6Q5LoDmJp?= =?utf-8?q?uf9pq4blMc1Tv5Mlgz1lkhfNOoQSyTBwwRiP4fnfzH+7kDyIhIjeVc53cMRAwTiDj?= =?utf-8?q?aThON+aSrvIWvqQWqLZ7/9syQ3RoOzPoTaUFjXh9J227lZ2GkrQJPUvhz8an6IbpW?= =?utf-8?q?YCXR30o0/4X2vNNiXHxkBEuv3ESw8BuQT0bKrYKLYAo7+xbP9wG6yGbxadYJ7TSnb?= =?utf-8?q?Z4jNy9jeyBM2Nn/uq2VBO2fh5G/byl4a0AD16lw4NeUQAZcB18v+sIvWz9OpfcVFy?= =?utf-8?q?7R3HDep/2ywpwCAKfXRfbk1RWwVG/7/L97i/zCXrOiUOkmREmfsWViEvjf0ivCV3t?= =?utf-8?q?EwpNAfU4uGlls7YyHvad05c4YnVYRypHmrxm8AF8+IMu21McexdcR1UUrclNGGJyy?= =?utf-8?q?OJLk6z9tt9fJH2Ma1SZsvTPXU504Ih886EJ3UqSiED9ICSV3AZWs9sKU0UmU7EAFm?= =?utf-8?q?UmX7Oxg3qKoZIlguz4aw0YvamK+a/57O5CzvqiWRsN1G6yPawRsWkdhnWRIiUvCIG?= =?utf-8?q?u9B2QN9Mwq6HGUd8b7iaTdzDiI6G0s5z4exBtUzsQPAI5yC70DW0Z6YNWBgAS1fQ4?= =?utf-8?q?Q8x+0duENxZ8k4QixoQcn2nc8ife/nO9uaWnvkk0+UWlSAr5iWLA9i65tqnEV02Cl?= =?utf-8?q?+UbhYUvRUau79iCd2RA/qUx9ZNbf8+RD6noiIWJ2ImxuJrqtQnMQ7Ujd5BC/iX35O?= =?utf-8?q?Dm7t68nJSHQIfSbh9cv63lkGXsu1h2FRQbR7TfIPHN0INfGGJ8XQCxpuV93pxw4Z5?= =?utf-8?q?PCBoYy6uFIZAEsJh+evMqGQXUnUFhcDw2rGmehBUyYKNCCmJMBEG9CKwMiQK8L/b6?= =?utf-8?q?hSPMQcX4ZEWk7xywUuqw95UI9nnXOLMugv0OTUSeQeuuG0MdzXeD0vyEXms8MHo1i?= =?utf-8?q?UDo4gmKx2rvuYysagRl8gPkPls0cwdrCQgxKImpEeJhupKa8iQz2OVSHXPc97uTZN?= =?utf-8?q?r/X7Jl0/cWh6TNCnSAXUTQIWggh4R0HzOmLQEB0NYjoaB5Hajg/qLF8W4bA0wj4C0?= =?utf-8?q?aPa3uLsc39RvG3KyKKeDRcIxgR/D6xfaWDjZMxAkLrSHtUAShzEtTwtAB2uIi8pSl?= =?utf-8?q?ZnCJIexr1vAFgzYoLQMY9ZMNSCz83Q3WA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?4FfvwOmUfJUO4MWSp1/MsJMgi0Ep?= =?utf-8?q?XxJ+r3l1cfWRfaXpKYvzyW7x+do7dKW23b6HId7O+Zv6u9tomK4k/sDNIzPOfhvGH?= =?utf-8?q?i1B95bCuSCIzsSYlSa8D3OhmF2jgl5sV/1Y8asAn01XDiyj3iFseqFZLcZFQpbie5?= =?utf-8?q?798lEId2bhC0a7XYyBQzXYlx2gTKOPfgAr9so9MMW26/KdV4uuNXzc0XxjHEX5A/e?= =?utf-8?q?b6Fi2kZjAE+06RaKD1r6qRViuiiGVfw9iiPhvmkAIadSO+MElgQBWTi+Zd7oubygV?= =?utf-8?q?XN74PsCw/cIRIqlLuFVnkbST8ImkL+tL5TGe4bJJJsWYP8OndcGKvykkl6J3teBrW?= =?utf-8?q?KJfty7YwwToB9bvBK6jyrKf2DIYoIU1JQ8aaUZf4/Y9ZFHNbdRj340OGXE4Bd6dKE?= =?utf-8?q?RVG8CGnjcVMdt4H4DNxZOGTsPqNHHbe3wZhW1cGQLu7h/Jc1YbbPqHeP7VeXqQBVT?= =?utf-8?q?yBA5fB+QGwP9AdhOfbAUT5jLratC1uIWla9pHVK1Z4T/t+pNUzCNL6G0d9FgABC9T?= =?utf-8?q?EbZ+RxUYKlvcTpdgi7N40HWVmDIAcM0YlZplv/NnBmu9LuZKQ8Zb0Zr8bslfkoAoB?= =?utf-8?q?UVI5WAkJde8bkZvv8p97eXcmFc6KtlQzYQPFSYz20r2gHJJugHhjrnD/N8R7sVtRI?= =?utf-8?q?qIsFfnWQr6my4AP2aZ+R4pZead6hX0fRrD01jVjnfLK7Be/RQ9t2G4cpnrabSv6Fk?= =?utf-8?q?5NOJ1+BeJt8w9njjjL9N5LET8Gxz8JJQP/QkzZQXGdeg73mR1Wh4/rfXrvutsQPXS?= =?utf-8?q?7/fTIcV24svYtYT6UcSNiR15xZKSmvzKn/GPM4p8bxPwkuGIHY4mvg2QmZqaCr2pc?= =?utf-8?q?/ZlwT12zKq7iC+Nhy5p1NnMUUrnMsqoZ6jgC/7VHIoQ5ReJRSSdFfHyLJDURdQC/B?= =?utf-8?q?ssL8aI2zxopZVqvk444+wlNG3eekk1Dys1IFGQqo2hNnaOBUsVTEbAjnv09wUq82f?= =?utf-8?q?lGQ6uWC20sGxU92KovZMHa8OLCdjgnGPWmF1xooCiEpNHwfFNwadcINGFwY+Uu2CB?= =?utf-8?q?y5wrrADM3SCKtM9FfQBCoL2ckS6uPBqI/EpHtWlfgk0Urra+ViEpfA09YBvUIWIZb?= =?utf-8?q?Gorq3rfF76p+V/23h7UAtdmO4PLK7tgfh2WtmbaxF2H8gKj8e25c3nDGtCzbJvF+m?= =?utf-8?q?KIWO0jSFtHuwSsfOvhRRDIDpE1V1Q7ihh7zoGdfMfxQ50LKtsoA6BkZ7tcRBHlP0B?= =?utf-8?q?fnyyuqGqmlYfe7oQcdbacGXEmwgZMt9C8WCsMKZ6PPynd9FHvAHLuUf+2uzlCY7yD?= =?utf-8?q?kG/IU4Fjdvmvk6NrjTpLkJh5eIlWqGQAGbhu4DM+5M3qJNWd7nvhv+bAlY8a/UHfS?= =?utf-8?q?tMvR4jItP754BkJv36nrtGnjnEK56nIxCtYW3I7WxzMnS7b5IVtnGYLX7Xnsyhn7h?= =?utf-8?q?zcQCOPwJXnOJiyMgiISz9503Tyais2yqPgp2JcvLUTXJaOha3TlneKRKViU6526Wg?= =?utf-8?q?HeUoINMAPwv2nzvWu6OI8dJIhykRP/7wTyKvCZ+LaTUyRDPmua12MyC2gErUvqXEy?= =?utf-8?q?qtRoOZjZpscM?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ffb5199b-12ea-44da-0cc1-08dd4ad1985d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:42.2483 (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: WGdVlPYNVRlQib04xwVxe8k9JaaEyHkEXx7ezjcIfMglAa2gk0osxyCDXp/u8/ctZJ+Tm/fsghV6AI4HPtPw6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112345_466348_46294878 X-CRM114-Status: GOOD ( 13.52 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add helper function imx_pcie_add_lut_by_rid(), which will be used for Endpoint mode in the future. No functional change. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - new patch --- drivers/pci/controller/dwc/pci-imx6.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 90ace941090f9..e20d91988c718 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1028,18 +1028,14 @@ static void imx_pcie_remove_lut(struct imx_pcie *imx_pcie, u16 rid) } } -static int imx_pcie_enable_device(struct pci_host_bridge *bridge, - struct pci_dev *pdev) +static int imx_pcie_add_lut_by_rid(struct imx_pcie *imx_pcie, u32 rid) { - struct imx_pcie *imx_pcie = to_imx_pcie(to_dw_pcie_from_pp(bridge->sysdata)); - u32 sid_i, sid_m, rid = pci_dev_id(pdev); + struct device *dev = imx_pcie->pci->dev; struct device_node *target; - struct device *dev; + u32 sid_i, sid_m; int err_i, err_m; u32 sid = 0; - dev = imx_pcie->pci->dev; - target = NULL; err_i = of_map_id(dev->of_node, rid, "iommu-map", "iommu-map-mask", &target, &sid_i); @@ -1114,6 +1110,13 @@ static int imx_pcie_enable_device(struct pci_host_bridge *bridge, return imx_pcie_add_lut(imx_pcie, rid, sid); } +static int imx_pcie_enable_device(struct pci_host_bridge *bridge, struct pci_dev *pdev) +{ + struct imx_pcie *imx_pcie = to_imx_pcie(to_dw_pcie_from_pp(bridge->sysdata)); + + return imx_pcie_add_lut_by_rid(imx_pcie, pci_dev_id(pdev)); +} + static void imx_pcie_disable_device(struct pci_host_bridge *bridge, struct pci_dev *pdev) { From patchwork Tue Feb 11 19:22:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970684 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 42CE3C021A1 for ; Tue, 11 Feb 2025 20:56:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IaqiL723p30GuEXndHKFCNUemmHlnG1W3Hy1qscAf4Q=; b=EVdzijbFjYvrnKxRErp/UJBoaL 2HsY5xrNQ39bPIS0PYW3nNwrhciPqnwx2MI4ewXB44qg+u0622wVKragKOTjfw5p9ZfESwGbpJJaj 6/C8n6IudUlns4PjIiJYyLok9QqGygz8vmgvD7v19WU1Y/mLUvqhIwN2k6Ydlcvk+QfGKp+78srJ/ 2ewv9w9MJpGTPXLPDP/QL2n/+ePiQnjV/1WXlKVsmj74ywLPtXUdGDTsZiq8XSysO+0YLtQ+Xsqeu zqyKPKW1ZQA20KOTE18kN0derFpZe85RcYOl5rIpAWOvpp9OOHDZFFDjgS4/TNdg2YKcBhAM7h3mL RQvBTFEg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thxIW-00000005G4r-01DX; Tue, 11 Feb 2025 20:56:00 +0000 Received: from mail-dbaeur03on20623.outbound.protection.outlook.com ([2a01:111:f403:260d::623] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvrM-0000000501F-0oVX for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:23:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bQ6Wnb7piScLcVrf2Gewd2BThrXjZVcAHyUmhV2QyZTfAP6jQtd/PnBj/w9D5nY1pv2yzgrWU6j2fqVyrqCXO1TwIDOvZWIAdZy2d1X7a8HyReespqx4G/cu8Zlylyml5uShXws1vGYfatFPOT70gimaTphueZQB0QpcvrRtU6mqmTl8uJu8YPeTj/bQuDpKX4e9Zz6dL0iKQCp0P8vc8AMbMajCVgY/zyRF8LCpCWZemsnSMw+2cRyRxGNGy5egPatIuykhnboAVYmMOeDncwdtyHoa3EG0X/5xEaCkKpFGmNdHHJmmCxEjMDJ3FoNSeCiccj/XmY0GMz72LwVZtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=IaqiL723p30GuEXndHKFCNUemmHlnG1W3Hy1qscAf4Q=; b=DGmFTQPkfN/5prgoH6anjn5t+RaKwiDvzG9Q9H76wMBqwRGo7Y1KgV3bC5mi/ZYJYgTvyQCqCWO6tR9oQAF4bTtvyhyWisccjfXNwjzrKpiSetihZp6++yoW+xbc02yYShoWZDjGRskFg/1Ywcjx/6aZtFffFynefskMtn8OKQYUHVeq6Vn1AoVGZ5EN/7iqiOdhfdSGcwvcqjDsvC4REF7AWpg/C4DEy6ZX9beNL+O2C6t7b43VBbOhbIpPpzpbesGm9xbw/ViSXlo0jWVF9Daa6qafkl7gLNioR+1gro6IeDihYOlPQRijCw8a8ht8EQn64/dpU+iUXeo7LtNsmQ== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IaqiL723p30GuEXndHKFCNUemmHlnG1W3Hy1qscAf4Q=; b=mXZxEF0yt+dhN8SmB+Vk6ETKFbYu8zOkBEVuerXTbeVF6RuWlbnVWbMXsh2cb8l+gxAPdhKjUc8hDxJIa+Lkg7xZykFnVkwM+Z0CRWGuCvOw/vO79WTC70ZIjFf2Wd/VxW6eenazZUDmxzdxRq9y7yDn0gb4/PA2xw+hx8jKOGcRfoyU0GfIe2pGoCtKv7P3qGQuOmWwR87WBxEmd7t3zaV32hGFF66buWewodcL8RnbSBX6GwfeUeuU0Vh/AzaR4fiIb915T+Yw9+RN+uYQ/M8hKsL38+By2s7IBpXDjjp+U88VpkAEwtA+5Zi2C5jvTx5q5Q4sb+1dJZqH4BHUoA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:23:49 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:49 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:06 -0500 Subject: [PATCH v15 13/15] pci: imx6: Add LUT setting for MSI/IOMMU in Endpoint mode Message-Id: <20250211-ep-msi-v15-13-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1486; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=/Am32Cb4LR9m5sdE8hZXjCLAvZmQBoGFz0xYkefhaso=; b=IExdP3F/6T0Ilshr1UkOkXPzMpUBcPI4JkzpmE+pZFJrbNjO/SSXTyMmHIckuhYRaygKXjPRQ 4rjVJ3L/lmUAi9BYmWtYbirREplfxGK/bGufeHXedJAoBoNvk2yKei4 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: fbe69a3e-c4e1-45b9-202c-08dd4ad19cbd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?yp/qhb5ZfmdAHnNOiJoC0eJx576uw6o?= =?utf-8?q?NYBWN0sKFfsExVYAG5bfjJQ1gYuCyAkUeUlmUP8fWaRiuYRmdgjHd2x40Kd7ORn6E?= =?utf-8?q?oILVSVCqLL/KSn68T5V6wtu2+nUml7+OBSqrECSrO1mwnp4Wjzk7hxepu6NyMUPkK?= =?utf-8?q?T0D9BzaSJ5gEijJHx8Wp3p6gsSEecpKSA8t2X3A/x1as59lVZOMym0V2CfMD500vg?= =?utf-8?q?d2yXJKBSMPAVYq7XvqF6A1e9uX8Jf6MV3s5UX0ZEHKEhaTpi8Oy94COZ3KyCLRv7Y?= =?utf-8?q?vsabGs3yWArGhBIvjfYwE+vrbfetiUOr4Wyroe/JJd/fd9JgXANj1KxEnwXjdIolU?= =?utf-8?q?VbwWcAUIUNhuavK2aHMS+kFHnIwYppcg8vyc/NQVLZgL9lcobN8GNLyKLE+9p6/jB?= =?utf-8?q?dYdq6aoJjdVmv9LVYoKj/5hi3Q8PiEdImQhJpBsCOzjMwxKPtO7yo5+r4DArN3sis?= =?utf-8?q?BM47jjQE2J2RcslNI6p50ExSV7qI1Ol5sq7Whp9nfqxBFISlHp5Z/IkTbXqEK9xdl?= =?utf-8?q?GODAenaKgyurOuflcPVEww/sy/quw7FhyKUZCzIU21VP6e/jLGdtQTBBOHTkTGA4l?= =?utf-8?q?yeARKtB5LloasE4NEM9VQuIgPG51zvF0TzTdn0h1x2LdWsFhGV1CG4nhh6XNr+slL?= =?utf-8?q?JYkk5/Ey4gIkCIpIKcQeEN4a1nFtIX1exeRqYuVKT5x8+GryrfCeKGxZVZP/1wnxl?= =?utf-8?q?Ny5Wz3/qUMCpWrR6zpnLIqIF6Kx5sFHoj03R+Icu2M8dYJT4sY1N1vBRpmltf/wqm?= =?utf-8?q?+2WfWujURAzz2pAsF6zChBQNHGO4tFqxrgT2BCn7/mly26bnHFWD//da5z/uICQrS?= =?utf-8?q?OwjwVCsZbYegtNeblZQGBi0s+s0i49VoBu6xfggs94ekh2KAVaWUOpQp+CQJZsNZw?= =?utf-8?q?sfaIFLP5pm1b1GTC6F0/TaZAdvvQMuBfk0uCMCyILu4suUw2I5VatgFlnA5YWAuTv?= =?utf-8?q?nq4wG5jA8CaEVzdA9gQ/XC+YGP0r7P6uBnwgQiGDOGzdhsvBa5jf/b2Xjszumb6xT?= =?utf-8?q?VpTN4mcbkInZkZTatRvDHRf+amQisWCcTwcktmDE0J8tQQS41aZNq/xC0tsafk+nt?= =?utf-8?q?TwKk2IfltMZZveyI3SIozY0SSC5kXOJ0w/UHFKKpFKbo4aeFxcFgXbDUWe+NsNHn1?= =?utf-8?q?0QenDRz7UhPMBKmpHCbGoeneWuoc4fcuZwPgIa84dkjuOkf7O2hLUBzCUULq8bj0j?= =?utf-8?q?ZMyGLxGgib6JrlqWSrZtOyt2vgWgkum3hEpEwA3Sydn4jqWviySqsavceCQRgYjyh?= =?utf-8?q?9Ixcval9w3gVk3ONnFrJ1ZP9esnefS3kDApIsC6aQZIn/6zrIjcKeyqG/yZdc6NC/?= =?utf-8?q?fZFfRFNvuH0g97yXFMcUsTZrw/KxEMfPaYQuo7tVHfraviOo37EtoGsLayzLV44he?= =?utf-8?q?2jRHHk9KX2U+k4o/65FS3lRW/RcUY2BvQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?qrvzD8/GaH1wSXWd6n67rvz9zif7?= =?utf-8?q?Teb41HwtfC0RW80OuA6NAy3Ln+a0GAhxgxycQvLXvV8kAOPtWVu1tfA5Vg81z8Vt7?= =?utf-8?q?oo2zeYpJjxPtZdwCOtKmMyNLlpviQ7qQvHkgwUIeKsHaODv4hotc5HXxd5MQ7wNM3?= =?utf-8?q?ZMimdS3cVCMf7SC7gZj4qQmrqdRmSJO8uHg180FYm7HU3CB0i96zPKeB85u7gEtyT?= =?utf-8?q?0oTRXy+X/kCRpDAPT3sQTjSQDcX6HKV0K+1NrM5gDM1amUrNSZddbtcnPe033ywF4?= =?utf-8?q?o0HkPPmAYb+fNyuxMdczvrtML6I8Gc6yvwcrHHCtzK4JtKOH1vMtfMBQpUt9kJZeM?= =?utf-8?q?hb1eoTUyOMR91KBmxETmqEQ/ttXrNxOrT5mQ2+aQTlsTL07Oq+75EXd1R+AfhW/Mr?= =?utf-8?q?+raq8CcQOnzv19Q0PvGDioANZhtuu6sukxUX7wis8AF5AsV5r3ep2EvzxaET9G3/A?= =?utf-8?q?P5hinW8HD/so9Z9q8srhPoQRcKMZC6hAsuS7n6iNcTocXTf/EWlSWTEUxMDzzT514?= =?utf-8?q?iAn5jk/kRgrWltj3w8ZqlZ+/Grv+NLnn5vO3DtXzPOB1ysMRhHAihhuBJDddHyDKb?= =?utf-8?q?LZQpzJTwdkV2mFmx4qcpxKtjaWn5b/LPEJwNiWVIu6BChtUmdcn346POGYwgt4jM+?= =?utf-8?q?MsX2gemB5BbQdg33PfhwS8a4d46PzQYUDVxTRSt7Fn6yksDQ/KtizShwHfRyyQ6fn?= =?utf-8?q?1mabvM5FAq+MH5HzdLVUHaeZ3qS62J2R7B9aBekiNSackHLr01xH0hNoTSS2NqkNI?= =?utf-8?q?dM+2HtFMpBEpJyhHkCvSfxsoz9+48v9w3rQhtgbnOhwZZB8vMP9pSOSIyV7ODooJn?= =?utf-8?q?lgp/Sn59w7fp6Qe9h9HQOlRw1pES/1GgfpBpZOrhX+W8Gt+nCe+i9cEM8PGp9BguN?= =?utf-8?q?jAZ48AnUTyAl1kX501HF9eSIRe3WeYJOcZPMM3XM8XJhol3864vA1r3V9Ai1/Xqt7?= =?utf-8?q?MnhwnZWs2d3YKUBQVra7SW30P0RgaWIWJ2mdWrXl6Ewh2UdWSG7KwKPiylaJAcMvP?= =?utf-8?q?/9N7Csjdw17QwxvLgaGt0sR5UWECMYOOrPz2Y57f1hs8nxcGAqf4PIRxx/BLVWCO/?= =?utf-8?q?EF03CZ3b0rZXSWzBsn1/J+1KdyA1XUux39OO3+MNY6FzR89UdV2mMmTOUN42BDn4E?= =?utf-8?q?dszMhBKZZp3j9UcZOKQGpUFAzAuHvyrOoRtd/W1a9GrGDJnmWlqzFMDQqZeeKO2DE?= =?utf-8?q?XbV/9/0mMMid/B72e2n3PeekACRgWFde7EpQ7meaHlHssOa8Q+k8DV4rEKLyU5yWp?= =?utf-8?q?ipIkG4EMdvi+FNuQtBY89b58r4P+dANQJscGTptNa7U2+acVIIH+mETssikvyNUZT?= =?utf-8?q?HhU6j4zM85f+Xw3mfYMscXyV9etyHdLLzI5x1uypvcik5tb2RBuC2W0FYI3ESGxh8?= =?utf-8?q?mJVD3UlGZ6ur+QjlDIW9uKCrfRWTeqfi/MQpcNcqrGL0jiPYhjKLuzskEIKL5Y3ek?= =?utf-8?q?u8BgKGRw0F/rJdPVn3dU2pWe5qVeiTS7NZ9WaamAnCtaPZbs87OSftzuF+RBpJ9bU?= =?utf-8?q?C5TBc90aGxsN?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbe69a3e-c4e1-45b9-202c-08dd4ad19cbd X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:49.5603 (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: Xbtx8an5z92aBF1LUXUw7g6akgzJNEQGsNnGUAzdejGyCtRWFF1SrrmwftaoxiPndbkLvCkvcUlfDZTcCNrGNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112352_236854_69A6EA4C X-CRM114-Status: GOOD ( 15.10 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Support only one physical function, so call imx_pcie_add_lut_by_rid(0) to add a single LUT entry when operating in EP mode. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - new patch --- drivers/pci/controller/dwc/pci-imx6.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index e20d91988c718..adcca3e644332 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -995,7 +995,10 @@ static int imx_pcie_add_lut(struct imx_pcie *imx_pcie, u16 rid, u8 sid) data1 |= IMX95_PE0_LUT_VLD; regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA1, data1); - data2 = IMX95_PE0_LUT_MASK; /* Match all bits of RID */ + if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) + data2 = 0x7; /* EP side's RID from RC, only 'D' is meansful */ + else + data2 = IMX95_PE0_LUT_MASK; /* Match all bits of RID */ data2 |= FIELD_PREP(IMX95_PE0_LUT_REQID, rid); regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA2, data2); @@ -1652,6 +1655,9 @@ static int imx_pcie_probe(struct platform_device *pdev) ret = imx_add_pcie_ep(imx_pcie, pdev); if (ret < 0) return ret; + + /* Only support one physical function */ + imx_pcie_add_lut_by_rid(imx_pcie, 0); } else { pci->pp.use_atu_msg = true; ret = dw_pcie_host_init(&pci->pp); From patchwork Tue Feb 11 19:22:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970619 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 A636EC0219B for ; Tue, 11 Feb 2025 19:46:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=e+LzJPZ7Gi7lAxatOmcc98lvsDhVx9q2XMNbv9qEuKA=; b=XKT4jsLI3p5/jCI/V/TB8+C+1Z wWqsuhqxMIlmGsuGLyJILskhxtpDdZ0ZoapMnPmH/sIYnhsAOuzdOLUveTtu8W00SYdwJVZXTUg9S jM77kAX7EzcLGkJa7Cj3diX3fAFLxhJpuykZh8n6txVPlxKzefZlLYLLzbhiJeECK47hVTVWC8+7t ZHOQz/bsRfxCNB3uPgugoR8+I7aG2p2P1MkRagcd+9+6rumZ+HiwejtEaN7MED+EdeH2iPg8ac/3h fH0tXbxI7UThJQK5qqPrU/C5Da1gPwvxWWJMRxmK9Itbz2E5nm5ZQFeLT4Ce8Htk4r6X+RVdzoUOj 1KhBmRng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thwDW-000000055I6-49f1; Tue, 11 Feb 2025 19:46:46 +0000 Received: from mail-am7eur03on2061f.outbound.protection.outlook.com ([2a01:111:f403:260e::61f] helo=EUR03-AM7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvrU-0000000504C-1BE1 for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:24:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EJ1sKx332zTMZz0e4plGon5QF/vV2a07NY/XzXBZ4MOCvtvddzSJ2gso8fyOf2aBtmXJyYhy3g7qhds1KJqrHjzKSbrgqEMwDEzq4QdWPLgLyazTc3wzQoHLHyWgoxJ/dKlIx9KgZ4smCn9yxGyxew/n6ROIk57AtXnwR7SBS6y9ZU2f4ZDIaezYewuoOG5EyiGI+/asGQNe3dF4dIh0I9UWAnfDvwcjQn3qjik6ee/Glwr0IPFrbafqV/3z6Ct71ow4llxZJkM1QJtPpdNuX4QwdErqfQA4PWv9AKn/RHU7uZI6zUZX1gRP6OVl4SZimkEYK8V57oqmcrJffpJtaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=e+LzJPZ7Gi7lAxatOmcc98lvsDhVx9q2XMNbv9qEuKA=; b=At5Sssw4CHDrfwnZE3+hhv+cPyTcZ2/NS1c7wZrIwLBgjjPqJXWPEWj/V7IbhlUeqSDJLbcYlqtvvPlFUJ34VhSgASYJb71LOale1gUl3D4yWeiYgHYJ9hCoX0l9pzAdjV1nTq/m/5g6AND9jpa0YOKaBt1ydCIk8T19H562fVK/JEnicoQqvRLufOXCy11RbnV/TxT1C0wv/UYGhlk3XG3/4CbkuDTEcazotjTwY/mgqqg50kjH4uYWnUHocQlb5dwdJduxcuCNCXsidOnkDHlT7Tc8RkZEqfB8MTcz3UsEounSv+9lMKx7xmobVE9fOXKF5USOP0LdsKY3TJLefQ== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e+LzJPZ7Gi7lAxatOmcc98lvsDhVx9q2XMNbv9qEuKA=; b=l6x9Oe/lDO9JoNiLAmHqoTZY4KRvbG+8YdlgFxtz7a+QweX8aYH1CoqXiyMyrqxfLOgicSk3kQa480wGqkG84HYTwmv530ekMPSKr0aC4IhW5Vni5G4N2XoYlxs702U4soRKasQ3sbrJ3WEBuDFv8ja+qiqOa268Qo9uUiwYGduZIOazNBVenZQtB7JcCQZQttbYWqXDs4EQBdXyxBLGe81TRMT8sd/52tAE78TALHEo09JOJVNSNaJ1LPTzSymgbTPao7gK9QYnCo6gPrJfGL81yVzyc4GHvMXZPpvbDRvr/uYlrqCNj1ifOYBazdGFL77ILbIJv3JqMWhrUNC5Mw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:23:57 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:23:57 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:07 -0500 Subject: [PATCH v15 14/15] arm64: dts: imx95: Add msi-map for pci-ep device Message-Id: <20250211-ep-msi-v15-14-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=827; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=lCL6z6y8CVHebkwmpyotf4ntH6iD+kZXtq/tGQQG+8w=; b=sfW6AQBb2HQ2oEa5MR6KhcXy6sZ7o9IzY/NljbUL6bfMX840IU6hmYU3ZEx7V6YNHMfWRU7Bd 0otqu/AEEsJCEUBB5hLb1+CLl53sEfDygg8pdbhURcP3mCiEA1ZqMpP X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: a631130f-0f9c-42ae-9088-08dd4ad1a119 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?OoPnBlnwAy72jC18TP2pJmi96flF4yq?= =?utf-8?q?OWIqaVSXuUCEmt3eiisQUkNJdBygYy5sdUV5I0IxKGt882NJXRKR1Zu3W3es21SUq?= =?utf-8?q?OPsO18eRfTixI2bq3d8BgNs31g+atViQ6JGjMeINdFQ577CkzieHc/S+lFtR0fOMq?= =?utf-8?q?qvwdP/ROgCIjQj1cbRZ6JtskQ115Pjp1XI8UZbq2zJ9lda9gr/hzjU9Wq14PJb7yM?= =?utf-8?q?lJI9b2rvviBYI9kTQ0kcLaOSqe1Hu/frTGWRuQnqrieNBHCiSAjfINiGNjSXOb7JS?= =?utf-8?q?UZsziJeGcA1mPRgyeRsgnqDDzyfr+8/4zZYXEqa//sJq1O17PAQgkBiSi5/w5BwDZ?= =?utf-8?q?9PqHJ4Xagc6J/FwXYEj5pWWRL5NXBwcN/VVT1nGGw5QEbcFKweOQupkTFSjthYf1b?= =?utf-8?q?uBfGMgQn1iNyjWcIZd9PiD1WG5I2+083Pek1VB5pW4xLlxdg1FdwBGsxx5AXlhwU4?= =?utf-8?q?gsd/H1Fsym38zstLt6S73hbpuS2y2A4BaRK3OlNEP8t9UYwq21Of/LWK3m1OnK37Q?= =?utf-8?q?ctchaYw/jK5Zs64YbEVEd6ZRdrky2291JHunt01jwj7IZNr00gszldxdLA8ea9FWW?= =?utf-8?q?kYLoSpP/S55Lb+dTRnRJXCUkRzaaRP2c8J/p04tSums7a2CJnsH50Zr8k2VlVa/Dq?= =?utf-8?q?tSwD8B0wR1rNUqjNayJb1joomh02XLtEGAZlBAAA6imVPU+/iQb032K9ivZ6z+vkg?= =?utf-8?q?N5cDqHtAqVYM5G5f5flQTPvxd1uzS7s7TktFPN6uUAonywYFxCP95xynK1FnLVGVD?= =?utf-8?q?1bDqzYnUrbhwXNoNQMwkK4HjyfAKmnF2juCVG04Bmg4lWeIqB/uoutV2UC2+NLlaj?= =?utf-8?q?X+M8kbBMWYV2wS/AVSqO3h0HHKYFhdGd80jAN2BF2ox3fCUZrrX9rv8eNRosSThzs?= =?utf-8?q?JE98YzGJgZJHIagaaLxyNsTLaxN7eq7P5x2TM2eXtYEDANDYcp0KOmClcxgGpekm8?= =?utf-8?q?MXOyMmdsBntX7hMmT+u4yERH0jMUCpbt/oC+cYAgj9CPtg80q+E3FDbIpwI3fvW+d?= =?utf-8?q?l9Rf5Nmz6BDeKEERoH6Bs3FBlL9gnc1uiJFxB242bbpAhEAEC4Zbm+YNLvoUSkbbQ?= =?utf-8?q?3M3alerhbcpnyY6+BbybHE+QqsCeq+SnydQ384fZizbmio1dTspLO1fNqAJxxoHK5?= =?utf-8?q?v7429nUF/ByuSCfOjTDRlM8TKz0zpxLURi2jEYiGIow39B/cQwRhh7v7x/f5u81Jj?= =?utf-8?q?E4Um/Ob8qIIOEbuQZOFONgvEYgA0pcvJ43sGDPBbDYYBrWzeUNAvLEYq9uDEWQaFL?= =?utf-8?q?EjJxzbqS7OVFGSE8YIECm7njZoQiZ/tJEJlJjLa3QoubSWMRvEeemt5kv5KD89yJ1?= =?utf-8?q?rQlEX3y1h/SQnRabqKfTQkE4h1s5m/qraQyZgLq1gcUrfEr3fxAc/y03/u0/MYar9?= =?utf-8?q?0uxuF3HuXTqjFzgpaNMQc27i2IJEXTWjQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?FCWB+7vX3Xxo+0SAO8Va3/jh8mVA?= =?utf-8?q?qfL31iC2ZZKWuUIvNEpbuPhiUyUGcC/WBH1A/Ah5dXz7oosbJUCizqsawD6yD+8Qj?= =?utf-8?q?JjEds5P5fjs0rTmTpl/OG3J+o53RZD0QGj46odmMoZSrg97vyJKvbxUuDcuI2Q4lb?= =?utf-8?q?lfZgLSaqo5BZ0fGx1H5ecFfv81MZWIV/eQnwqiIUeHB6C1vnJQnd3n/sp0nMH/FFV?= =?utf-8?q?FQpKWTdeP9g22zi4BLmervO6yiks6jsanBv+s9klsA9VdJZdRAMc9BRCxNmpyvRIC?= =?utf-8?q?WgF3w22hJJtkJjOrQ0ADAe8X3O9dfg5W6T507jbDiec/qro76JaIp7lX/3oGkrkoK?= =?utf-8?q?yw2zXQayCTJQUJe02wMV23n3CRJkR3PGnjvKpQBRVitYb5Q3a41gA2bpSdr9v3NfS?= =?utf-8?q?jJItqwoJJBo+MeKGHAi3E5C0Fq+RWLFW+iiQ1SiS0cT0fS7tPTx3mueiSqymaTjRg?= =?utf-8?q?vT3TK0pBA7Ij6D1gi5PXmqTgmesfkNEJFnDAEPuzKUB+D3ekNLzB6YCVSeYvsZzWa?= =?utf-8?q?/FkVnoqPCo5vvGSk3JQU3nhUrJWeLUGJrCDzf1IQ0IYuGPYrwUVE9UiCRHxcGyLMI?= =?utf-8?q?mPBTg5LSNNqoGLEUoMOXFDIX6q3pUJ61r3fqfiVNCWGx5UH+QEwlFqToXuYhel7lk?= =?utf-8?q?mv/ntiVgtD4onoxHcVBuyd3PU7mCRyB00TPbk54jkQnOlpERj2a4AyZsqyTVLNajv?= =?utf-8?q?T9KaLOThakb/mMwC+jTiK8V9d7SVFaty3R7jZFJVLeqpqV6vrKV/bzNQ9eGnGGvUw?= =?utf-8?q?RYDdk6JhdyjRrcA4pkCiMhXy1943JY+DGFfLA4yEdpHtt8ctEFNchkVXayYb4nnbl?= =?utf-8?q?uZtlEJinGITmIIBGXmmX+tc2aYjHVPMtPl4ky0pNGUOBSpRqpT0eMq2Qx65cKEG5E?= =?utf-8?q?BOJAEcXe2r+LzWszaZEW+mnDly2430x/mbrrtSbRjCOCVYEHf3EKgrcvDDkQYbS9m?= =?utf-8?q?teaS4Qe12Gy6veWTs73NmTt0kwYc9p18HogaPe50sBR0cA0hMtFbiZWAL8iafSZgB?= =?utf-8?q?mzcqTmo6pd55sRMwf4xxz4KmZo/AO2AW+BEoM6K4xfTq3ye/E+ZHsWrPVB1gkyAGg?= =?utf-8?q?CgQfk5k5OKSA4dvmHoPukB3ocl99Lk76y4vn2unG3YvJk9vswwIq4mc+XVDfaGBAJ?= =?utf-8?q?87/hk5clzSrPYbgLcv4TN3mPFbDjx7mV31KuhsPNSBNmPMuK971aJoUjLBUDkQ1jn?= =?utf-8?q?haTg0NHTzujs2GBpS5YVC+lD75ku3sdQCza0mGW6lOg+olTQbDZ6Ne/FK56rN0/s4?= =?utf-8?q?SWBij2PVz5YqEi5kdhx8cBZyejrTh/p6YPmykgMiFr6wP8yjxrLWBmoISbPS25Jrs?= =?utf-8?q?mPkuAuXxaf5k/aVhD6Sg9ZpCNAIvkskdAgO4YWgRrO53pUk2nS7NY4KCry7gK9Ryf?= =?utf-8?q?2mKXdDMu6rlF4yVE3Aolad8FCECRvraxto8in+UzwBnireHrnYSmPTMgJtg2/R/OG?= =?utf-8?q?ORhd4E+neBW+IDd5BTPw1FkfYr/vBEx77K8tfVR1bUax1M76QhCis8/4PKfUupNVy?= =?utf-8?q?ylfbCM+qfuOY?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a631130f-0f9c-42ae-9088-08dd4ad1a119 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:23:56.9123 (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: dAnHaMd7vpotZS48Hi6kzRzEuWxrHJxerFl/M1byJwaE1jDS0gYzaUn5W6mb3KbMWI9VjdnqQZ7N9uQ2jWD0Og== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112400_329424_AE0ED776 X-CRM114-Status: GOOD ( 10.45 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add msi-map for pci-ep device. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - new patch --- arch/arm64/boot/dts/freescale/imx95.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi index 6b8470cb3461a..cdc06dea5982b 100644 --- a/arch/arm64/boot/dts/freescale/imx95.dtsi +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi @@ -1667,6 +1667,7 @@ pcie1_ep: pcie-ep@4c380000 { assigned-clock-rates = <3600000000>, <100000000>, <10000000>; assigned-clock-parents = <0>, <0>, <&scmi_clk IMX95_CLK_SYSPLL1_PFD1_DIV2>; + msi-map = <0x0 &its 0x98 0x1>; power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>; status = "disabled"; }; From patchwork Tue Feb 11 19:22:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13970620 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 7B251C0219B for ; Tue, 11 Feb 2025 19:48: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:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hlHb7U9d3KXCJlq+jCIbt9HbEtcylYi+Lzqvx5LyCdk=; b=C5GIfI7o2CfwGOk9SiwIbBW7KX 7r4H8PIlZtrUgwaqZIvWUrn28i5kgRT1bG/0Yk9z6+fymEi5za+7ncfiZsTkl6xmr2eF9cQjVj4wy Xk05HmAVz2PgPSqh3jIOdz7+0po+JOLfoW/GGpCKGvNmTm4AVtLYDAmMLwXYm9jyy3jmXc9EDImsX 3WMyLrEWE8uzcqi7JcQm+fu/30j9XT1+Da0NTERfVqPIS8BiMZiEChLQGfCEOsxeLjEEKgfVDdA4Z jZtFv/VNCUiy1/GVO+CDTxZ1Qwp/ivJKSOS+vIHwpUXyWBEJA7j9jyml6gjZPgw7eM/Idn/TgRPxY jVUDx0LQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thwEu-000000055aF-34dc; Tue, 11 Feb 2025 19:48:12 +0000 Received: from mail-am7eur03on20607.outbound.protection.outlook.com ([2a01:111:f403:260e::607] helo=EUR03-AM7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thvra-0000000507J-40mZ for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2025 19:24:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eTnoqYelPTPz76iTcijtoEmqCmHbnFNAa8w2jXODmtsWnKSls8Z2wXRiRmwdVntnsTsORLbiht2qpCmZZRP6gJ6O5nafmtAFS6aq70dClNo5WdeBgIA+hPAcLQn3Z3r6G3KS3ngr646ubR49+bkabuU84VMhPA3sSSCdkndLv+hPq2Gsg4Wzj1f2ZXi73KZK48DHqwoOP209dRMAyTCPiqabNcZy+ck1mE1/wJRfdDBzgwwcIJMC2DN+J7DJCNCRSdKBHVW4ThEpxfjAdQf5u+O7a9j0sq0Hg26SbrN1kahW/qV4CYU4t40eKi9c2Tu+5d+s3lag/YT58GzEJprCgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=hlHb7U9d3KXCJlq+jCIbt9HbEtcylYi+Lzqvx5LyCdk=; b=FC+3LS7EcIs11Gq/6tTK0W+h7DJEuxT+LwW3wPH9aiUksofwn1wMMZ/HFKwiNBGwfUhg2jUQYyEORDp4oeU1pRVwi6oyU936k7BBfu/u7naANgZbnd/MkCDDlO0srTInchBxw0ld/N7REGvG4nmvH8uCBaPNqyihW9iTaCI45BvjWgy8ApOG9yzIUxKvmHubGnSwMqgxAB5TV1dEQcN8mwZ9DY4/7gufHeizB9V8eQBpmEZ50+FF6XPJQr/lj8tKvClcOEIowlsnXh0A3pNsYo2Auf9y7xAkUYL0mF4aCOSdGvGYZoUqoHZDIwTP875PdrZkwKgzNKnrlj8vGsmUKw== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hlHb7U9d3KXCJlq+jCIbt9HbEtcylYi+Lzqvx5LyCdk=; b=kr3yDnVKDg7UpNBQQoPtmt6d1/HTC+lNQLAiXv3MBIasQFl/xFUsWAO5FJBYO7EfQi2kijYEXPrvjN/vKv8eVjuVW4d+y7cZycgxlDyyxnjBOT6/oXOmfWW5wNUQfZ7i/TdjiwjmWAVyfFhBBe+gjig72VWybIfTMBPtU0KMQtCoq0pftoB2tm4VEqk0EUn7MezfD0WgiiYJRL56lI49ZOYp6P5wUPx0t0JGrATVnDyZi4F34aTIOWdi+nlc3HSevD2fjGvLp2SFW4Yvz0S39W6RBeUtKVESfsQssAvAPTKW4B/zZVHi13kBXtjutGCPwn5qMS2+zpxaoIGGu9MCzw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AM9PR04MB8553.eurprd04.prod.outlook.com (2603:10a6:20b:434::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Tue, 11 Feb 2025 19:24:04 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Tue, 11 Feb 2025 19:24:04 +0000 From: Frank Li Date: Tue, 11 Feb 2025 14:22:08 -0500 Subject: [PATCH v15 15/15] arm64: dts: imx95-19x19-evk: Add PCIe1 endpoint function overlay file Message-Id: <20250211-ep-msi-v15-15-bcacc1f2b1a9@nxp.com> References: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> In-Reply-To: <20250211-ep-msi-v15-0-bcacc1f2b1a9@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739301723; l=1989; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=knE/CmvE46T0/xnSlVa71FJ0CBWaqIRqeEskbx5cLUU=; b=NmSTvsOMd+rcSrB8g9NxDgzAajLWBpA+oriEwFRhJqL0Q9T/bxg1LDnaPTDtbvq8P4xoqKm5w WUShJNJolYMB29EmpawSg+QQdLltLy5BR/KXgzyV0e3Sin4L5pnfVDG X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0231.namprd13.prod.outlook.com (2603:10b6:a03:2c1::26) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM9PR04MB8553:EE_ X-MS-Office365-Filtering-Correlation-Id: 9db3e0aa-ada7-46cb-111b-08dd4ad1a584 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?w21D4WgkBfzeaYADK7LYGaf3qZOdk1G?= =?utf-8?q?R/BAvL+AZp6krRS3rpnrhTe06ltUulH1viR8qNwOtMf9230BV/4TCD5eCZxwGNyxx?= =?utf-8?q?Tqmo9JPimmeXPrDbTycqVX7au8Pb32WapbaqOu26tZR5AZZ9WcIY5XN+uXEcTKYGF?= =?utf-8?q?0WE2zKOXWesdmz2qmBb17iCec/Q0eIy/BSBr0kIkD/jH8LF+zn19oC0o1k4ewMC4r?= =?utf-8?q?bF7vxhy8WV5p8ZIpTc7k1grVh5sfKfL6/oZ1CPhb7aXB5qSeeosEFiN9XUtZMBbxv?= =?utf-8?q?xxWF7hA2U7Wc+a9NoZB1xsWCurOqfG9EmhX8q1x1yXJchHtKeQ93PUdwOL8cbzIMS?= =?utf-8?q?SlVPy+qnPPTdJPM446dxjo60CUBlK9v6t0DdfWE2Io6eUrgad+EYkLKrujQTDsMXr?= =?utf-8?q?HWkXibo9n3j1jveiGrBwpSLa33tOqo0WJr7YwuXRIbBqmwd35Q1kWERo0LEMU9ABh?= =?utf-8?q?thGIadOuOsGC8AeJagmxzRrTbdIvyDmlfZj63+BQ6crrz9JI2rKEMJM6AzNjbs0MZ?= =?utf-8?q?f2pXLMfLgjseq7J6obqOUY0AzMV3ACi8J6aPX/kl89f7F+4dc1xQvpIQBW5Bg3LE2?= =?utf-8?q?ElHGHnoyBQlvjS0zm+a4K0wo4zQrL6P6eT/YqDF5edp1xclpd26xeFeitwv9r0468?= =?utf-8?q?62oKyTAUX7r+1+VT9xDIgfcG8wHneabTdP6bmbmaqhEVDDoc97kUgdG5M7pQ47ZAe?= =?utf-8?q?iYcXYWcBCUHva0y+NsqVvvidZqeXuEHoc7Fp+QCGE7FVZM/Kd1ikwgFxpGSFFUMsz?= =?utf-8?q?vih72MucvWFhn+CdEg0AfqanVEOPWTGb/4cbiEhsN0TBxKksUmrTINU0JoWvhU+jm?= =?utf-8?q?MCuAQWhpEnu5Oc1FZ+QwiQrmdEfYwJlFIcdpUHV1GUc/H7iRXF7ooG7ire6KKJdHl?= =?utf-8?q?51Mp8t1Fw3wMeAPODUBwg821Y4RL/b7+ID0XulfQpB2FUXeptOVQAJWRkcHySAA7N?= =?utf-8?q?EB3NYB6k6YilJZS1jmyL+PG/MwnTw258+ewgZranjBZXeONbYdnnwRCYWZI0DBYPh?= =?utf-8?q?O7yo0MlDQ1OkVpDIdSCoo2ThoUhRlyMBNozQj6eunKnQfXvCiRfWomy+WZQJn8D60?= =?utf-8?q?AxFgxu+sx7EGW1S/q1yMiEW2pBVv6aZNsqGBL65bx0y8F0LMq4V8rIHiwOlxgj3Ki?= =?utf-8?q?qhh8zWlZgViULCTrhLVcgCvHNRM+OwXlkjXKMnK59TC+uaaNfNtKpJ0lzhutGenld?= =?utf-8?q?+ui+yf4JDKnqZxmVwcTu32zwBpyNJDBk9HoS0DSRsXzuinqFka6/3vzIrnGNqysUQ?= =?utf-8?q?XS17B1IwRE15Oji3OSA/DqKZ2/r4ERVFcuOXMpuqVXFn399NhqKHNYZYD1q2n1XOj?= =?utf-8?q?YRxIgkQrOuWja1wDxHtrjVnzJalompNQihx2sBHth+jfH9vPfrwJUbemBdNyXtfxx?= =?utf-8?q?SbzrfEOdXR61TdGojb6ysKfWW6v71dzTg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?B9JYs/DSNV7eCVVzalgS7nv3FfL/?= =?utf-8?q?p5CPBRlMCG4RdEwfwolUa7xlz7K2A2fSY6gF9OJSy2/F5u/1X32ynBs2jvphXnbi+?= =?utf-8?q?2nWbkV9WGkUpqZibEWreD5Ql6kTKQU5v2A/5bSDRQCt3Gd65eafIxOXWYXgF/WzY1?= =?utf-8?q?MC+wmw3Yjfre2vQDMB+Y3uI2zxG429X0pvPAnl+IsGl/ysaomSS2u6uZwLByY8TAi?= =?utf-8?q?rY9rvS7NFKVFJChUqpj1mmupWISzvXbq6Pfa4IANl7s9u1FuD0/MgZnsbX03zCysZ?= =?utf-8?q?DtCXFjHF2opGj6S/KG8yT0c8fp5hXDzAkn3OmzweUipXmW0u9RPsBLZgeNSeFwnJX?= =?utf-8?q?4BLl/aOlz0RmzhzU66AGr68rwjiVSnCDZCopB1e6Rob2Md1DKZv+SKh91eX7pR2i3?= =?utf-8?q?oJX/eMVhf1sn8rv9wPe+0HUTJgvz3Bjx4ihMb8MXcJeTxGCcZkhm+kjSOAzwbVYyT?= =?utf-8?q?6m4YrmRYa+0tYpkRqfagCUPuSLNRUdb9KssW8lTGabt8nHdbEElSyu74wxwnwSXjJ?= =?utf-8?q?Ro8WTIKW34rei/r1ngLDieJyHZPOqQQwjiG/9mZkdWiBclP249jA8Odxrcd5L9fKF?= =?utf-8?q?D+i836/QAW8EC84vunQiZZH5AowzR8d5fyxD6SVsj4pGQaWNwJbiMHOHfe8e1KKCx?= =?utf-8?q?NqeuqCMBSwfalr5dOf3bYvaUG9mLQREvcFSNMzhk/yjAS19oH/95Yu8MoEDmRhPnQ?= =?utf-8?q?OlQ0lSCpsGakno3vE+Nsb4yIR92vqgsBVSLpTRCPXxcmsXIVWrqJMbqr2AurXWrtV?= =?utf-8?q?YGa4Iuji/okcX33MzTHQHGjHQdkVbyQ25brDpqxi+cCgUE6+OZGo7wwKqUaUuPfbo?= =?utf-8?q?tA8cMoMLQysn1rSmTHyCkF3UQdd7v0sJ1OMHn8cfxv4jGmjZ8raQ5MKkX6PkO7iRX?= =?utf-8?q?rIRAEH/FJ5SFX+c5+sch+BUIZS3iBsmjvRiXwsDvJLUM5lwejO1RfrKck9go0Cj2F?= =?utf-8?q?1QzZeVQVzyjQEhVf4+GSOzcZtJ98GLbfs/R4cBO9ppjRpONmLosX1DET9YxcwsiR8?= =?utf-8?q?nT+HSEhulkOo5ErAxM+BwoLH95xbePCIJ7KggPKST/WfLZbzSc30CSjr9T3gPFkSs?= =?utf-8?q?RltXu/ZVI6YQvwMRhKInukQwKLa4DDAPXaMg0DgJCDQoLZLM+mRMJDGpH2t7IVdCO?= =?utf-8?q?vTdSZZ/Uk8BpDJ8IZnAVIWWoK19R1xFbRYEqu2OV94otwcRHybGYLQ3FAWm4gKWA5?= =?utf-8?q?Gu6K/qdX/t2sAiWSjCq33hXVXrE9jyIqogAg1EYw5PHnlKrARyXFJsYnBdZsudbHF?= =?utf-8?q?nTl4UE9d1dPkofx7nNQu0W2X0wwRML5+X7y7u26KJAimH7LjU7XbdqJMvf76VjnSB?= =?utf-8?q?Q/np0rDDV8ojThcwAC/yBkI250OdO6OAfryywhsADoQw/TTqt730L4hc2NWMlK7K2?= =?utf-8?q?9G7plIZ6hD9/LF6qds5YQ1tFyq4IruNjA8EOHHO7YcEOGoAGIeGglocY4SG+EblGi?= =?utf-8?q?OgWVKuFjXfsyFHZGngZldaBJqTN0xmUWWldn2B65VtAkf/CJLCbqNNHE08ggvYsDk?= =?utf-8?q?Na4h5vHk0B14?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9db3e0aa-ada7-46cb-111b-08dd4ad1a584 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 19:24:04.3269 (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: GCWuIIuo/LDvZMDO/FuGoHPV7m6laEqkajR4ovGCJMGM3aypFzWRssfAb0AePDsEa2lYHd2zFEm1sEJ9OoLE9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8553 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_112407_003108_8DDFFD30 X-CRM114-Status: GOOD ( 14.23 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add an overlay file to configure PCIe1 to function as an endpoint. Enable PCIe1 to work as endpoint mode on the imx95-19x19-evk platform. Signed-off-by: Frank Li --- change from v14 to v15 - none change from v13 to v14 - new patch --- arch/arm64/boot/dts/freescale/Makefile | 3 +++ .../dts/freescale/imx95-19x19-evk-pcie1-ep.dtso | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 839432153cc7a..d892303fa7eab 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -287,6 +287,9 @@ imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb +imx95-19x19-evk-pcie1-ep-dtbs += imx95-19x19-evk.dtb imx95-19x19-evk-pcie1-ep.dtbo +dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-pcie1-ep.dtb + imx8mm-venice-gw72xx-0x-imx219-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-imx219.dtbo imx8mm-venice-gw72xx-0x-rpidsi-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rpidsi.dtbo imx8mm-venice-gw72xx-0x-rs232-rts-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rs232-rts.dtbo diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk-pcie1-ep.dtso b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-pcie1-ep.dtso new file mode 100644 index 0000000000000..696588e768e61 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-pcie1-ep.dtso @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2024 NXP + */ + +#include + +/dts-v1/; +/plugin/; + +&pcie1 { + status = "disabled"; +}; + +&pcie1_ep { + pinctrl-0 = <&pinctrl_pcie0>; + pinctrl-names = "default"; + reset-gpio = <&i2c7_pcal6524 16 GPIO_ACTIVE_LOW>; + vpcie-supply = <®_slot_pwr>; + status = "okay"; +};