Message ID | 20250609-ep-msi-v19-1-77362eaa48fa@nxp.com |
---|---|
State | New |
Headers | show
Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010009.outbound.protection.outlook.com [52.101.69.9]) (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 9AC2421A43B; Mon, 9 Jun 2025 16:34:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749486882; cv=fail; b=Q+2T+aYlDY6/JRughLqw6oaWth5NVQED0svSU8hNV+DB2CZLaRxkspjG7KvDTNFwtfTpL6OwU14LYphPE1GlioyllXganAHQyRBcvziXLnLQwaZ76GA9rM+i4BNHoZonxRWgP7wrwdIx5lqy2h+SqOQvtEzMY888ZjJu7b+PffM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749486882; c=relaxed/simple; bh=29jELxy+tM5exRX1qIoQL5ZH7cxLaiYDa75RWhw/ctw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=LbyiliF2DqLhzZcjXGkb4tlykhfntaKhosfkpECELMEquBdOOlY7mwJetQg4CxieJiTU7NxE27s9s5/aBQ7hXw9+2SIk82AMvM+sstjUc1tCYoX1jmmUpvqfPLYtEVxjHOY18kyD9GebFOJ6sFwSZP7qWsu4SrNnzNeQkGLJ5DQ= 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=Jodat9U6; arc=fail smtp.client-ip=52.101.69.9 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="Jodat9U6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ihyJTk7onCHUCPR7WViyZ0iqlsM8ho4eHsU9XOhI7UctFrEgmpuCtz51ZwNSK993oiLWjz9xp7wGjEjQQadMVpu6KortdDk7kY3kpmrCVvCV6Ge6ggGC8f8tGtY/UTEFGyUx5eYHhoXWUEUp7JDeXGo871Yq4n+vH+hhGyKiWHRFn+TcVIzAeer/a8w4tpT1F9ZmxD3Ni66t0hlL/UPQR3YZPYh1L+u9FRJ7ihPoPvHi/KqiN6FtKgW+0l87JvaK2ihkW2GdCWV6m6I3ZbAati00ps3UIT4LEjDbP3yupKjS3+6kW0zSCA67QYxX/SMV/XgBnpmRU9kKZDlZzt/uQg== 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=0CbIqwMkZB92S1LrZFSA/KdAkKOVehkPJdrtyx9POoY=; b=Hn2Fsf8PJSNBi2uGJAHYxS8Q8IxJ78ykqSNcIDtwiBqVZAP+7+kDrPs/gbc/sngKJZKu3yDx23rPH0aS8VSmf6jYcu3QQhCF7wCuQ4nahO+4EZ1O9Zuf+w6Q16W80v37MfPdrnnosq9tDRUFCw7nhI0A/zTYr1X2c89jLwo/T8+HuF8XwG14E1iVM6a0Zc+dJ7zLgLccR53FQMB6216GbPE60VzTqvpDZps5bx3DjNfOvXGEOhEpMwF4zU13sFVZ37c9+6nEvP2h1vPYtfzyOqPW9MlH+Md5V+c9twvQj+cEY573R0cCQHSUCXEOI60f6Bgj/Ds2BgTMiWWElgXA0A== 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=0CbIqwMkZB92S1LrZFSA/KdAkKOVehkPJdrtyx9POoY=; b=Jodat9U6SUtqqmGzv3TjVNYJ8yZ0aVLFatz7cz1c5n9uOA2ePBZIqtGlLyp+72DdY/LmjqOmFCKqPObIbvR7vlVvEPyNHmj2DzAjd25Vb9uv5IETFP3Who7/tq3+mz2dCBIFp+s2kxHG5Uuip9PxgEynjRfVEqAva5nVYh0F0pdYYIPwQTJH73/Kzmwezy4290qe03S3wQ0oJEUJ8RpyFJLmGHOhEnKGDxkJlEpB+gL0OLR7SmKo+t9FfcFRDc/8XMFLBAtJyqE0ftGT9FbwuKXj0icnwx6QSE0BAS2zaCZ4YD2C6NRl5uCSxyGKIl/9PgW1suphe3arSVWBJPnU0Q== 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 AS8PR04MB9062.eurprd04.prod.outlook.com (2603:10a6:20b:445::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.30; Mon, 9 Jun 2025 16:34:38 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%7]) with mapi id 15.20.8813.024; Mon, 9 Jun 2025 16:34:38 +0000 From: Frank Li <Frank.Li@nxp.com> Date: Mon, 09 Jun 2025 12:34:13 -0400 Subject: [PATCH v19 01/10] PCI: endpoint: Set ID and of_node for function driver Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250609-ep-msi-v19-1-77362eaa48fa@nxp.com> References: <20250609-ep-msi-v19-0-77362eaa48fa@nxp.com> In-Reply-To: <20250609-ep-msi-v19-0-77362eaa48fa@nxp.com> To: Kishon Vijay Abraham I <kishon@kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Anup Patel <apatel@ventanamicro.com>, Kishon Vijay Abraham I <kishon@kernel.org>, Marc Zyngier <maz@kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>, Kishon Vijay Abraham I <kishon@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, Arnd Bergmann <arnd@arndb.de>, Shuah Khan <shuah@kernel.org>, Richard Zhu <hongxing.zhu@nxp.com>, Lucas Stach <l.stach@pengutronix.de>, Lorenzo Pieralisi <lpieralisi@kernel.org>, Rob Herring <robh@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, Krzysztof Kozlowski <krzk+dt@kernel.org>, Conor Dooley <conor+dt@kernel.org>, Manivannan Sadhasivam <mani@kernel.org>, =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org> Cc: Niklas Cassel <cassel@kernel.org>, 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 <Frank.Li@nxp.com> X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1749486867; l=2203; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=29jELxy+tM5exRX1qIoQL5ZH7cxLaiYDa75RWhw/ctw=; b=F73B0oqNAKL68Ia7GJo8sFRgapx88X4KOJbQXge07K66pkaB8Z4cae1MieaD04V+LysawaG05 N+5xS4HGrIDAy1odnmxRPBfOKH/Dq79UdsLPtJco/zNwHn7Ny4s7PT3 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: AS4P192CA0010.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:5da::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: <linux-kselftest.vger.kernel.org> List-Subscribe: <mailto:linux-kselftest+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kselftest+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB9062:EE_ X-MS-Office365-Filtering-Correlation-Id: abd41355-4216-473a-266e-08dda7738698 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Tk31QqVxDofvPqrAPT3BPcsn048AhxU?= =?utf-8?q?KfT23pnkD28+nmg8e/tz6lggTP21+CeBTvbJKLSS7U7qybzx2TLA3flEtnc24dyqa?= =?utf-8?q?HCoUVguO4KtymonLOgdnKxw/UAZBJxqtFnTfPJO/eMScRgINv9AE5t+p5d0HV4qtb?= =?utf-8?q?vICAp1l+XeZIca44s2chfAqV1XzzIYJ55rDY5o6xLsklt8DiDpr1BTKfC1tQ+VO/Y?= =?utf-8?q?2BTS6CFrjN3vIuuABmka2R0JV/lMAvx+2gsY2FvY1dgj6mK7zSPb15uIefHWGt2PF?= =?utf-8?q?O3gBCeinbVc66Lr+T/xh9TgkdTGA+VYsHiTVuCMAetihve2yGJmiEFi2/YPfMVdNt?= =?utf-8?q?8yj6qPo79jkdRgvyp4g5PcCZwNZLvympSkPOh15XcktUWKTf8leouDrqCUZ28Kjyx?= =?utf-8?q?QbIw7xXoisSbxDkaY8HUdMuimLZu/Wz28Sf2HUKqnXPonVSu49Xwywg9YQHUdw1k3?= =?utf-8?q?Ust+tNkDTLylQdTeumVD5beusmMXWdXC2gyND+zBGOhpH3GlRmfxpUtK43V3GuEx9?= =?utf-8?q?YmYGKgHpgDswp/oRGCIhJzHRl9jt62LYS2H6+HgpoqKANamZfbmdVE64z9dMr+wJ7?= =?utf-8?q?oXHgBfS3uNgWXwNsPbnL/t7w/NXp9NGmfM4x87orjj4OivoqxSWyKgVZZBV/szl2L?= =?utf-8?q?8ojWGL9sdMg1KBTdo7QBEbaKJk1Rv6AsnQC5aKJLjvS5BesKMkGNl1kkOTfC+YCV2?= =?utf-8?q?c3DIC/TMz07bgzY3QazlyY+eSYzBZVR5mTnQpftlnAmesGlPnwoAHWf1/h5+zjK18?= =?utf-8?q?JEBKNC5oJqhEqdXJz4xz4MKRiDQynBIa+pGLPgVm916pVD/Hqs40P1GjkN1djVv5b?= =?utf-8?q?KFHncMRxpSgLjdHz0a/6E0pPYa4bwg+yQjTEaOWlVzP0cxhjSUa0K+b6//F6cgbqf?= =?utf-8?q?3jr7Wc1KhVxaSWjXcjgJd4q11znnhz4LWcjGfwCe9DwIu0c15cbSe2TOtkXflJUrS?= =?utf-8?q?Fzoi98RMxFjur8EcsXr/Um6jPQ1h5vjrgsN1nv/xLJUfFcPCDqI/EyyWqJ2jn72ug?= =?utf-8?q?oHuc+P5xdzCl2gyyORN7tIZvcIDsfYRp3Jnb87MSKPvNEg62CmYBdTlTFaBDQA1PT?= =?utf-8?q?omY/euyezfLykBB54qIstzkeMGED6mEporna++FdgAFz14mDU6dyKeDL0D3ivFsry?= =?utf-8?q?OvipAH4feCT2OLovn+/byQe77tqPo0CbeRnbJf2HuwPS42ATHZ/McK0BHLw5qxl7b?= =?utf-8?q?2htP7TlQm7R2fBjnxgG9JNAVzXf5n9ssewDXS6xHNPbKzJwCklAgcdvLVJw+SCnDB?= =?utf-8?q?6qCxcx+Z/jP3RALBmX9sYM2q22VRQRJSoq1xIqYcsgUtQuvJ9EZKJo//fGgmobku+?= =?utf-8?q?fC1yis5ewzYA0yHke3HZ9p5FaZTyDDfIFNHAWnx0gcV6GDDmGO2DL3ERb2qJ+ITOS?= =?utf-8?q?ETEpQbXKMfsqX/iwkdhREAMZ4tJTpXblqElgkMhv7HKEKdJWTwDd5A=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)(366016)(1800799024)(52116014)(7416014)(376014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ifDDE2GOifiH+wQtNWHiXR5E/+7c?= =?utf-8?q?TzsZ2MxtVFCE5cwtEcu/feOTVbTMOJpMvdwxXXPjzYhpblekv7ZGZSthPRiJ0RzvW?= =?utf-8?q?/iWQrjHNOgNhrpQ9IUyjbmawPyMn2wIpVOotBWxmgXRdFaDT/ismUjwZVlpiFM30m?= =?utf-8?q?1s5Q1trficpbc/let9emTH4MKDG90ZfX4174C3Zjap2V3QzbXnYMHPUxD+hS4nNIm?= =?utf-8?q?PNEgCrkGQp7p4TfsGIzuAzfqf1Kjod2W/F7z/vzXHx09QDkBmQaLQMUappBx6dd/k?= =?utf-8?q?XNEEZrygJnVxaOS7aF3c7HjGHXR7c3wc1WRvPYErVSNyWn+qNbhRjROnw3Tw7yYdT?= =?utf-8?q?3LvCPkufppsTRMwYwAyJMhVuJc3o+2juIi6fN3sDlUEnLkbEg0VxDoLwZU8dF7qMT?= =?utf-8?q?A+W2kLLJZQcZ4iVknbdP8u3ESS7Q7T2amAxevu0LHHPJgjkrbXl6aI4oNNAGRa86V?= =?utf-8?q?8FrmkqkcS6VwJ1CDzhkeWIOWumxNRjNmH85ShGGzlqp1UobapkGEAFE+qhc9+xB9B?= =?utf-8?q?FPvofbZezE4BQfzUqxCCkaUUhydyAdAeWQKZVJ7eYdl5PfGymm8zw8DrHGF6iUt+3?= =?utf-8?q?YucT8KMTptTV+dcRhtWXD+k+zQ1wlgDx0wsKEmAmOsFlghicrl/QnE7QS3O7za4wv?= =?utf-8?q?+7TYh/TM/eRumbNAqwzd71mvglVoS/HPPdu5FoTNx10a7GpUXZyixylNKhof/x0Cu?= =?utf-8?q?YR747N9gmU3Olwt1HRqyAJ2Zyq3Xg5DIDXNnvLv9x4XyjIE1NRxYLsFctJk+TNq0L?= =?utf-8?q?JkdlFER6u0C1SV9g/3o2DwI/9PR/js9ZeU2hV78Yfl89ALN0wsq29YN31tEQKEV4Z?= =?utf-8?q?gmf8w2d5TjGPvyHywXplcetSyaj5i0y+5oRUzi8E5o0f/4JZZ6eLkprQVrLecb+ye?= =?utf-8?q?/U2n5cjT3w3wadr3lZkeXU/iO9XtaBOggEzy3Zz3Kp8O6Gr3U9Jhd/qezeFerKWW+?= =?utf-8?q?npWJURlTkEfe8WC8PLTlDxG7ugKg8hvZ+k39apFzLMmW/SIZaWWuikVdK6N5w8kpU?= =?utf-8?q?enQF5O3hJK2xRdYiqN/0dz4rRVgUr3g4K9g+9y7FHprl0HlAXmqGQ8pXNXpwytoYB?= =?utf-8?q?RHUX6BYiudjhNAeynwnu76lb+/IXegnoF/BVzqJeVOopwSfSeSiJz/SytprCB4Pzs?= =?utf-8?q?P8hOSXCDGD9UH2FvKNC9lmFzRWahWgHc4O67JWphpYSlfuWuyW0hJVw7cWDEz1N4h?= =?utf-8?q?+pjl0BP8EOVZDfXPpDzalVPnNa1REZxfKlvR68OiSmoI0nFDwSWVnMF3WMROEwaJM?= =?utf-8?q?i2zDcgVNlOjL4hPWr3QhnmedmzXa1d0QCCON51BO4pSpCUG/l+iIJl2v4MGK1zq7j?= =?utf-8?q?z2XgXzqxaBLEepCpzhY5KATcvGoCuen6et2qUQDVmyFgq8GjkNPQlHD5X0MHvvkhp?= =?utf-8?q?2NDL/wGdyeJppL2hZJWO1O0ZNRTNmonASLBtR5w6w7HfApGvV262n8A+Ad87ieImu?= =?utf-8?q?NgS5+yLNIxEAdT0met/87SlogulsOpbXxbdDZb2sPSIcXrNxh4PnrOdOzPz5BfXxl?= =?utf-8?q?/+j6cms9p2Zf?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: abd41355-4216-473a-266e-08dda7738698 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2025 16:34:37.9354 (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: lpfYD3MyOtwpCnwzk2EC+b5Xa5+Jla6ZBKHxKDU3hBlFbUknuyZbdh0rKrrV45FYoo8/l5jwGuuD5C+g30iZVg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9062 |
Series |
[v19,01/10] PCI: endpoint: Set ID and of_node for function driver
|
expand
|
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c index 577a9e490115c..95fb3d7c1d45e 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 749cee0bcf2cc..c0864935c6864 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -216,6 +216,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,
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 <Frank.Li@nxp.com> --- change from v14 to v16 - 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(+)