From nobody Sun Feb 8 05:42:18 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010069.outbound.protection.outlook.com [52.101.46.69]) (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 247C413B58B; Fri, 31 Oct 2025 06:30:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892222; cv=fail; b=IQItV9bvkBqUSmyLyMfotbpeUmc774yAisf3wpdChSOOBk2TzFDCrxLkuocAETHRp8XNnf5efv8huWkDIoD6zMj1C8XOSMW8E2gN46Gwaoosg+QwLNd/EOUtEP7+lQHE7gVyhfCwQ6n5o34HBVt/4FQN+3V0fds28VMEAl1/Uww= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892222; c=relaxed/simple; bh=ob4jN55E9Zl/6cMQNNYV9ciLKIo7oUOJbAHTrSp5uOw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=js0ki0wIiPFAEAOIQHHaR6FIFEs0WSGJHl0QxQi+eYmKmwyD5QkUOu+d1JYEwl4EwRpABgLQh4GOCZilNEEGqtsaK34RBN+Db4T9CF4K/WjQR3WdwbLeB3T4dblSjMMnxpcZGfFyr23HnEieBbj8V9Jke6HtTAjyLbVsxQRdbwM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=E+rW/7oE; arc=fail smtp.client-ip=52.101.46.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="E+rW/7oE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QiOGCv96jeTWLlRBAEQmomiwMCuBGIj3HYsVS3bVrDYjAeY2SzJi4hQRfqJVa1hZAFpjblpFiF5j5tBa+5vs1J5GQkLpWFJ/kdA+fv0oKXi/M+DY+OltGxB2gZeJAIQHZA1oIXa/nm2UqEI/2nu/IBk0UYcf5B9KEVB4wNRO295gkOs85dNk8jsTK3c+eAixYZY36ixICe5bgsDhQOwlH9nEdAZ5tjQ59cPTTPvLoyZLxaPlyWIzGismDdc/sK1cJ0B+6TOlVGJ1uqzkaIKQyD98qzvgCrZskTuz4L1etXHheTKach3fwCoBtcWFafVQGtTPxLm/KZx7+8SytvBsqg== 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=gSuAIySYthgInpfZCWj25AM74uRVY8JMnX0CfDzGlWk=; b=u+Dg+gfLhwGjbtZ2ZdQJ4DHPM/rsXBOTL4YZA92sHUekwCCqQ5PLrudr4HcQJPbpOBFxgE4JIwNxoDTj6tyNnf5A5Z9LsUMx+vBFiGBI0rSjrQ9/lyQGRaSaooRz/q8KXUXrIW7txVNPuWrlcxRwaHOFzngAwrH9Meevo+tSH5uYIcDgPJUsrRz7Ds6pV0b9TkbL77rAxkVdPAYmCyMU+S4i4pYwnLhGlzXvR4r3CF/yzwtG5rJ2v20rEoomcrI6+robvspErC+1O+tM0uh6jvJdEr3QNRljGn1enh45KGlyAgBffp8H3TOPwIs4fwntbMsbu9B5ov7cL77eN7qDqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gSuAIySYthgInpfZCWj25AM74uRVY8JMnX0CfDzGlWk=; b=E+rW/7oEcFMgU3Lcq7p0DIPNNTT3jqDlTIvvPPk1/CC6gKMajCyb4uwGV+0HBKJfHTTuS1ALm/ArwqwpoklALUffyfafgF5ZYAWJj+CUz4Zv9ux00lQCxk6W+UbJiWWKTLFHR3S5Q2gXY3oVOniFU+cZFVuUlLtgqg92PJ7QBTVuYgFMY1SHBEsaABNI8g5iB68eNEybeFrDXQkRZQoOVpG5zECo/IARfn6f0fAykc3Vkr3/NHARL3rnrmA4RYnTlxXM/w3m7TovZCs6LzOHMjO+/Ie56pPJ/ec1Fa6YoCf6f5kBOLAjA0cR8gfSa5TygTZJVsz9mPTdKZA47kBfog== Received: from CH0PR08CA0023.namprd08.prod.outlook.com (2603:10b6:610:33::28) by CH8PR12MB9840.namprd12.prod.outlook.com (2603:10b6:610:271::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct 2025 06:30:17 +0000 Received: from CH1PEPF0000A34B.namprd04.prod.outlook.com (2603:10b6:610:33:cafe::e9) by CH0PR08CA0023.outlook.office365.com (2603:10b6:610:33::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.14 via Frontend Transport; Fri, 31 Oct 2025 06:30:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH1PEPF0000A34B.mail.protection.outlook.com (10.167.244.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.10 via Frontend Transport; Fri, 31 Oct 2025 06:30:17 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 30 Oct 2025 23:30:05 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 30 Oct 2025 23:30:04 -0700 Received: from build-amhetre-focal-20250825.internal (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Thu, 30 Oct 2025 23:30:04 -0700 From: Ashish Mhetre To: , , , , , , , , , CC: , , , , , , Ashish Mhetre Subject: [PATCH 1/3] iommu/arm-smmu-v3: Add device-tree support for CMDQV driver Date: Fri, 31 Oct 2025 06:29:57 +0000 Message-ID: <20251031062959.1521704-2-amhetre@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20251031062959.1521704-1-amhetre@nvidia.com> References: <20251031062959.1521704-1-amhetre@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A34B:EE_|CH8PR12MB9840:EE_ X-MS-Office365-Filtering-Correlation-Id: b3cb525a-b536-49e5-cde4-08de1846f514 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|82310400026|376014|1800799024|36860700013|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rg1p4h0evvpjDT5OflZLuwGvPrXbyJhkxd9QbyKj2TUgWp9ZlsOpQYDN3WkA?= =?us-ascii?Q?I7vLBH3SbS1+1Iasa2oPHphhhxr8mWBTgLoBb7QrhprV+xwn3Zf8MXT49Bne?= =?us-ascii?Q?/hvC2hw9g2A/QGlvNyWcCiCjTGYPFg1opuUaxzfjaX1IoparcRIGCJMf6We8?= =?us-ascii?Q?AyNAvNIFiUaNWSUj1suunXyjg63ZzayIgJDgW206Gu/g5HtBZkGRlIuvBnZU?= =?us-ascii?Q?U245/tpQSAhVrMlnfz524lDv30SMqRo5wVqimmOMDoZEl8/9L9F880EKzcS9?= =?us-ascii?Q?+reGAvAEW2FG0aBw+tccexc/S7+m2BjNeRX4CLndDOulj3yrhGy3H/detMXR?= =?us-ascii?Q?2HMpqO8j0giQmlawOgOOUVJLCKn/4Q/fj/+t/ASM9IYlavye1mZp4nWd0Una?= =?us-ascii?Q?qVprlyLrV/vOKvySvjFZ8RL4L1RSV6WWni3HQZI+/gBFWlE2atv6/Tb3fWiY?= =?us-ascii?Q?pAUZjHD9ZUt/SoaqUIY3SWGZDijwh2ObBhKkX03XKI4F9jjz12gKoUg3HDvc?= =?us-ascii?Q?onJGSGs6HoxUlbhdSb//70sw1h1RWUOUS0juQAnb/OkCBIOmjlqlP1FareKA?= =?us-ascii?Q?KQwynE8ByRB4AHKZmo9TtJujtATdagqd4dkg2rFlxnRb9mV+vaY1bpg7ADPT?= =?us-ascii?Q?BjLkCp7hfjHXdHgDjC9KU/KVO1LKO1QNFvJgTHnuiA9vYmUUHlr5kNDsClDU?= =?us-ascii?Q?ikikoPaFOOglce2376egtDemjZtLuqb3YmWcVDZgSfGxAiOX1yYbrexe4U7u?= =?us-ascii?Q?re8GgnpPLTVCmLwQPavYWEcuwH1bWNpbCcESJPkacO9j2CqIzvCcouDzdsr+?= =?us-ascii?Q?PD3zTaUjVVwb+dV+Vy1PChmjqjGeoGBLsa23UCJ/1D7yp5rOvqreW7owyaU6?= =?us-ascii?Q?ibYEgSIk0bjGNuERK1NYmivey/jfEQdXrysrDpoHp3KfvIgfGWmG7yug4xhG?= =?us-ascii?Q?BFDSmfxWLk0/gvtv63Y0Z8nTwoPnwAaVCGTo41Q89BbO1M+QO8nmEEmKkKEv?= =?us-ascii?Q?mUEqmARd2EE8nQA5L0npPXnH5AOwVruwcZ9+kmU0nTtrDe8aLaptRlmhhNF1?= =?us-ascii?Q?E0u70oXXihDzHaGkQKNBDNLNncVmb4WdYf7QOXfnzjE//ohzrFda15QcsaL1?= =?us-ascii?Q?pOY520Jk+Ft6S4iOw2txoAe2j8ppXipqd5jO6O9MuNexneKlwKnlPeR2Izpg?= =?us-ascii?Q?OIkNpYeicn++/JudT8IvNWdsIVhzWFGFcfs0sHiYzmrHTYMo+nqgkiiJ8/E4?= =?us-ascii?Q?x9uzttvkfftpl8tn3pFpmloaTykrQb2Y5QE096RB22CNoKbOuMGpT9SVC4tE?= =?us-ascii?Q?Foq7O1qmmJ3l+bYSH3J3zVzAweKqREUnLdkvztOOhE4OxKsivCdWTTjLGciF?= =?us-ascii?Q?xFRevy5SHGsjZCScpJorUNMd01zgnDAjdd3ubbj3j5DB8JNVwqGXMN8PDYyb?= =?us-ascii?Q?8yEPKt5WWYvgnjWkWp7wIaJK0z8CYL2OKVN3JtkaA2oqzXEkTLB+48pgzsdK?= =?us-ascii?Q?iTRv2+1vofc1VzYgnwqqOA+HtMwv4w58rIPlkTZDTPt48y4Xr0NAstCevYHI?= =?us-ascii?Q?9u1RVG4qA8sThbt7MgV67pzHQlE5btd3JEpFHxGP?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(7416014)(82310400026)(376014)(1800799024)(36860700013)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 06:30:17.0066 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3cb525a-b536-49e5-cde4-08de1846f514 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A34B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH8PR12MB9840 Content-Type: text/plain; charset="utf-8" Add device tree support to the CMDQV driver to enable usage on Tegra264 SoCs. The implementation mirrors the existing ACPI probe path, parsing the nvidia,cmdqv phandle from the SMMU device tree node to associate each SMMU with its corresponding CMDQV instance. Remove the ACPI dependency from Kconfig as the driver now supports both ACPI and device tree initialization through conditional compilation. Signed-off-by: Ashish Mhetre Reviewed-by: Nicolin Chen --- drivers/iommu/arm/Kconfig | 1 - drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 30 +++++++++++++ .../iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 43 ++++++++++++++++++- 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/drivers/iommu/arm/Kconfig b/drivers/iommu/arm/Kconfig index ef42bbe07dbe..5fac08b89dee 100644 --- a/drivers/iommu/arm/Kconfig +++ b/drivers/iommu/arm/Kconfig @@ -121,7 +121,6 @@ config ARM_SMMU_V3_KUNIT_TEST =20 config TEGRA241_CMDQV bool "NVIDIA Tegra241 CMDQ-V extension support for ARM SMMUv3" - depends on ACPI help Support for NVIDIA CMDQ-Virtualization extension for ARM SMMUv3. The CMDQ-V extension is similar to v3.3 ECMDQ for multi command queues diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/ar= m/arm-smmu-v3/arm-smmu-v3.c index a33fbd12a0dd..b2657eaa9e17 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -4530,6 +4530,34 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_= device *smmu) return 0; } =20 +#ifdef CONFIG_TEGRA241_CMDQV +static void tegra_cmdqv_dt_probe(struct device_node *smmu_node, + struct arm_smmu_device *smmu) +{ + struct platform_device *pdev; + struct device_node *np; + + np =3D of_parse_phandle(smmu_node, "nvidia,cmdqv", 0); + if (!np) + return; + + pdev =3D of_find_device_by_node(np); + of_node_put(np); + if (!pdev) + return; + + smmu->impl_dev =3D &pdev->dev; + smmu->options |=3D ARM_SMMU_OPT_TEGRA241_CMDQV; + dev_info(smmu->dev, "found companion CMDQV device: %s\n", + dev_name(smmu->impl_dev)); +} +#else +static void tegra_cmdqv_dt_probe(struct device_node *smmu_node, + struct arm_smmu_device *smmu) +{ +} +#endif + #ifdef CONFIG_ACPI #ifdef CONFIG_TEGRA241_CMDQV static void acpi_smmu_dsdt_probe_tegra241_cmdqv(struct acpi_iort_node *nod= e, @@ -4634,6 +4662,8 @@ static int arm_smmu_device_dt_probe(struct platform_d= evice *pdev, if (of_dma_is_coherent(dev->of_node)) smmu->features |=3D ARM_SMMU_FEAT_COHERENCY; =20 + tegra_cmdqv_dt_probe(dev->of_node, smmu); + return ret; } =20 diff --git a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c b/drivers/iommu= /arm/arm-smmu-v3/tegra241-cmdqv.c index 378104cd395e..a5eb8e23083c 100644 --- a/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +++ b/drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c @@ -11,6 +11,8 @@ #include #include #include +#include +#include =20 #include =20 @@ -917,6 +919,26 @@ tegra241_cmdqv_find_acpi_resource(struct device *dev, = int *irq) return res; } =20 +static struct resource * +tegra241_cmdqv_find_dt_resource(struct device *dev, int *irq) +{ + struct platform_device *pdev =3D to_platform_device(dev); + struct resource *res; + + res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) { + dev_err(dev, "no memory resource found for CMDQV\n"); + return NULL; + } + + if (irq) + *irq =3D platform_get_irq_byname_optional(pdev, "cmdqv"); + if (!irq || *irq <=3D 0) + dev_warn(dev, "no interrupt. errors will not be reported\n"); + + return res; +} + static int tegra241_cmdqv_init_structures(struct arm_smmu_device *smmu) { struct tegra241_cmdqv *cmdqv =3D @@ -1048,11 +1070,14 @@ struct arm_smmu_device *tegra241_cmdqv_probe(struct= arm_smmu_device *smmu) =20 if (!smmu->dev->of_node) res =3D tegra241_cmdqv_find_acpi_resource(smmu->impl_dev, &irq); + else + res =3D tegra241_cmdqv_find_dt_resource(smmu->impl_dev, &irq); if (!res) goto out_fallback; =20 new_smmu =3D __tegra241_cmdqv_probe(smmu, res, irq); - kfree(res); + if (!smmu->dev->of_node) + kfree(res); =20 if (new_smmu) return new_smmu; @@ -1346,4 +1371,20 @@ tegra241_cmdqv_init_vintf_user(struct arm_vsmmu *vsm= mu, return ret; } =20 +static const struct of_device_id tegra241_cmdqv_of_match[] =3D { + { .compatible =3D "nvidia,tegra264-cmdqv" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, tegra241_cmdqv_of_match); + +static struct platform_driver tegra241_cmdqv_driver =3D { + .driver =3D { + .name =3D "tegra241-cmdqv", + .of_match_table =3D tegra241_cmdqv_of_match, + }, +}; +module_platform_driver(tegra241_cmdqv_driver); + +MODULE_DESCRIPTION("NVIDIA Tegra241 Command Queue Virtualization Driver"); +MODULE_LICENSE("GPL"); MODULE_IMPORT_NS("IOMMUFD"); --=20 2.25.1 From nobody Sun Feb 8 05:42:18 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010043.outbound.protection.outlook.com [52.101.56.43]) (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 E2D9D2848B4; Fri, 31 Oct 2025 06:30:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892230; cv=fail; b=UM3I3ch4kz8o/rK7d0wOiFfmtmYC9o6bslhxEbMvAeo/iTZbgs03srprtALdsYlHdiswMUpp+H83/3pT1QoQdPmRU/kXXzliq997I9zoQIKaoJ+T38z+ry9TR2oBQY8LK5l7D/iLUw8Z01iu9BpeFwrdjDRXI+0fymfHqjm0Vcc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892230; c=relaxed/simple; bh=SSbDvBBW6ZXisNzTWWLKQS48Hep8okVDgeN4fnJuY6w=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=e8PdAGTW35uVD9+BRM2HJobjKX14lAM89TlINgnG9kkguMAyqNoAAHx+/RnB5Ba00anMFbKahTcMyYj11imBrHq0M8q5eQJzgO9G5wLJiTDJknMneOCVozgBVfdeA16ekVrUW4eUzmSlcGOnORjI7uKC9bmYLTo/RiHH3Tavrv0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=oEwsMkRZ; arc=fail smtp.client-ip=52.101.56.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="oEwsMkRZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ksv8qvreiZCOBXdPu00ECosl00mYhnPLtdFa2HCV4R5QV0jxGHppBLXPiXGMhbrjhFT/eCKCbjUUD6e6r+VSyYb52rqmxDQjjx7hGtGv8MDYm70fnn9QEjMmKHOdEE4otCpbCINNIFlZ8Rjom3/d2LrXbTkIXuqX8ec+tlFDvcKcJqqXQy5qZcRM+vQynkwGkzehsENnxMiW+YjYYu1XkxJ8blAGZFzpnDPEmiyuiChsE2HOHGtJyxtzhe1r+qXC93W4mauog+izA42zeNafK/c6jQkTvAQwGH8QrnHRHmTJOqBdLAqD776M88fhExJSNsb2A56JjKn9V0dF5VJGBg== 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=IYvj0ypeNxcEODqdKVzZAsLDj14ePhydmCi7JCF5YvY=; b=XWKcwlz5913hwy1aO/Vu5eI+fdZPoLYBtfk9o1XOh0vy2DmqScrsyU288dHH+L7n/cU+8qAq5sO4VVLGtYYsLzF4pEzL9QYa/T7AuLJmig5V3GLyKo7q9i9qij+PCdineKQn8uOztazGi+zpPOBWTynwEfnMBAqdy121OvaHgYAAJDhbsmULvKDYXSphWNjZSMcAYl5OcHdHf2jX184K8Nf8DV+odMkCRm04A219JvmQfkctKxmqKuB0uaXBdvROqlf8LDM8EcPFcQ09I1Ogx/wvjyr+jKyThCpVld0TWA5XKKNeq3SVlxEiyWOpJnVHhLBX724fgozStbu41BkNjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IYvj0ypeNxcEODqdKVzZAsLDj14ePhydmCi7JCF5YvY=; b=oEwsMkRZE7bNBbHNGsKSyEV6tQBR9T11PFfMyKx1bjILvGv904UoYGrvOVrPsZe0V23p2NO0L0E2OjdbRzKmhw1Y6q6SRwIy3caSagZgelm8Ssa02V5Xgu4fXLEg0KyZJm22HuKXnl92agreglZnPFmH2wG2+7bXswpOzNJuUyyPc9qxT9vdFEe3FvBesTrenH0bZwA3geUP5hO+C7StgV3cI9oc8RiWn7etDq6kzqmO1SQIUU2p0rkhs1UvzOgbwN+1ZdzHbQsJ3D1euooVABHXI9zDY4XFGXEUGj3OCA3HW/dbRpj2cwe7o01K/G+P3b9HZRu2hsQ6waHb0DD4sg== Received: from BN0PR04CA0134.namprd04.prod.outlook.com (2603:10b6:408:ed::19) by DM6PR12MB4059.namprd12.prod.outlook.com (2603:10b6:5:215::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct 2025 06:30:25 +0000 Received: from BN2PEPF00004FBF.namprd04.prod.outlook.com (2603:10b6:408:ed:cafe::fe) by BN0PR04CA0134.outlook.office365.com (2603:10b6:408:ed::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.15 via Frontend Transport; Fri, 31 Oct 2025 06:30:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN2PEPF00004FBF.mail.protection.outlook.com (10.167.243.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.10 via Frontend Transport; Fri, 31 Oct 2025 06:30:24 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 30 Oct 2025 23:30:06 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 30 Oct 2025 23:30:05 -0700 Received: from build-amhetre-focal-20250825.internal (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Thu, 30 Oct 2025 23:30:05 -0700 From: Ashish Mhetre To: , , , , , , , , , CC: , , , , , , Ashish Mhetre Subject: [PATCH 2/3] dt-bindings: iommu: Add NVIDIA Tegra CMDQV support Date: Fri, 31 Oct 2025 06:29:58 +0000 Message-ID: <20251031062959.1521704-3-amhetre@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20251031062959.1521704-1-amhetre@nvidia.com> References: <20251031062959.1521704-1-amhetre@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBF:EE_|DM6PR12MB4059:EE_ X-MS-Office365-Filtering-Correlation-Id: b612642d-25ec-4447-fb4b-08de1846f96a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|36860700013|1800799024|13003099007|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BpIayLrNrgqJ3w2hBnpZDBXdV2/YPjsjIR1VG2ITlE68BpOM+yXGn+L0C982?= =?us-ascii?Q?FTRMPEltioZrcnnEsy6CDJhbR6z/vZJDR7jNTSbZb+WnD2AqTneTrfD1Nnvl?= =?us-ascii?Q?mGLAKPs8hnoQGG93Zn36+f8ysw1o6inYks2oMqt0+VLEfxjgUFGSqwFu8CeH?= =?us-ascii?Q?Y/O2kFFSbpiINyv/z2wa4FR/KAaPUrEieq/J3umRTVakQtQW0KiD4P0r5xcj?= =?us-ascii?Q?QpWJdbjrYHqlP5BrZ78ViRNzdW4PPcZsp5Sb99DWn+fMbq0viWlgAiTLZU/+?= =?us-ascii?Q?5UMpNweJoJP6UBigGFEqVS053RVgpRO7V7wUGhjeloo6f18l+Xywugm9pD0k?= =?us-ascii?Q?4H3JN+RdnSP7ATZzY1Tgms1zK6yspgVCGGVUvGFMvK9XPOSoxlUUxykkCQDZ?= =?us-ascii?Q?qtZH9jIK98ElVJhqocHPytZ6dzzpdDHg8Yj/dUIZEnj0soYYVvl+FXlehDOW?= =?us-ascii?Q?DkPD/0pd0Ie1thpniJyLFVpUy7fo1Qf1cE/AiGkRbi9kxJORPmHFDCk+tHYM?= =?us-ascii?Q?mhe4o+CbfDWnXcjSYSriMC21Y5r5XgQvEEW4zpcnJefWgKWURUh2axBA9qgy?= =?us-ascii?Q?iAKwMZpexcgKO7SEaSHURc/zOMSQRfbENBImfMcR/Zl+MuGfXDLUUfkLED5i?= =?us-ascii?Q?WVh4jyrTSwPbqKOgShXnFEbYm6BDVnowBFEb3jXIZsC1AmSmT6bOMDb4b2RE?= =?us-ascii?Q?0hk8o2GzkplMpo5V25JuBmNv8Wl6lEiZGyzRWtxlr41WeMVzg2mbxWASYIUo?= =?us-ascii?Q?wJYuevU4AM/CZcqcxexedez95B8bkAccYS++AdF/FrfoNhixrct3dsvnBQ4b?= =?us-ascii?Q?U2rSVcHpwxCZ0Iyf6BB/O1fwNl86rWtNZtf8yVVh0xX7UA0TvlfM8RpWZjre?= =?us-ascii?Q?azGhNsyTIjoSeSNEQF/6t+OBO3xAPkGo/XVBhC041XW0z4qbH+QSZjHRAnBY?= =?us-ascii?Q?MGjksCp+O7yA+uU7PJSzCIe3bPH0vKr9kCzrjqKt4yyE+m4dVVyyRvmbQh8C?= =?us-ascii?Q?/d8BmGjXxzb9QjyUQg5Va3/LcXDdIB34RUitdePoc0JV4XPr7xVlUsL3jVRt?= =?us-ascii?Q?iY1ed8JoOlixQbVBdQv42eExg7pfnAAlOxONCW/s/70poOFi54lIwCYkcWMr?= =?us-ascii?Q?D/CvJAgcw7YEV3/MOVehm72zbNu+ryUvIyjEPlhLnR2ZtkXaqiC4DP5BbV1F?= =?us-ascii?Q?lRqnbMLH68RlHsGM0JMp2OzWm7fldiwtvEXfFvMvN+r/kWM7iICJCjNTIxwL?= =?us-ascii?Q?Txqv3Ei0RS7b7YveAcdCWPDIjD8pchfCaXSS1Aadht8wGBFdRf+tAuKDn42q?= =?us-ascii?Q?V512rHE6AHeddcunW8V5YU+F0gpe4YjNGQE52a3NH05JzPwi+8PQBeD2u0sN?= =?us-ascii?Q?wYrnj4fIH0RYe5DLIJlKo6y64vgx3vUogBFyb5n+RykdpHCGgbA9K26zE/ob?= =?us-ascii?Q?Kl+v/yNWtVDyP9pDHkOGgQBqF95bgMTeM66UJ94aZyzzQr2s48zhW5s7AfLE?= =?us-ascii?Q?NKeg3TcR70UIrs/5bL3wFWy9qas4nlpVY7IsTqR8eryMvebgIn2Enl3oOByP?= =?us-ascii?Q?eAI/VeAbRle6kSjWNZ+QdYY/vnyFELk9+/9uplPy?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700013)(1800799024)(13003099007)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 06:30:24.2691 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b612642d-25ec-4447-fb4b-08de1846f96a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF00004FBF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4059 Content-Type: text/plain; charset="utf-8" The Command Queue Virtualization (CMDQV) hardware is part of the SMMUv3 implementation on NVIDIA Tegra SoCs. It assists in virtualizing the command queue for the SMMU. Add a new device tree binding document for nvidia,tegra264-cmdqv. Also update the arm,smmu-v3 binding to include an optional nvidia,cmdqv property. This property is a phandle to the CMDQV device node, allowing the SMMU driver to associate with its corresponding CMDQV instance. Signed-off-by: Ashish Mhetre --- .../bindings/iommu/arm,smmu-v3.yaml | 10 ++++ .../bindings/iommu/nvidia,tegra264-cmdqv.yaml | 46 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/iommu/nvidia,tegra264= -cmdqv.yaml diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml b/Doc= umentation/devicetree/bindings/iommu/arm,smmu-v3.yaml index 75fcf4cb52d9..edc0c20a0c80 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml +++ b/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml @@ -58,6 +58,15 @@ properties: =20 msi-parent: true =20 + nvidia,cmdqv: + description: | + A phandle to its pairing CMDQV extension for an implementation on NV= IDIA + Tegra SoC. + + If this property is absent, CMDQ-Virtualization won't be used and SM= MU + will only use its own CMDQ. + $ref: /schemas/types.yaml#/definitions/phandle + hisilicon,broken-prefetch-cmd: type: boolean description: Avoid sending CMD_PREFETCH_* commands to the SMMU. @@ -92,4 +101,5 @@ examples: dma-coherent; #iommu-cells =3D <1>; msi-parent =3D <&its 0xff0000>; + nvidia,cmdqv =3D <&cmdqv>; }; diff --git a/Documentation/devicetree/bindings/iommu/nvidia,tegra264-cmdqv.= yaml b/Documentation/devicetree/bindings/iommu/nvidia,tegra264-cmdqv.yaml new file mode 100644 index 000000000000..f22c370278a3 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/nvidia,tegra264-cmdqv.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVIDIA Tegra264 CMDQV +description: | + The CMDQ-Virtualization hardware block is part of the SMMUv3 implementat= ion + on Tegra264 SoCs. It assists in virtualizing the command queue for the S= MMU. + +maintainers: + - NVIDIA Corporation + +properties: + compatible: + const: nvidia,tegra264-cmdqv + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + interrupt-names: + items: + - const: cmdqv + +required: + - compatible + - reg + - interrupts + - interrupt-names + +additionalProperties: false + +examples: + - | + #include + #include + + cmdqv: cmdqv@8105200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + reg =3D <0x81 0x05200000 0x0 0x00830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; + }; --=20 2.25.1 From nobody Sun Feb 8 05:42:18 2026 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013017.outbound.protection.outlook.com [40.93.201.17]) (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 F38602FB998; Fri, 31 Oct 2025 06:30:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892227; cv=fail; b=aT5EdqbyzHRRiUeMVd614f9wwCh/22r9fa71xdtWf2lTFaqk7MKossrVxBAcdQcHUoskGrBhW4yAoFV2YX6XfJjRlj820xC4ankmlyQf3ElP9pmSGGXenaUJUUYATwcgNxVBnVbrCQWkbDhj+zFsuUsrHrFVwav685V3AWf3758= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761892227; c=relaxed/simple; bh=SIrZC3EdhWDC5P23eiIc12Fn9xp6f/UcG7tsJUr6A1Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nfP654L08vvR3XFCGzEpbQpQ/W1vWGRPa78G7gIKQ0N7lIoptrNMVM3osslihJxcfkgsVdKhZRtkCeHUdjtHrrJdY7RmcN3UscGuhAE3kSY2LCi6e018nrCqcALBT93OJH2vuT4Am7w+eY1ihdd9cjBh08rNXSR5NkEV43/0J+k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=fZaVpm9W; arc=fail smtp.client-ip=40.93.201.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="fZaVpm9W" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CJC+TecQ455CyfEyjQqjxpSRU3PfGoWjGJehjlAPTONRQ/kKkb7jUYUb1hltln2yxxRDubEVP46SuJcjDznVUjcYIM97Jca45pCiHWowTtXa1sSOucAF96WhFWrKA23LFOPyB+B50Z/fjoqNpGsLTLA+lvr22Dp5j4r5+3FITNXxCE15Q89TtS1V0GmgwRNMGK8IsvWoyekFwTu/c6558dxdqVL+d7ekDraScN9cxGZk+x0Mlrt207F2a4VkERkvS2yGT9BtxBM3wmuL2wx7O2zMednTgXzIcRPvf77BewT7L694s2FhuGr9WNlqY7Xbco25Inrxm1d+mQC8hyytwA== 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=woad9F3kNbMCyJ1Xi82xrvKESKMTX5VuL3O1Jz4AvKk=; b=GyEIiHmy6qSXDlfnKcOgY6YZI2cO9bt8EOAACwcLUIt5sntZaNx9FeQCrWw/NsFdoPciCAQwPcIhjyrdpTlsWW1wi5ksAM2HHgiB7E7BtuCH4lSzggkYb76kWbay7EJWkHcY9PjwZBezqKSzqs1a79tPBI36NPIMuvk4hDicOc9ttu+2tvMjkyUi9jL/FOFMt4XwTEYgMcHlHBtM9nhs9Dg2bZXaUb3JpyEsUdz9x3LVjfWS0Wq5iCM2LgGHLthXSnD5uah65R4kMDsv2DRL9x6ldHMioqJgQqsN7kVgJm89Sf7KPDt/7FMwLa7VInNNzuh3B+ziZ0Ng2r+E+TscYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=woad9F3kNbMCyJ1Xi82xrvKESKMTX5VuL3O1Jz4AvKk=; b=fZaVpm9WNCl1e5L5WOaVz1LMnxJv1P3wbZs1s/dzFNEHCdnbskRJsxkQc/Z1RUfqtXEiQkQJhyiQpvmOXcAF0cE23cDsWjGMw/89QtU/RjWdyQM4YAfHV/seFF3yzOfJM6hc81gDt54t0/0Oa/Jr9Ema9jo9TdQlFTqTPc726ncqVTtMa0vPcLhLJi7nfqY2EMYhsNthup68Jl5d72QLej1c6XSGgTw5Zl85ZNVEzfjpQ6VWBHI+xQ8p6RlsHXG2ETwxxf/vh4TBMM1ZocCRtllG4Ar5wYo5qNWoQ8jUdEHhN2ILl9L621/hGll6+aN1MboRHnmTFd5DOC4N7FnVWg== Received: from CH5PR04CA0021.namprd04.prod.outlook.com (2603:10b6:610:1f4::14) by CH3PR12MB7716.namprd12.prod.outlook.com (2603:10b6:610:145::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.19; Fri, 31 Oct 2025 06:30:21 +0000 Received: from CH1PEPF0000A34A.namprd04.prod.outlook.com (2603:10b6:610:1f4:cafe::e) by CH5PR04CA0021.outlook.office365.com (2603:10b6:610:1f4::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.15 via Frontend Transport; Fri, 31 Oct 2025 06:30:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH1PEPF0000A34A.mail.protection.outlook.com (10.167.244.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.10 via Frontend Transport; Fri, 31 Oct 2025 06:30:20 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 30 Oct 2025 23:30:06 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 30 Oct 2025 23:30:06 -0700 Received: from build-amhetre-focal-20250825.internal (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Thu, 30 Oct 2025 23:30:05 -0700 From: Ashish Mhetre To: , , , , , , , , , CC: , , , , , , Ashish Mhetre Subject: [PATCH 3/3] arm64: dts: nvidia: Add nodes for CMDQV Date: Fri, 31 Oct 2025 06:29:59 +0000 Message-ID: <20251031062959.1521704-4-amhetre@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20251031062959.1521704-1-amhetre@nvidia.com> References: <20251031062959.1521704-1-amhetre@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A34A:EE_|CH3PR12MB7716:EE_ X-MS-Office365-Filtering-Correlation-Id: 99cd8215-8bc4-4fee-c334-08de1846f75f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|1800799024|36860700013|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OIkKq4TnmCv65OlfaWGAc6PmGkrDXiFfw4wgc0OGbs9qUFYnyR8y7j/js9+N?= =?us-ascii?Q?GXP7VMhE9fx8Js0O3vrjHSwn0IijAyiLxFF6AShbgLnRGEj5KUa+sbBqBTmo?= =?us-ascii?Q?1ERAvL14gAKvmiRU099KCzpDlvD8cueH9v/4FlrBdi8VA/uKvbr/J3heT0PC?= =?us-ascii?Q?TQ/0ue7G8CmwcbBJw3r0EMEevX7BZnBFob0boXut2M6QLb9DPgMmOtWJC0xG?= =?us-ascii?Q?DUBtSe1WuSK2AsioIZUEU2UF9cQcmAcn7FmTzJx2Jm5oLYw0Lr+l887nFvYs?= =?us-ascii?Q?coHbqfmfK1O/vfl0KBUZ3EpZUsQFGuKcQUav2fucWHPO+fYecOglPjXkhryX?= =?us-ascii?Q?TG6owrxVOpe3BEETm6a23f/4ojcovVW2q4JSKV4xphd0ocLZWai7l393952O?= =?us-ascii?Q?SqGLwXp3eglxnQVbw0tMlAxs0Yoymk1SR8+vizPQ2ord3QH6Fy6oPY4IrvZg?= =?us-ascii?Q?g+Fb2/b8Qoml/Cz323I0hCexO4TckpTL+Ar+KzAYK4ytTHsVLCHpN0Aladhx?= =?us-ascii?Q?N5AmVdlLvMmq2mJ82hMzXRmUv6m8EMCl5kp5NT9aeC0uSJDksAQl76pd3OgB?= =?us-ascii?Q?liS9RRPk+GeVfG09JphZVrcoQhtKBXxg3G5WWXtMDsMBEynwPLv/CTn8Y2oC?= =?us-ascii?Q?NWZ4vMc13MA2q+oGKFUWh3bsbZvkra86JwHKiJtZXpq+zIcg+FwdifOyHzkn?= =?us-ascii?Q?mZczNF3RsSTJKl3qnt3+F/nVv5k8djuU2KiplKKbAN11MMIvVD8o13QIHs18?= =?us-ascii?Q?9D3rJqatN2mi0mtXfwFKs0xomOpkDh3DeDvwxHXiDyY9DIHQ0Sr+prC5JnSL?= =?us-ascii?Q?zXVr9mCJZfR1RHIzjuv9lnUeYeE/7A0nHozOjbW7ZVgzOiWJczEh8H75JX84?= =?us-ascii?Q?LvKohsm4LKgTpZi3gYnTIYoeiU3VTutix0m/JIqFAFMME03kOxmYCDW/p5Ah?= =?us-ascii?Q?idEYKA6N1gfC8pK3Q/s6pFhFG3uL2BPLC7cj5y30gX9b8mQ2dz00+vhK4+m6?= =?us-ascii?Q?0hg2/x18Mrd0Xw33RQyZ44aNhXNhiP4joF7GBa8VNC1LsMqaE3dmtVPA+cKq?= =?us-ascii?Q?AhDl/lOmfyE/+rM/E+db9Pe2b7U1oKPhRAiALNAzwHL1Q8GVz3n2FZnZLM5A?= =?us-ascii?Q?GDuMXxQpEra0ljb75xgV+aQC+8hnzwcRUHx/kZStVjLVh2qmmGVZjiaZ4W5m?= =?us-ascii?Q?op13LW5//Q40d70Rk76fqbVk30dj9bSyULffQMgeoGOyDBeLGu/iytuJ15yb?= =?us-ascii?Q?jjcpEerViBhSUMpNe7ajjHQihakXuW5Bdinvi1JwlEWBuXsKuEjqbyiAYIpe?= =?us-ascii?Q?AI8C9m+RwscjJ2TgJp8lYpQvisDwFAm4HdUqTNjngaFCrp8hGEtWXtaLQ9fD?= =?us-ascii?Q?dROaucojhemUe9s8XqXktIS30AxRTt9tbwGHkorYnqzKgAx5jOD8D4TCIzk2?= =?us-ascii?Q?PANMWSsRW6XJU65rhGoMPPmlEfaVv9FgF2DLWuQM1vSeBojEMxkqwZGDafw7?= =?us-ascii?Q?DSzq9kPSih7bdnifOQczeSs8infQ9MYHXAsGID1DfC6HfJ0Ui1ApzRTulz2o?= =?us-ascii?Q?78DI0TBgT7pn9N6Gq13btL6Dy2rdM0qCrdYji4Wq?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700013)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 06:30:20.8490 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 99cd8215-8bc4-4fee-c334-08de1846f75f X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A34A.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7716 Content-Type: text/plain; charset="utf-8" The Command Queue Virtualization (CMDQV) hardware is part of the SMMUv3 implementation on NVIDIA Tegra SoCs. It assists in virtualizing the command queue for the SMMU. Add device tree nodes for the CMDQV hardware in the Tegra264 SoC device tree and enable them on the tegra264-p3834 platform where SMMUs are enabled. Each SMMU instance is paired with its corresponding CMDQV instance via the nvidia,cmdqv property. Signed-off-by: Ashish Mhetre --- .../arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 8 +++ arch/arm64/boot/dts/nvidia/tegra264.dtsi | 50 +++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi b/arch/arm64/bo= ot/dts/nvidia/tegra264-p3834.dtsi index 06795c82427a..375d122b92fa 100644 --- a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi @@ -26,5 +26,13 @@ iommu@5000000 { iommu@6000000 { status =3D "okay"; }; + + cmdqv@5200000 { + status =3D "okay"; + }; + + cmdqv@6200000 { + status =3D "okay"; + }; }; }; diff --git a/arch/arm64/boot/dts/nvidia/tegra264.dtsi b/arch/arm64/boot/dts= /nvidia/tegra264.dtsi index 872a69553e3c..609f6f5f7ef5 100644 --- a/arch/arm64/boot/dts/nvidia/tegra264.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra264.dtsi @@ -212,6 +212,7 @@ smmu1: iommu@5000000 { =20 #iommu-cells =3D <1>; dma-coherent; + nvidia,cmdqv =3D <&cmdqv1>; }; =20 smmu2: iommu@6000000 { @@ -224,6 +225,25 @@ smmu2: iommu@6000000 { =20 #iommu-cells =3D <1>; dma-coherent; + nvidia,cmdqv =3D <&cmdqv2>; + }; + + cmdqv1: cmdqv@5200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + status =3D "disabled"; + + reg =3D <0x00 0x5200000 0x0 0x830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; + }; + + cmdqv2: cmdqv@6200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + status =3D "disabled"; + + reg =3D <0x00 0x6200000 0x0 0x830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; }; =20 mc: memory-controller@8020000 { @@ -288,6 +308,7 @@ smmu0: iommu@a000000 { =20 #iommu-cells =3D <1>; dma-coherent; + nvidia,cmdqv =3D <&cmdqv0>; }; =20 smmu4: iommu@b000000 { @@ -300,6 +321,25 @@ smmu4: iommu@b000000 { =20 #iommu-cells =3D <1>; dma-coherent; + nvidia,cmdqv =3D <&cmdqv4>; + }; + + cmdqv0: cmdqv@a200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + status =3D "disabled"; + + reg =3D <0x00 0xa200000 0x0 0x830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; + }; + + cmdqv4: cmdqv@b200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + status =3D "disabled"; + + reg =3D <0x00 0xb200000 0x0 0x830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; }; =20 i2c14: i2c@c410000 { @@ -541,6 +581,16 @@ smmu3: iommu@6000000 { =20 #iommu-cells =3D <1>; dma-coherent; + nvidia,cmdqv =3D <&cmdqv3>; + }; + + cmdqv3: cmdqv@6200000 { + compatible =3D "nvidia,tegra264-cmdqv"; + status =3D "disabled"; + + reg =3D <0x00 0x6200000 0x0 0x830000>; + interrupts =3D ; + interrupt-names =3D "cmdqv"; }; }; =20 --=20 2.25.1