From patchwork Mon Apr 14 18:31: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: 881129 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013045.outbound.protection.outlook.com [52.101.72.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D31428E5EA; Mon, 14 Apr 2025 18:32:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744655528; cv=fail; b=qiB2M/cXEzz8CWGkkyhUEZN2DZqjZNMUkF0qtYqV4i7jZ90uA6qBlaU2+af1il5Bj89lhtLW8fMJW/iW8B7z34wZQm7eNsVgYG2jAtXBQdfJLL7mZoaxINmypI2+h2h2dYUcDoHQDEotn2jlhMKAW6XQyXQs3DU2biybvjNDbFY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744655528; c=relaxed/simple; bh=N/Rcdz4WASrCVzB40i3dK6NDhujmvhnmUfU9wknM7Kw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fg+b7GnjkGHdTdyT5J5ku2+elORS+Yz+PGIyzbdRY+9yAmNv1bJzveuN8yP1Yk+HWhuiQVz2TA5opQEBC9LIlo3SU8f1CLIb3pgrNLWIU/rAF0wWva4Qmxdoq4ct6LTfQiSjMl+q2e7vGgpTSdoDvMp1/JJg+J9Xq5lZDoZau34= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=KzL+6Xd1; arc=fail smtp.client-ip=52.101.72.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="KzL+6Xd1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D032PPl3x3ridpf9RgCfg1fjS5dQFkGKeoBKu94jfyHYIqFAYUOgH4REPfZh7INIaFkvRlVCZREszU2Df8oOvFRECR1EyB3Rz7o4cvv83f/YBtcq+Vb6Zk+BJrbspuLRTnD1l6VQWaDcM9v2sWRrTpDYfq6Q2dQ8xvWAHcVl5qlUIpbnBqLvaSJ9i6mOVGPwp7ayx8Z98N2M7ZpWheFEA25jnmZWtBcLlDOyoJkP5UZ1cxyhCDhdKImoS/XZw8K9OAbMxSFFsf9LOHyvOZ6XZbs0JIuFK6K0ccMmVUVvg0gS7QysmJARV4zEvOLZMQiCAcvD+vcPZsq3UM2SgU8gaA== 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=1IZAfUVaAOa7chBgO8REmAJsb14Zp8lXTUd7dS+omz0=; b=RifgdC0Q0asZ8G68BCWdIxzUH9DKXIBRAB+8qUzFDLzTMVAgrIPWxDZs4Y3mYbcrfn83mT6k7lJEv8xoffE1O8zdHWP1yWfeI0MJPaDJy2nluyetZEzXRXYODjKl4x2iU1zBra8/u9OY4DTknhSSMZeS37+0YO6WFYvvBfYmpWm2VnHDlVpecVOZMciqUxyIsFf2qS8hxf2Kdyv0jpHfapwSITXGHwHw275/H5StVwLAJt3WFFG/0yFA33hr6pUHoosw91KqLwV4hC7MdlKX1VVSjBA7AybNnjuYr+VN95mzLPpEiA0YqRBljPIWhudGl2n7pOx6PU2Xmpmu0LwKrQ== 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=1IZAfUVaAOa7chBgO8REmAJsb14Zp8lXTUd7dS+omz0=; b=KzL+6Xd1ewP2xF0GxyZhzGvPqAOXKvPrDoovJDprp4lUQSNal12krE0kSA3QAe1D/l/eUW4BphEGnYcCYKGBd+nXayy6mVzkl+u3rfRM8YucXK/8DL7DqZb/ivewm7xREFd8fl3dgfk5uZlin6hfOLjH1wVCOQyf7siAimOJNDxoLoJm50U9wzO1GEr9EkY2t8D9juwsudC1z/DoUBiwA3t166VB0ZK+FNELPpK/D/lTzy83WoY7pBqHC3lFcmisHLLREFRHSNSOMJu7TKXmT5flKnMO59z5O+fkdUbNegnPefS8yXz3pAy2tqLFouBZCcwrJUqFk5xVlt3QukWEsw== 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 GVXPR04MB10245.eurprd04.prod.outlook.com (2603:10a6:150:1bb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.33; Mon, 14 Apr 2025 18:32:03 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8632.030; Mon, 14 Apr 2025 18:32:03 +0000 From: Frank Li Date: Mon, 14 Apr 2025 14:31:02 -0400 Subject: [PATCH v18 08/15] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check Message-Id: <20250414-ep-msi-v18-8-f69b49917464@nxp.com> References: <20250414-ep-msi-v18-0-f69b49917464@nxp.com> In-Reply-To: <20250414-ep-msi-v18-0-f69b49917464@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=1744655465; l=1143; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=N/Rcdz4WASrCVzB40i3dK6NDhujmvhnmUfU9wknM7Kw=; b=lHyGx6dxwWJki8Nz8Y7RAQKXFWnbq2mTSjz+me8Iad2NRB2fNQU5ZSS5KBajxLkqNLiOXGHO5 HjCf4nPhw/BCsttd3yEqRTdesJi3woT9ywpTJUFV7RZMy+tjURhs+X7 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH7PR17CA0021.namprd17.prod.outlook.com (2603:10b6:510:324::27) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB10245:EE_ X-MS-Office365-Filtering-Correlation-Id: b7e42046-ee22-4ea1-af50-08dd7b82a6bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?EDPfOr8czBUOr750inAFqs4GvBwMs6m?= =?utf-8?q?Fz+UWgatfYk4ERZY7cKd0UxLIBVElf5Xfa0zmwB5lzsX4Sou5tp4TU7JHm4Et27YW?= =?utf-8?q?defQywjjrbRAM52b48KIRIaoaOnkxhymjZg36DZNeEmocBXYdu3G7iUFuUbYYHqdZ?= =?utf-8?q?B+jDdVu/zECbrcMPrEslow9kYkEXwWSHKJgTsqNHhv15yW2uN8NxBmcR0JMeP+BVt?= =?utf-8?q?+AAnCBkD3GeMkU08+jfDY2+Jrqdm/PY+bqrGV+IN0MtfmcKR8GdiijIFTs5Xb/9bh?= =?utf-8?q?wX38i2iadckaS+sq8GdEW3wGWgqRT6Qn7VXlk4tcLeJcKjuYNSzLCJLXdd7ky9MC3?= =?utf-8?q?rwn57Wi9M+c8Yyh5mrgmXJAABS0PEp79IW/mhXdAv2l5bXrOUo1rY19Px7QmMPMtE?= =?utf-8?q?gukhm0gvAk6BSO4lxkY6Wg99wZDultFN2Af2Qd4oG8JoZuSrvEgvM4qdBnYMPGeyP?= =?utf-8?q?hsMZ5zBwPzMc/aOLPxKdLzvo3bLBlG0KxUXTtwRq9ycZC0AhMpUfhrjs93mx7o8gw?= =?utf-8?q?ZtzdBWeFrF5Cd/IQ0CNj2MhcH3yymH7+NyNZ/3luqoP5dkE83AjsOug9iu7nmpIdR?= =?utf-8?q?QrREkw54HfGvVb92coZf2vyq6/9JMZXxfQmLDm4LlQC/TTJb6yijnr03oeS88EQA6?= =?utf-8?q?nRSaH3/2AcDO9yD5KAvo35wYtfJYyOxgj8/AD3m5A17hFGypVa0Aa8zixTIe9p1jo?= =?utf-8?q?4W2RBSVWweA5gIdZVzfqv+teAd/39asy+byAP6NWTPROi3xKFSrb3uR0FRDs361ej?= =?utf-8?q?iDp9uK+a0Jg8+OLVvoMdXs1UuKy/wXh87OhkNQRqXW/h018T7WKwevsR5NnUMGtjT?= =?utf-8?q?nQ9IY7f/BWWYjPXi7hjAeIL5WwQFILQXqB5oYWKpgj9MY8GKGT6i7msjggcu9qImd?= =?utf-8?q?JL1Tcm8jjMuunoAPAad/b6F69GFnBnq/yk5MCq4Ug+RnVD9YbBMGWglJb+M0CIzCf?= =?utf-8?q?lWjAGp9IzEh8b/DI63ZzueBJdZTmHupS4QTymqk9swKXxkJXHjJjHk6YG0FG9yDfV?= =?utf-8?q?/EvuvLzomE2EHwvkghaaXLNwNK5njPbgLDtzliEh/sKT4UGxgAihTUzU8Bk7W7GfL?= =?utf-8?q?r9tA+4DED7a4AVLOSLcz5IKZ+cvH7LMzX0XYpWInApIRKKvrZnKnOWfaHIDagJJKq?= =?utf-8?q?SV19ikNzuRVH3OvFC6B1dTxpLquXt5cKmWjd+B4ygCfZISy/ICr7fUhua0bgtNpND?= =?utf-8?q?zz/wQxYAeXxOvJXuELi16Lnf3gQitLrfYmvg4lAWqF6LRh3crnUIWTXr2KYzCJvpk?= =?utf-8?q?ngiJDLcrZfrZcAvPuC7BSRQNW4Z6pYkkGwnrXFbq0oXrAqNC+qZ/Decf1dLLnulNm?= =?utf-8?q?FwJrF/7UgFwwc+/sTyeEG1+VrlNiYuNOe8h/4xRJCNQdgc4Pev28NGQTXE8Zmw6YX?= =?utf-8?q?tYVcvpOH3lPJjVOPrkkx0vn78xiYpI9JRSNd9QW3DQxcGoqXbbcQWA=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)(52116014)(1800799024)(366016)(38350700014)(921020); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Ld4Mh3r4zDbBULcpNdX/MTPustoF?= =?utf-8?q?uAdoMS5deZD2901bmEvEfvHgllthw7nzkquj9yUhnN6v6BXGXCtk42d1RSL81jmyh?= =?utf-8?q?tsdtw9Mbie5op6Z8fAK9FBlc4xAQI7DVFmuYlw6JloGTAyam3glD/nBBisTH3PzHF?= =?utf-8?q?rftx1d2LtVC0e+IrnTa+xXxwVRBxtmCe9ixH7YA5guCGoDDIL5c8YyDf3jGVlyVJ2?= =?utf-8?q?Y/7UPeXI2ipvXxoqtsPI13iyKs3U3gDwC95+QQrx0/HoUicT8NCRns9w1njpIaCcv?= =?utf-8?q?LkvCTLa2suRw6hekDGCZAbI4w95t01y5A0nx9E0hd+ktyWKZCyioL5g/B5vLxcdjk?= =?utf-8?q?eeRWSzlkvyxSE2Qkzaov/6zN0xoq8aCZmGJ2/7UWpti/v8yuJzPIdvXzCuM1cdNJ0?= =?utf-8?q?LJhohDpD8ZZTLrEIoFsI9K5qeOF1SrzdgbTaJqDhgPPp0QyAlzlF9tA9UwktR5tOn?= =?utf-8?q?EPJDHYkYo9vMY8m1zxoJvm7NxL9AMv68dr7w4FJyYEq3Csj+wJglWwG1PkAnQt1Fa?= =?utf-8?q?qlmBky1e9bEO4S8kB8rUAf4BKyy4/8+UBuvbpG51PAhqTqp5aaYm7bFqyUhFGW4oi?= =?utf-8?q?4lAn08oYoc16izIywtDe0phj7LZw5F0Mbyn/9cT4AV0dIO4+lA/BnIvs2+087t5IZ?= =?utf-8?q?hJYXIpMCuMo3lRdDZiohGfLkMqtWn/HZHcUEbTsHh3B6dOpv1oQOWir/1T+vpwv8A?= =?utf-8?q?8OtQWaYihd/Dtn3S7UzW6DJOhofchvRkRXgy9I7uVmbdshIJ9KYFFPfh9eYc9vEgM?= =?utf-8?q?6wz6O7fnAbPezpwzbXaI/Y248U73fX8ZxCSLQ+8ELycHn5kVyiqd1p4DG9SEZtLuE?= =?utf-8?q?gBWgDEQeCicIYVw9tsJeVq2viJWjSLlXrYcYALvOtTEREff/YEVxcHlDAn4lh6UYh?= =?utf-8?q?BYCkw4ggmj4Tf4fv46UZPTR/MFx3hbL7SYHGhZZAlpvB8XlnWY0K0EIdT7V6eT5iD?= =?utf-8?q?txhdh9EZ2Fda7EYecSZebalqAxYvWDqO42KKvJn2Qvh41LcT/pEOrcwTxwFh0oznU?= =?utf-8?q?DSSL1LJizX3TH5SxBviJ+jO/8AJ+NmhEMpLXd0ecvOEDEOkMNq4lk8CUqTFhvbLZw?= =?utf-8?q?OYjwrZRwRgScyeEPqZfhxasGu24dMS+pgVTRC1DJULEtEeBf9L0T/oe8k+kphwGFd?= =?utf-8?q?psH946nsYEylBEn7l8lQPSAKoHZC1ED8eM7sz7DNuWn3GlQxb58jJEiZDGihAIeav?= =?utf-8?q?cd/5jvwviqVX8EKvjvkgoIfbOO6Kw/fMpxLXjI+j4UHc3TmHRkJTn0a0gkTnRNZv1?= =?utf-8?q?V8p9HEZc2Ak+Qzqhun3kkildUSfFRwLWe7874+LWEHgq8ckYG+NryDSlXUnBGG+cF?= =?utf-8?q?5SRLVgy9OXKXifQXA7EE1AvJtvHr4XFlJjNu3OSM1Gm5/LgnQ7IWrAvSoNEk9G8mf?= =?utf-8?q?YTLLv5wbplfzRe/PXzA7s++NKanCF5qKnbCq+ePas04AxSxTzwPkzYVSL9+KGSllq?= =?utf-8?q?jqFwcWLF691ZEu14B+j9i4DEBXRjInYj+YIyD1z8f+0eIUxUzyMj7J00=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7e42046-ee22-4ea1-af50-08dd7b82a6bc X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2025 18:32:03.1578 (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: eEocsnhmrSknPLYIa35D1iufXtPXtq48GOKJiIydHPnuX+R32cyoakXp1l2YIS8fGmpuQgums9E2DCqcT5byeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10245 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 v16 - 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;