Show a cover letter.

GET /api/covers/2223193/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2223193,
    "url": "http://patchwork.ozlabs.org/api/covers/2223193/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/cover/20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com/",
    "project": {
        "id": 21,
        "url": "http://patchwork.ozlabs.org/api/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com>",
    "list_archive_url": null,
    "date": "2026-04-14T16:31:14",
    "name": "[0/3] Introduce generic context device bus for IOMMU context isolation",
    "submitter": {
        "id": 93147,
        "url": "http://patchwork.ozlabs.org/api/people/93147/?format=api",
        "name": "Ekansh Gupta via B4 Relay",
        "email": "devnull+ekansh.gupta.oss.qualcomm.com@kernel.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-tegra/cover/20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 499873,
            "url": "http://patchwork.ozlabs.org/api/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/covers/2223193/comments/",
    "headers": {
        "Return-Path": "\n <linux-tegra+bounces-13763-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=A+JL0elu;\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-13763-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=\"A+JL0elu\"",
            "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 4fw90n3WfPz1yHH\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 B649F300952F\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 674FD27A91D;\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 E699D28CF4A;\n\tTue, 14 Apr 2026 16:31:20 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPS id 5E285C19425;\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 47ED0F9D0DC;\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=PrUiBhdal3tXDKAAdXKsXg32SrmHbjRC4+XqoQomvPMRLTFmtSsCeNOlnc9KR/YziURHh716fvR7L+x8keUegmZ5auc6eTkRkud8agHipLtgMVVUHVBppEXcJlNkQlmQXsB2sMo8Rw4eALfKQVxjykBrhlqb/FAMo1Wuj3iOepg=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776184281; c=relaxed/simple;\n\tbh=gNqdE9d81DRyUjeuqyd3JZqlKkL8O3oEZBn4pvoKquI=;\n\th=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc;\n b=hAq43hgCJMvUBQRXfAJvfl8OtMppeqeaSfc4Okwv6GJF7E9ilqGtYA5LL9ouqaVifuLbrThmKMjAQpNcYfN6DKtw06mjiOXdzSVVwAZyLV47mRHN7iXr5fJnu+GVvub/TITUymGuMN5q+BSuuzuCz8bpdY11Ux7QuA+YBKYp9og=",
        "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=A+JL0elu; 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=gNqdE9d81DRyUjeuqyd3JZqlKkL8O3oEZBn4pvoKquI=;\n\th=From:Subject:Date:To:Cc:Reply-To:From;\n\tb=A+JL0eluU8YhIaTg9TVLcFGK6AaI6NWA8iV8RdB5LAie5AE4Tj8N8vWVSWz0/AAyg\n\t TsztY8nxACWFQ70K/mdmRl08JzP6x9Wc/xTJbHrhcL2CGVFUzS6ATo4iYvPDkwKnnd\n\t LEMsorVqoZY16SqhRbYn3aR34yLlNZ7JGwKv5vb1n6phC66iFe9Vjta2fOOYotaTCj\n\t XyEBM/bsg3oNQE86A5m8KB2NJ7LJctVDMxLTF8NtUpR002wXFmMakuRjssdtfFxhqi\n\t 6Jb3Vfb+iZ9vgyoKMo/Ighkls5jNFyanvzUcKlkpvc3kfeLeZLwxQR2f2MEYrQh5g3\n\t Gjga8N+Z85RzA==",
        "From": "Ekansh Gupta via B4 Relay\n <devnull+ekansh.gupta.oss.qualcomm.com@kernel.org>",
        "Subject": "[PATCH 0/3] Introduce generic context device bus for IOMMU context\n isolation",
        "Date": "Tue, 14 Apr 2026 22:01:14 +0530",
        "Message-Id": "<20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com>",
        "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",
        "X-B4-Tracking": "v=1; b=H4sIANJr3mkC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n vPSU3UzU4B8JSMDIzMDE0MT3eT83ILSktSk0mLdVAtTozRLS5PUVCNTJaCGgqLUtMwKsGHRsbW\n 1AE2VhC1cAAAA",
        "X-Change-ID": "20260414-computebus-e852f994ee25",
        "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=2594;\n i=ekansh.gupta@oss.qualcomm.com; s=20260223; h=from:subject:message-id;\n bh=gNqdE9d81DRyUjeuqyd3JZqlKkL8O3oEZBn4pvoKquI=;\n b=baxjKIj5uScDYrCIYv1qYvM3a63CPT0wbgKn65lPfsAUxTA/AlgOpd2u7suXXwN600FcGRQqF\n 3nuqpzm5lmqBrQTEYy04WW8GTzfnkrDDDEQwfOQK54jlvxWaVJzVsAz",
        "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": "This series introduces a generic context device bus to replace driver-specific\nimplementations and enable proper IOMMU handling of synthetic context bank\ndevices used by accelerator and GPU drivers.\n\nBackground:\n-----------\nDuring review of the fastrpc driver changes [1], it was pointed out that using\na platform driver for compute bank (CB) devices was incorrect since these are\nsynthetic IOMMU context banks, not real platform devices. The platform driver\napproach also had a race condition where device nodes were created before\nchannel resources were initialized, and probe was async, allowing applications\nto open devices before sessions were available.\n\nThe reviewer suggested following the pattern used in host1x_memory_context_list_init()\nand creating devices manually. During review of the QDA driver [2], it was\nfurther suggested to create a generic bus type that could be shared across\nmultiple drivers rather than having each driver implement its own bus.\n\nThis series implements that suggestion by:\n1. Creating a generic context_device_bus_type in drivers/base/\n2. Migrating the existing host1x driver to use it\n3. Converting fastrpc to use it, fixing the race condition in the process\n\nReferences:\n-----------\n[1] Fastrpc platform driver review:\n    https://lore.kernel.org/all/golcrcr6voafr3fqsnihyjyut36sii55vzws4josfhkjjg3nie@ur43qq2kvlsv/\n\n[2] QDA driver review requesting generic bus:\n    https://lore.kernel.org/all/en5tdgemre7vq5qihe6wnkbrro24vtzwfxwqrpnrrmugxoszs7@x2ox64zeznvd/\n\nSigned-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>\n---\nEkansh Gupta (3):\n      drivers: base: Add generic context device bus\n      gpu: host1x: Migrate to generic context device bus\n      misc: fastrpc: Use context device bus for compute banks\n\n drivers/base/Kconfig             |   3 +\n drivers/base/Makefile            |   1 +\n drivers/base/context_bus.c       |  24 ++++++\n drivers/gpu/host1x/Kconfig       |   5 +-\n drivers/gpu/host1x/Makefile      |   1 -\n drivers/gpu/host1x/context.c     |   2 +-\n drivers/gpu/host1x/context.h     |   3 +-\n drivers/gpu/host1x/context_bus.c |  26 ------\n drivers/iommu/iommu.c            |   6 +-\n drivers/misc/Kconfig             |   1 +\n drivers/misc/fastrpc.c           | 180 +++++++++++++++++++++++++++------------\n include/linux/context_bus.h      |  15 ++++\n 12 files changed, 174 insertions(+), 93 deletions(-)\n---\nbase-commit: 1c7cc4904160c6fc6377564140062d68a3dc93a0\nchange-id: 20260414-computebus-e852f994ee25\n\nBest regards,"
}