Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2223194/?format=api
{ "id": 2223194, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2223194/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/patch/20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com/", "project": { "id": 21, "url": "http://patchwork.ozlabs.org/api/1.1/projects/21/?format=api", "name": "Linux Tegra Development", "link_name": "linux-tegra", "list_id": "linux-tegra.vger.kernel.org", "list_email": "linux-tegra@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com>", "date": "2026-04-14T16:31:15", "name": "[1/3] drivers: base: Add generic context device bus", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d9ca31fd9dd1f10628935addcdb454db221420cf", "submitter": { "id": 93147, "url": "http://patchwork.ozlabs.org/api/1.1/people/93147/?format=api", "name": "Ekansh Gupta via B4 Relay", "email": "devnull+ekansh.gupta.oss.qualcomm.com@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-tegra/patch/20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com/mbox/", "series": [ { "id": 499873, "url": "http://patchwork.ozlabs.org/api/1.1/series/499873/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/list/?series=499873", "date": "2026-04-14T16:31:17", "name": "Introduce generic context device bus for IOMMU context isolation", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499873/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2223194/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2223194/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-tegra+bounces-13762-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-tegra@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Sl23EOQO;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13762-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"Sl23EOQO\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fw90p02dgz1yHN\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 02:37:13 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id EB0E2302BA42\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 16:31:22 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 761A13ED5D5;\n\tTue, 14 Apr 2026 16:31:22 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id E68D8288C30;\n\tTue, 14 Apr 2026 16:31:20 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPS id 6EB9AC2BCB5;\n\tTue, 14 Apr 2026 16:31:20 +0000 (UTC)", "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 5D462F9D0E7;\n\tTue, 14 Apr 2026 16:31:20 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776184281; cv=none;\n b=WxEL3Ka4B8dgPSP3uNkZ6i/yrwpLukE84+rTQ/iCfwmFCOhbhD6CMWsKih+wUXVxZrOBiZAhFeOGw23q3zc5QEIf7GJFz8OAYrf2NH/d+TUPhV/JePjCu9xbViqtnuwP+B2EstPaSQur3254M+JxCFJn8U4aSlDhbeoavJTaG9A=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776184281; c=relaxed/simple;\n\tbh=Xcje/jed8ZwOn7gRcR4WUVa/XkNJGc5sFLasaQZsHEo=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=rUKh1FEAMxt2mIEPg83e4TYgwqQR8nxNPhe73EBXM7dI98txqGQW5493R1L559/dUresInp4mrwMs3SEpaWttZQTeYcZWlHmBuc+prV93as0VgZA6Kd+NguoS2Bd7LrnH0HlSypTWydDrwAf9KclcX1p+I/d3tGIgAZSCD4Ax7Q=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=Sl23EOQO; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776184280;\n\tbh=Xcje/jed8ZwOn7gRcR4WUVa/XkNJGc5sFLasaQZsHEo=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=Sl23EOQOrOUSm+TNf/WDDX6GJXmyjo1lPHEAT2oe79CFibRS8Al27zKKghKKgz5sS\n\t jb2Dk9Fj0VLuMBnKB+h3nMed+ZqCj5buBgv1R3fbASvUAhqVvTsy1E5XxsUVpEkMQ7\n\t O+9+a+gF4Dxf/PhWz4Tuwv1aJo0bDQDxrcfKV+oQyugQltQYmfPE2EU+3WptXIWmE6\n\t rK53tfASjizMPyrovDO6BY8C3RFTqFHbcktC5jpXvct6jh1dsnZVpnTUPjo7Bmz5N0\n\t h1dX63c6DcVK+V8mY7Hl/+qKq/bzhUjXJXjDoqZYM1dr98LX9/7RuzswlOChPoyXzU\n\t JrROHtlfrym9g==", "From": "Ekansh Gupta via B4 Relay\n <devnull+ekansh.gupta.oss.qualcomm.com@kernel.org>", "Date": "Tue, 14 Apr 2026 22:01:15 +0530", "Subject": "[PATCH 1/3] drivers: base: Add generic context device bus", "Precedence": "bulk", "X-Mailing-List": "linux-tegra@vger.kernel.org", "List-Id": "<linux-tegra.vger.kernel.org>", "List-Subscribe": "<mailto:linux-tegra+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-tegra+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com>", "References": "<20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com>", "In-Reply-To": "<20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com>", "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n Thierry Reding <thierry.reding@kernel.org>,\n Mikko Perttunen <mperttunen@nvidia.com>, David Airlie <airlied@gmail.com>,\n Simona Vetter <simona@ffwll.ch>, Joerg Roedel <joro@8bytes.org>,\n Will Deacon <will@kernel.org>, Robin Murphy <robin.murphy@arm.com>,\n Arnd Bergmann <arnd@arndb.de>, Srinivas Kandagatla <srini@kernel.org>,\n Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,\n Bharath Kumar <quic_bkumar@quicinc.com>,\n Chenna Kesava Raju <quic_chennak@quicinc.com>", "Cc": "linux-kernel@vger.kernel.org, driver-core@lists.linux.dev,\n dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org,\n iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org,\n Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1776184278; l=3013;\n i=ekansh.gupta@oss.qualcomm.com; s=20260223; h=from:subject:message-id;\n bh=GiaW9KX6EnyHl15uXUaLI85Eugyx6gIsQQrGnKwyVVk=;\n b=g7ZvTKbHA9UTo3rRc56oQRClDN77YoCoOIyf0Ch0pvK4S/d5lszMPmM5fNmU56g6YpXEOAu9x\n J6BS+tcG340ACkYknZbhTqxrn/ex62ByFElTbD0dzk54v75d4aqeryz", "X-Developer-Key": "i=ekansh.gupta@oss.qualcomm.com; a=ed25519;\n pk=n0SepARizye+pYjhjg1RA5J+Nq4+IJbyRcBybU+/ERQ=", "X-Endpoint-Received": "by B4 Relay for ekansh.gupta@oss.qualcomm.com/20260223\n with auth_id=647", "X-Original-From": "Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>", "Reply-To": "ekansh.gupta@oss.qualcomm.com" }, "content": "From: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>\n\nIntroduce a new generic bus type for synthetic context bank devices\nthat require IOMMU context isolation. This bus provides a shared\ninfrastructure for accelerator and GPU drivers that create virtual\ndevices representing IOMMU context banks.\n\nCurrently, drivers like host1x implement their own bus types for\ncontext devices. This generic implementation allows multiple drivers\nto share the same bus infrastructure, simplifying the IOMMU subsystem\nintegration and reducing code duplication.\n\nSigned-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>\n---\n drivers/base/Kconfig | 3 +++\n drivers/base/Makefile | 1 +\n drivers/base/context_bus.c | 24 ++++++++++++++++++++++++\n include/linux/context_bus.h | 15 +++++++++++++++\n 4 files changed, 43 insertions(+)", "diff": "diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig\nindex f7d385cbd3ba..479bc4bb442b 100644\n--- a/drivers/base/Kconfig\n+++ b/drivers/base/Kconfig\n@@ -4,6 +4,9 @@ menu \"Generic Driver Options\"\n config AUXILIARY_BUS\n \tbool\n \n+config CONTEXT_DEVICE_BUS\n+\tbool\n+\n config UEVENT_HELPER\n \tbool \"Support for uevent helper\"\n \thelp\ndiff --git a/drivers/base/Makefile b/drivers/base/Makefile\nindex 8074a10183dc..ab9a0b2dc73b 100644\n--- a/drivers/base/Makefile\n+++ b/drivers/base/Makefile\n@@ -8,6 +8,7 @@ obj-y\t\t\t:= component.o core.o bus.o dd.o syscore.o \\\n \t\t\t topology.o container.o property.o cacheinfo.o \\\n \t\t\t swnode.o faux.o\n obj-$(CONFIG_AUXILIARY_BUS) += auxiliary.o\n+obj-$(CONFIG_CONTEXT_DEVICE_BUS) += context_bus.o\n obj-$(CONFIG_DEVTMPFS)\t+= devtmpfs.o\n obj-y\t\t\t+= power/\n obj-$(CONFIG_ISA_BUS_API)\t+= isa.o\ndiff --git a/drivers/base/context_bus.c b/drivers/base/context_bus.c\nnew file mode 100644\nindex 000000000000..6ddb6c27bf69\n--- /dev/null\n+++ b/drivers/base/context_bus.c\n@@ -0,0 +1,24 @@\n+// SPDX-License-Identifier: GPL-2.0-only\n+// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n+\n+#include <linux/context_bus.h>\n+#include <linux/init.h>\n+\n+const struct bus_type context_device_bus_type = {\n+\t.name = \"context-device\",\n+};\n+EXPORT_SYMBOL_GPL(context_device_bus_type);\n+\n+static int __init context_device_bus_init(void)\n+{\n+\tint err;\n+\n+\terr = bus_register(&context_device_bus_type);\n+\tif (err < 0) {\n+\t\tpr_err(\"context-device bus registration failed: %d\\n\", err);\n+\t\treturn err;\n+\t}\n+\n+\treturn 0;\n+}\n+postcore_initcall(context_device_bus_init);\ndiff --git a/include/linux/context_bus.h b/include/linux/context_bus.h\nnew file mode 100644\nindex 000000000000..0cd44cb5b147\n--- /dev/null\n+++ b/include/linux/context_bus.h\n@@ -0,0 +1,15 @@\n+/* SPDX-License-Identifier: GPL-2.0-only */\n+/*\n+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n+ */\n+\n+#ifndef __LINUX_CONTEXT_BUS_H\n+#define __LINUX_CONTEXT_BUS_H\n+\n+#include <linux/device.h>\n+\n+#ifdef CONFIG_CONTEXT_DEVICE_BUS\n+extern const struct bus_type context_device_bus_type;\n+#endif\n+\n+#endif /* __LINUX_CONTEXT_BUS_H */\n", "prefixes": [ "1/3" ] }