Message ID | 20250211-ep-msi-v15-4-bcacc1f2b1a9@nxp.com |
---|---|
State | New |
Headers | show
Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013001.outbound.protection.outlook.com [40.107.159.1]) (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 4DE57263889; Tue, 11 Feb 2025 19:22:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739301766; cv=fail; b=rI69V2p9+sddusCz2mazI1ITrxdOqhUg2Pv8JUIlZafBY+OP2tk4zl1PKoMS5E14JzU9CUOK3oWcGDXWrUawLjBd3yDQfrflE4BZyZej1jUUPP8ksW2h+polkDUe9xmJYAt9QHPmqBd4rYd5gcfASXHHs3KlqGgxu0Ow9Vky82o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739301766; c=relaxed/simple; bh=yqW3ugWGC0Fl1AwT/TvhzlZpjGJD/GZ1k6diCFJ92+w=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=crImhczGi/0LpByx+UNg+8jyy+1UxYzYYLHK0tSPQUCYGCp2JymoDLJ89j85r/919xfkit8/Kezz9yyvWXa4124uFKYgDvRLFva+DlImDYq1QuGJ4bjND25PFB9J82gyTUuXhrPVYUXh2k4ti12p7uQ3U6ITXihgPZW2dYj00Rk= 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=At8OmAG4; arc=fail smtp.client-ip=40.107.159.1 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="At8OmAG4" 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 <Frank.Li@nxp.com> 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit 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 <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>, Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>, =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= <kw@linux.com>, 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> 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=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) 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_|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 |
Series |
PCI: EP: Add RC-to-EP doorbell with platform MSI controller
|
expand
|
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; }
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 │ │ │ │ │ │<n> │ │ 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 <Frank.Li@nxp.com> --- 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(+)