From patchwork Fri Feb 7 19:39:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13965638 X-Patchwork-Delegate: kw@linux.com Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2057.outbound.protection.outlook.com [40.107.20.57]) (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 6B95919DF52; Fri, 7 Feb 2025 19:41:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738957268; cv=fail; b=gF4W0QT0F/0/CxNVdTshlXNVeBKCbqigU1yvP+usR6WjJVFuWwekEGdNl+FqXtQI+JqlRMhFz9IIQtoofSH9HixCqU/q75QqU+maLphs4J39gvms26p3QHeqT/aDKdKbZ6FiJKRkrchqF2rdfDijHunY8p75YorP3fL7oaFl1vc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738957268; c=relaxed/simple; bh=M7n70bouEoS1T1/Gs8LCJQRFd41+b1yWDUiL7eHBQOg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ej4RLbRJJy5LVfrqS0rTeXHR+heXTNx0YGnVydKffA94TGjPM6sxlPPRwq4ziQUcp90vzRT824duz7dEadLJDpN3B2l8fGT2+LdRBKkuqkpxhpeAKRwwF0cQt9CReTabCZj2lQskDqISKROhKKTnTKXjTZXnjrZ0diM+ptNd4Hg= 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=l3U9V+Vj; arc=fail smtp.client-ip=40.107.20.57 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="l3U9V+Vj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GBE6rf/h8yDZDEbmIofg0Wn7Uo5L+SxBzdzLy3zh8B4iIq4r40/j6st9YfUM0cvjFgUgu9ge+1EYo4CYufJt6nymUpt0sH25IeNu00lNFgR5wAceZR1yJmJCG0b76lfH/lNaJQZ9nk3A0hhulCO4QvmxcyQ/IzevT3e1EVHMHCucrSCu7+/LPGHsOhmeAU1RrKdYI9Ve3Gr0Y+Crnn6JD0skriSgwKN/2e56AOfxIUuHPqkhbX4ccJ9hCTPYxH8h8jOeVFkZdyukvH8w3ALQKYyimOYiHu2sRrNKXSe2ZNi/lJZdwsXyTVDdFHFPm0CR9sfhYSjWifqhKQdjz6BaXA== 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=k/1CvVkM5/1/ogrGjrzpwZwzGFJd+3SVY5HszuejZoE=; b=H3RPT3BfbvSkRY2MZITjhNUk6uMhEZkRWXQaBnWk7swz8qrVsoCOpsUlUo0UMDFNyNvfdpjaw3kfhmryjBWdNWyEK+cvx1t0JIOHv7gt6yW3n4MYjKLpJzh/EFbx27ge6EDGrJ+/QmLlBYROEsIdenDoitbVElpBgHK9/u85j8OqIVonAV4JGHRwHn26+uarJ4MlzMKpE+ySe9sIFal+Ugpi8kCQb2h7s14LS2krKDF0y12kTcjsuiZPT4vd6iKgJ2yN6KjrfdvqjBExQVWKcn+isqmV5dUSsllJgJEZQxBCq4nPxXitgn9HSJyt3t61TWakQKNe39rb2Mm2FDyu+A== 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=k/1CvVkM5/1/ogrGjrzpwZwzGFJd+3SVY5HszuejZoE=; b=l3U9V+Vj4NaX3ziOoTG3FleYPlcicCkgVhFfKxrXqdos1LxsWSfJj7o6gqtRfKfHEHjQLbCkHi0l/r0DiEBKgyBArsDtr6sJgKo7cQm1nsKtndkqieyVChjS8jTXBjnP32o/o4R/LZCxF+rUZqxx9y3YLN44TggBeS8tw+/AH4O+mWIXZt7RLV2iJnew31lz+MEZyzS1A+B8jKkQlBhT66yJRmbdiJDH1eEJwwwLjxEzsuLPrOSTriQk92tlv8WwyW/WYjnrtcBlkBGZyRp5HkXCh/K/76qjE6QqVmp7Hqq5rHnM76qcS9xysI6yvILrZ3Di6vf+opDJl4l3cE07/g== 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 VI1PR04MB9787.eurprd04.prod.outlook.com (2603:10a6:800:1d8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 19:41: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%6]) with mapi id 15.20.8422.012; Fri, 7 Feb 2025 19:41:03 +0000 From: Frank Li Date: Fri, 07 Feb 2025 14:39:49 -0500 Subject: [PATCH v14 07/15] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check Message-Id: <20250207-ep-msi-v14-7-9671b136f2b8@nxp.com> References: <20250207-ep-msi-v14-0-9671b136f2b8@nxp.com> In-Reply-To: <20250207-ep-msi-v14-0-9671b136f2b8@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=1738957203; l=1108; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=M7n70bouEoS1T1/Gs8LCJQRFd41+b1yWDUiL7eHBQOg=; b=MCTp5iSVfBueSlqpKDGMhAoB0AuTmW7GeriZuLo2a2Chx8FzSXDrNwWimQFQqRYSqi5eXyURZ k4ClEUwZcE8AtVcu61YbeKgsCq7/nxWV5MoMjRrgOjFsnC1sqmYi0Vt X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0P220CA0004.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:41b::9) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI1PR04MB9787:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a37d072-599e-4395-4bbe-08dd47af5b89 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|366016|376014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?ohfdvk6o5um0KN0r1W4CGVCJFa9cnLx?= =?utf-8?q?AwzFAS5LG5eNakFzp3jyV7cKqgXbubyT1yBeBSR9v2vKYJM4lD1yKDfxXWZMGPlCk?= =?utf-8?q?7EtzlPXKAjkreLOASw1lh8bfKh0KXdu14ySdKwCPBck09ybseLOgY2L5BQYa8GvoU?= =?utf-8?q?s61uEzTSB91N7f8cwvvuiC22nSGk2r8TOWOZysnQmAAHhXUQLP8OY4aG7tyMkG72Y?= =?utf-8?q?4/IbvqNKI20+4Q6hRIoGwGI483NPWLtGVEPBaqNfluk6JwVo/Gyl6HOrMXDeqhvcj?= =?utf-8?q?BACfGqHK6Z9YiYuAjIKF1Jc1eG/XjeIA+uTqD+frnfpyWL0MvKRhxy/8DrR8H0+9Y?= =?utf-8?q?KdjypLjbgtoL9A9HeYLsBSQyjx4LKLdfEli4ra2g8QH39QoJRE0VyMbWXT8MpooA5?= =?utf-8?q?W9OztSJJkuVUcXo8bBR+qycfEUFYwCbz0xgLh0KMnvrpeV31nc1KUJuycpIV6Jliq?= =?utf-8?q?G4qyn8awo8y67TSpBR+OgMYnZdJyHStItW7txNDydVmOfuNE566/fDH6dMkKDkZuY?= =?utf-8?q?mjL4utxid9JNxc8dwMyNYo4G8dr8AjdaO4no3QBE+rlbt+FQev/kmCDFwYt7otbg7?= =?utf-8?q?qCY1bOvSIVka02a21cOH6N1evHhsxH3qfp9Y63bTajATYGNgBXDKO/0VwfnVDPBGX?= =?utf-8?q?RNAqnGXkJix42aB2Q7+OJMzSE9neqeHOQv3KmP62E7zrD8FePg/c9WZLBgiVyURlG?= =?utf-8?q?gA08JreZXqiGP/v9iKh5mgyxyGXEydphuYNSD1hag0TNuR0v0voClvAw1RrNNwEZg?= =?utf-8?q?IJelnxVRV46Morn0jd7zDz0k5P9vh7G0yEjmSJdrl78zMDZ0/e0U8nLzc+gPT5oIW?= =?utf-8?q?kcNt+lU2RiW2zftgYA+8SwkbyE+ce4w2Ls1W0RFwQRQPgzEVqHY1sRIqELnHVGcOm?= =?utf-8?q?imXBfFpUecvHibyKrZre+3kDAMRO6Kx9r3yDJASHA7RzWdT3lnQ87yu7Zm48BUReQ?= =?utf-8?q?nmfwNaF5q0gZKQhK+Re8oWLCJaLKDJDuF9hItjruxH5j1hsCeg+jRbO60alXxe15J?= =?utf-8?q?06x5W8Dm2cA/aQkB8qVUnhqlRbGRfuFCYT7n/Qa0Ze88jpK8s9jQb644fLvC2n7sa?= =?utf-8?q?WQgJYDVZqSi3Ea6u+CvqtJvi+jOsE+zcN+6MMybslLVtabv8oJQNZ/QyrDacclo3M?= =?utf-8?q?iA2xNAWNiZQRExfA0ikSqSKMIw/AWqa7l7Fv9fReFG6pzpc71Ujtd+pyy5DGT7b8A?= =?utf-8?q?PjyF1DZaQIzuDUN6vl4H/nUnGB/t5awimu1+hHYHSWQ3PRkmBPlDoDekbT1w122Vi?= =?utf-8?q?YXNRiQy5FDgFsER5t/bG9Lfrj0DptQsGrKzkcEX6SWyx4zq8VkL7tD++anAYQEs//?= =?utf-8?q?odovcpAa1Y8X9RnSIzrwYW2Iy0rmy10dAmPqwXvBiXLtvTvbcTES1f4LigTwNkutK?= =?utf-8?q?pHPcLrCZdfYm9UmyvHGECGZiure1HmCRw=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)(1800799024)(7416014)(366016)(376014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ANPc87H/cBTtPxJi4FcECZ0PFRE4?= =?utf-8?q?M/xxsM8PRoWipgRFESNH5xafhvInTlQH3+aqrsMQxBcULaitwsDN2VIcEdGphWP6e?= =?utf-8?q?eAFaHPoBpK1NsMOb9su2WT8RUtRYoy+WVMQnbVIzhOx8GYWWbfcz5nmaIyUv96Yw1?= =?utf-8?q?LjG7JtnWQIi7nFEdiUs4UHTOXvmY6QR62fU8LACYqh3mmFwg15zKWhoqH25TvGAqt?= =?utf-8?q?6hq+zjI9migDx0pgbqqwOcFXAt4LwOP8VxYWidzXVs5x5FUiilXloFRMNAsi6p9gx?= =?utf-8?q?q6Q9K3ebF3KtOjCKbClyHuBbK8IRP5WfqPvRSweUBWtTL5JZr5dCziCLrUFvwvEZA?= =?utf-8?q?umucFOSPggHCICOdwrIixKeTm5vhhCEaAqeTki166PUp5y6JiYCzdH3cPOYzOax0a?= =?utf-8?q?Cvu41LqSOP6PBBuBb7bMGQXlwbDbpygKsqMxQ/83Ri+1rjDzTQVr9RxD/XNXTbAgn?= =?utf-8?q?H3wKi95K/jAQHnNvJWCfW2qEqNdfxTgv2t+4G1T4hVjY2R14xPTpz13V5KqZMf5Ew?= =?utf-8?q?BB2htdgtdRGMhgFHks4JxB18w0p0TfEf1BSvD4DJpdquZtJMtshHkog7V6/YWJ5oQ?= =?utf-8?q?3BvQVuv2TdZls8a2m5qp6wlDyCP/kB+YkuRmJBsfLPHMGkpnFDU4xtVafS/d5y1AC?= =?utf-8?q?jYLZ+p1dMwcTyw8CQjBxtKIrmbaJo/T2edNnILWUPR/5lWCRm2ZOM0/gSiVnWwdls?= =?utf-8?q?h3rYCgWhpNq/b9yKO1uFj7eN3nu0lO0X+lNrS8O2KTT/rjO9Juyu//RKJbJZLI5rA?= =?utf-8?q?wqyRyPBRS5ru1+Hmgf/pS9A8yp89p58bvZ/H+t6Iz6ItT/5iEPkvvZZoHnfZWZ9/H?= =?utf-8?q?OC5fzUCr37TfRYAJutKFyRdhJE0sEjnv53mnzGZrOnHb8FVcWgwxxH3/qFmcYHodG?= =?utf-8?q?yoply+p3QmmxH0VbACStHJcW3TNehxHt3rlql+p/WJ0q8oixBygyMkwdFoXdAijfb?= =?utf-8?q?t4WxXOVqApvnlbId0yrWz1BFGVsfOPAAx54W50hAU8eAGsv/v3J7rMHGLUZVpTMs8?= =?utf-8?q?Ey8cU5glOXaDoWBltvUN6Gkf6azQsxSb8dC5a/F1RoIdlFSxxWtzLfVIMwI0qAsxN?= =?utf-8?q?QfjQY606sELZUPeu13dVFOPFNx5iC5AQXpWXjGhV+VBi4KdhosnfTXZq0WDJlfq0x?= =?utf-8?q?CxGzk2jxSFcDxLBkI0VObp2YCZfwPvhsTvNvdUigw7AkW5jeetNQ1um4fdt250S+e?= =?utf-8?q?fW1IF0eC0OBKc8oyvKf9WUk2Q91F7SY0mnN4nTLMl7uxIWxl6aYRMSjm8Gi6ABX16?= =?utf-8?q?dtCel7GPvUQcWTElOIyXK99Gs9JbA/a2XvWYfECndBy8gde6KcV0PxgPlHVXRYQ0J?= =?utf-8?q?UCnvmvpffQAKS63JzRZ6lId1s6iG7RxvL5XqozKczCT4/CEOvkRk7IRZUuFbfimVe?= =?utf-8?q?4eYYbTEqLZGNfUmV1AUkEojItLVdCbpGFdmvkXbOWqXzpgBKBQAIX2aWPt/j8QeW2?= =?utf-8?q?8cMNEIZdpebyoJcbD9Pgmb4cHBzY08v3ByyIs+6XlFxNk4EqbJfm3+YRS6eBlkAxq?= =?utf-8?q?xIMYpD6lVY8V?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a37d072-599e-4395-4bbe-08dd47af5b89 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 19:41:03.8248 (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: zYizIzREQvFdg+874LdSEdLo1D0DEQ6XGn9MH1PY+OoB5JjjFyf4VbzQAAeq19C33Dhhs+4jOb5OLQ4qz5NBOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9787 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 fomr 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 53820744ce502..e3ec53c2fefbe 100644 --- a/drivers/pci/endpoint/pci-ep-msi.c +++ b/drivers/pci/endpoint/pci-ep-msi.c @@ -43,6 +43,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;