get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2197111/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2197111,
    "url": "http://patchwork.ozlabs.org/api/patches/2197111/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260217-master-v1-3-727e26cdfaf5@nvidia.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api",
        "name": "Linux PCI development",
        "link_name": "linux-pci",
        "list_id": "linux-pci.vger.kernel.org",
        "list_email": "linux-pci@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260217-master-v1-3-727e26cdfaf5@nvidia.com>",
    "list_archive_url": null,
    "date": "2026-02-17T05:54:43",
    "name": "[3/4] misc: pci_endpoint_test: Add BAR skip mask and NVIDIA Tegra EP device IDs",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "86ab9edd4d524f2f56d51e5827a6c2d9c77c111e",
    "submitter": {
        "id": 72399,
        "url": "http://patchwork.ozlabs.org/api/people/72399/?format=api",
        "name": "Manikanta Maddireddy",
        "email": "mmaddireddy@nvidia.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260217-master-v1-3-727e26cdfaf5@nvidia.com/mbox/",
    "series": [
        {
            "id": 492374,
            "url": "http://patchwork.ozlabs.org/api/series/492374/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=492374",
            "date": "2026-02-17T05:54:40",
            "name": "PCI: endpoint: Add BAR_DISABLED support to PCI endpoint framework",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492374/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2197111/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2197111/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-47411-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-pci@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=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=Amb/BFR/;\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-pci+bounces-47411-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"Amb/BFR/\"",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.52.63",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com",
            "smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com"
        ],
        "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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFTQt2WW6z1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 16:56:06 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 92716301AB8C\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 05:55:48 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 8191D29E10C;\n\tTue, 17 Feb 2026 05:55:47 +0000 (UTC)",
            "from BL2PR02CU003.outbound.protection.outlook.com\n (mail-eastusazon11011063.outbound.protection.outlook.com [52.101.52.63])\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 25F3927B50F;\n\tTue, 17 Feb 2026 05:55:45 +0000 (UTC)",
            "from CH2PR03CA0003.namprd03.prod.outlook.com (2603:10b6:610:59::13)\n by IA4PR12MB9785.namprd12.prod.outlook.com (2603:10b6:208:55b::15) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.16; Tue, 17 Feb\n 2026 05:55:41 +0000",
            "from CH1PEPF0000A345.namprd04.prod.outlook.com\n (2603:10b6:610:59:cafe::b0) by CH2PR03CA0003.outlook.office365.com\n (2603:10b6:610:59::13) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.16 via Frontend\n Transport; Tue, 17 Feb 2026 05:55:41 +0000",
            "from mail.nvidia.com (216.228.117.161) by\n CH1PEPF0000A345.mail.protection.outlook.com (10.167.244.8) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9632.12 via Frontend Transport; Tue, 17 Feb 2026 05:55:41 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 16 Feb\n 2026 21:55:30 -0800",
            "from mmaddireddy-ubuntu.nvidia.com (10.126.230.35) by\n rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.20; Mon, 16 Feb 2026 21:55:24 -0800"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771307747; cv=fail;\n b=huQnwhYhYZU7zHPCDMYR417/9kPiH6qacUlu9l2dyj5V3boSBizDMKUFtdg6w7erRr6L8IvWBlEI4J+b+214p0w3WPA6tla/JrjYmgcEC0y3yIQg25w8qRIEIWOkiUSONxXJEDXCWuTTs6yfaMMVs+L+ODz4AkTrnBsdnOFWYz8=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=D8ZcvGFfHY4otTSG1X//pB29rFxtwhkV3WKpHYhBPoP/CV6me3wuKprOPaYPqCAJro5tuijkJaNa7OZBI+HssHndjZ/gEYFLYdHraD17pHhNXz5Q8ILbkYH95GRRkYTro5k8Z3pPb3SOer5qWv9StHdOzLqyiAUjxXxwsSanMJnn+z+37/lfKHd+k52V+dpFCA4eZwAGXBMr0EQ7t4DlEk2pl/Q1UfzgabX5orzRUkviK0gziq4bVqW2q67iQoCYFVUy/IARS0bFeKH8GF2ID2qS96W9AbBR2rCObD1FzJjAsl2WeOrtKq0k+JD9AvKwvTVYUxmOwMsIgAYq144utA=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771307747; c=relaxed/simple;\n\tbh=YwZ6681eagkm6tUghhbAkb+MD2F1S+UXy86L8uz4cVo=;\n\th=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=osOqbKH/uCZHdIEfBnT4xsFPuRkrKkPuvuQHV41CvjOAOE6073AgYn+BDUeVJYiCDXPb7fnIcYVkawI3GHeGH9SqZ+7Ta8WdgqEgLbYn7LkcqvW1XpD/NVOKChVKLHlfWuER144oIX+ltUusdZ/fUd9Sz442V1RMEB1JS1uSFQw=",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=kSpJBHPqA1YLc9cuwCtYG0wvuJS/PoVz6uWbojMBSrI=;\n b=F8bOzJkK3e/oKcFstzAjbUvsZ94ym5wyQ1dBO0oBKAeEfmqJJqR83Xy41Uz5MFJ4zdRnFgplNpR8timANDIMnmYPzizKkMYCwxPduvutDW8jVFj5+MYGRyOa9O/pyHTTUZLhkh9GZYEjvwIrgET3/Z60hfQPn8oNe7c8Ee5Izn0S50I30Lnr1Q/N4sZBlOerZegfkANQw0HupctjcZBzTAgrrMQ7bk8oL8sQOOznv85+GZ7uw3vnreLcsX2M2gzjAe2LD2v4ptnIG6PXLJoaUPttsv6QMHcZtEo43+9BcAe1uZRBCoXZXkAj72DCxEmUtCGaCdZTKOCjtLn72Gugvg=="
        ],
        "ARC-Authentication-Results": [
            "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=Amb/BFR/; arc=fail smtp.client-ip=52.101.52.63",
            "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=kSpJBHPqA1YLc9cuwCtYG0wvuJS/PoVz6uWbojMBSrI=;\n b=Amb/BFR/PhInnu1UmAAf/x7oEavgeptsQtGUHh5yE9gKSlHKXR8OZXpH51o5UGm5vpjDgFnRlli8/Eml4ECYehkP12MzJAqPCSxg1lg637acxiQIfFrrRwOk2jW+Uc0VDXnekqAi/Y6YYqdqHbpPbsuE18lbQhR3e5CYw3xoJRVBVfM6ViP+Gt2ZKKPw7zutvC1s0ZYi2+9CzvB2lztvgyNh/UfFK10g/m+HmxRzCcGP7qxABi7rAhHtMGX8bKLhZ/G77TpVyTmRfzhospKxaXgR8WGvn26EQJRzPhqIDTfwYjVCGzcgQ291SW7LaJEKSxpYVmpIH6DalWfM+HUFfw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C",
        "From": "Manikanta Maddireddy <mmaddireddy@nvidia.com>",
        "To": "Niklas Cassel <cassel@kernel.org>, Vidya Sagar <vidyas@nvidia.com>,\n Manivannan Sadhasivam <mani@kernel.org>, =?utf-8?q?Krzysztof_Wilczy=C5=84sk?=\n\t=?utf-8?q?i?= <kwilczynski@kernel.org>,\n \"Kishon Vijay Abraham I\" <kishon@kernel.org>,\n Bjorn Helgaas <bhelgaas@google.com>,\n \"Lorenzo Pieralisi\" <lpieralisi@kernel.org>, Rob Herring <robh@kernel.org>,\n \"Thierry Reding\" <thierry.reding@gmail.com>,\n Jonathan Hunter <jonathanh@nvidia.com>, Arnd Bergmann <arnd@arndb.de>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,\n Masami Hiramatsu <mhiramat@kernel.org>",
        "CC": "Manikanta Maddireddy <mmaddireddy@nvidia.com>,\n\t<linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>,\n\t<linux-tegra@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>",
        "Subject": "[PATCH 3/4] misc: pci_endpoint_test: Add BAR skip mask and NVIDIA\n Tegra EP device IDs",
        "Date": "Tue, 17 Feb 2026 11:24:43 +0530",
        "Message-ID": "<20260217-master-v1-3-727e26cdfaf5@nvidia.com>",
        "X-Mailer": [
            "git-send-email 2.34.1",
            "b4 0.14.3"
        ],
        "In-Reply-To": "<20260217-master-v1-0-727e26cdfaf5@nvidia.com>",
        "References": "<20260217-master-v1-0-727e26cdfaf5@nvidia.com>",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-pci@vger.kernel.org",
        "List-Id": "<linux-pci.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-NVConfidentiality": "public",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "rnnvmail203.nvidia.com (10.129.68.9) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CH1PEPF0000A345:EE_|IA4PR12MB9785:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "3f6967b6-6d0b-4d34-9f57-08de6de92efd",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|1800799024|82310400026|36860700013|7416014|376014|921020;",
        "X-Microsoft-Antispam-Message-Info": "=?utf-8?q?dlI8GlprYbimmyvb7UfWlrUoWisJPeT?=\n\t=?utf-8?q?w/vahSbcE/Up6PIhV7kaiVq36FijvxlCae2cHdCInp3+AlbQVz6hId9TMrTQuT9ci?=\n\t=?utf-8?q?7k3+bY9Vq4AY3n/FSACTU//VJAnJRJnZRVRcf1zHoBuj/WbR8O0F+bEUGyGHIkFp9?=\n\t=?utf-8?q?EEUApe2DXitXpefK3IVcvzPJ4UcxvuAgJr0Z5ulfFctMlPcR8jBeoiRknMamnCPKA?=\n\t=?utf-8?q?zXDp11jTwTk3EGpfSISgh7K2mrH8zevcSVjmV4ReLJ2Rah6SvKKrV4qBBJ6Q9SNZE?=\n\t=?utf-8?q?ZH5QBxosDJg0ElH6VV3dMCxiyD7j+kAqfnjGTUZ04vc3oXCD93L/YcTGAoCo3ga6p?=\n\t=?utf-8?q?1mQo97w+emtwUMy0pte6A/w/yEMl7iDCA8RAk1bACbNGhOc82pRCkJRIiArEO1a9z?=\n\t=?utf-8?q?45Z/lwlHUT6JUZ51QhzTANY/8zH3JbYJtLLAE9G+hLW5vUSHQIIKqhzVzfgsznRUG?=\n\t=?utf-8?q?ugZGSvGxiH7uMiMnX86b/PujNs/QTH1kN/XE7qODRfI4BcDTyZOxRER7oMA5GUOO/?=\n\t=?utf-8?q?gBAflKByZvWADqXh7AKuez66l4lv9yp+wG49IuytbXExatrp2+hFWOLjT/hvH2NYi?=\n\t=?utf-8?q?EXjrzsCeXXclYkU0U2Z7y2D78RsZXo+kZeIuHaE/lXcd0d+q4IPiOXk3wlFmbJe0J?=\n\t=?utf-8?q?upz2g0qC/Q5iWp8MoxudP9UW8DMilrab5bWLc2Re1Q2BW6jHhB0H9MstCYcsRt9c9?=\n\t=?utf-8?q?ceKBtbaopUcFJfTiq77xtvFlJYLQdNVrVcUPCD62l7VkCI1vgaWyybON/ms1dd429?=\n\t=?utf-8?q?ONhKKjSlQp2PTbz+vJp3dbuG5ONI8wWLmyCdpH+Rl2IG1kUP/z+Tj2RcUh6ju5T86?=\n\t=?utf-8?q?b/xz1Tl8argVNMqz8NHjli1AhgFBX3AFAzVPUigBf/Y3Qya+bzga6FiOHdXJxDskZ?=\n\t=?utf-8?q?Jo1zvzn/Ca7h7r+Slv6Q+MUgvernhq90oRTJDDgJnfjhmnhwzhkxGLo5fF62EoHTy?=\n\t=?utf-8?q?eyMsZNSYivfS9bYhhIzK/deQ0GhoIX7N0SVux73uYwH/HEeCiD1Lpx459B8GesPU3?=\n\t=?utf-8?q?imvBrbaN7TRPsbmh4bUPquoWFYlqkAqIqXZTtDrfozy+60MaNx5M5u0XRgLcZCrUe?=\n\t=?utf-8?q?tR1eo9aYvpTsi4a4+85CYrXcROMvplM9TUSAnwU0xoJb/fbW66to6U84eF2uT+vPq?=\n\t=?utf-8?q?p4BoOWyLhmoN3ctDvPisBNuB2iG97u8AeaNkJcHhfT/URU/8Tkb6ZiUlaziNSWCzf?=\n\t=?utf-8?q?plP+YGLys4BQR492Q9Vuz8x6aB4NRntAReOaaRv1PugAkyGKemWcMKixgohOfHjh2?=\n\t=?utf-8?q?IKccMyQFtidpMRCeF5twLMFrm0P8wRMgZAJsdK9L2oB1KHbq1gnoIooCyTWBMD+2W?=\n\t=?utf-8?q?ms18TEI1HsRWbvIEusneszvPjhphmBoM7EKDsQTxPYkFono7Tpo3bR14MiYq/O6uC?=\n\t=?utf-8?q?HGU5+VdjZHjSiLxv7ZUEwyWA1LyCXT0wnEqrzALJM467fFGjgBIbXzsiarzWoYjnb?=\n\t=?utf-8?q?zskdMEnch3GFYhPGKdwVbIxlgy2u6inoJ5Anox0/CnKQMsPTP1eb765KfG1eFV0rF?=\n\t=?utf-8?q?VsQoUG/1cGvtnUzjgx6YxIxOpyxJP8EnNVcrB5U9mtKY7nmet3WpwsEeW5FWYU5g8?=\n\t=?utf-8?q?TuIYGmER0L4hEgswJw7jKM7kL1lUN0DME6mRjtzDIfWaSz1kyX8=3D?=",
        "X-Forefront-Antispam-Report": "\n\tCIP: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)(1800799024)(82310400026)(36860700013)(7416014)(376014)(921020);DIR:OUT;SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n\tJ+N4mgD9E4/Tlb2kCgCW1y4JF4NkoQNulJwUMkfbVMV1iRPhbHhqMNanHHe8GHsakLhGIO7P5asKcZ7zQJafHB/7F8CjVP/LncaBO+D4elmSmh8mBpbm0zNrz0DX6cRnA6OHPVvZq9JYYIswkZtlqL4ay6RCdvHuM1UY4nRD5SESBdttuN23IucRnBwfd4x0hJv3PMKK+6QCws69jCCz1CNKbz5I1IYM/kEZ7lMD6IQcnbd0MBX6bDKQEbWA0KBDuPStnH7zm3/p5SdteqG8wT7Y1t8Nmo96bW9p2C1yxHObBYBeZPvq/GES8/hIk2yhWBXwrhskX8gay2pVFwa3Em7MaCHqj1MgNFQEOsbIAUebmXryVlHChhtGTompoKAxvz0ySDHKzaS9Ndl+o3KBxFKZqI+GuA3pQn7S7DMxZ7LAUmu1fgFxXeHIljLQaOkD",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Feb 2026 05:55:41.4798\n (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 3f6967b6-6d0b-4d34-9f57-08de6de92efd",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n\tCH1PEPF0000A345.namprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "IA4PR12MB9785"
    },
    "content": "Add an optional bar_skip_mask to pci_endpoint_test_data so that\nendpoints with HW-backed BARs (e.g. MSI-X table, DMA regs) can skip\nthe destructive BAR read/write test on those BARs. When a BAR is\nskipped, it is not written or read in the consecutive BAR test, and\nPCITEST_BAR ioctl for that BAR returns -EINVAL.\n\nAdd Tegra endpoint test data with bar_skip_mask set to skip BAR1\nthrough BAR5 (test only BAR0, the first 64-bit BAR). Add\npci_endpoint_test_tbl entries for NVIDIA Tegra194 EP (device ID\n0x1AD4) and Tegra234 EP (device ID 0x229B) so the host test driver\ncan bind and run tests without corrupting MSI-X or DMA registers.\n\nSigned-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>\n---\n drivers/misc/pci_endpoint_test.c | 34 +++++++++++++++++++++++++++++++---\n 1 file changed, 31 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c\nindex 1c0fd185114f..4c9f02dbc41b 100644\n--- a/drivers/misc/pci_endpoint_test.c\n+++ b/drivers/misc/pci_endpoint_test.c\n@@ -100,6 +100,12 @@\n \n #define PCI_DEVICE_ID_ROCKCHIP_RK3588\t\t0x3588\n \n+#define PCI_DEVICE_ID_NVIDIA_TEGRA194_EP\t0x1ad4\n+#define PCI_DEVICE_ID_NVIDIA_TEGRA234_EP\t0x229b\n+\n+/* BARs 1-5 are HW-backed (MSI-X, DMA) or high half of 64-bit BAR0; skip BAR test */\n+#define TEGRA_EP_BAR_SKIP_MASK\t(BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5))\n+\n static DEFINE_IDA(pci_endpoint_test_ida);\n \n #define to_endpoint_test(priv) container_of((priv), struct pci_endpoint_test, \\\n@@ -130,11 +136,15 @@ struct pci_endpoint_test {\n \tsize_t alignment;\n \tu32 ep_caps;\n \tconst char *name;\n+\t/* Bitmask of BARs to skip in BAR test (bit N set = skip BAR N) */\n+\tu8 bar_skip_mask;\n };\n \n struct pci_endpoint_test_data {\n \tenum pci_barno test_reg_bar;\n \tsize_t alignment;\n+\t/* Bitmask of BARs to skip in BAR test (bit N set = skip BAR N) */\n+\tu8 bar_skip_mask;\n };\n \n static inline u32 pci_endpoint_test_readl(struct pci_endpoint_test *test,\n@@ -393,9 +403,10 @@ static int pci_endpoint_test_bars(struct pci_endpoint_test *test)\n \tint ret;\n \n \t/* Write all BARs in order (without reading). */\n-\tfor (bar = 0; bar < PCI_STD_NUM_BARS; bar++)\n-\t\tif (test->bar[bar])\n+\tfor (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {\n+\t\tif (test->bar[bar] && !(test->bar_skip_mask & (1 << bar)))\n \t\t\tpci_endpoint_test_bars_write_bar(test, bar);\n+\t}\n \n \t/*\n \t * Read all BARs in order (without writing).\n@@ -404,7 +415,7 @@ static int pci_endpoint_test_bars(struct pci_endpoint_test *test)\n \t * (Reading back the BAR directly after writing can not detect this.)\n \t */\n \tfor (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {\n-\t\tif (test->bar[bar]) {\n+\t\tif (test->bar[bar] && !(test->bar_skip_mask & (1 << bar))) {\n \t\t\tret = pci_endpoint_test_bars_read_bar(test, bar);\n \t\t\tif (ret)\n \t\t\t\treturn ret;\n@@ -941,6 +952,10 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd,\n \t\t\tgoto ret;\n \t\tif (is_am654_pci_dev(pdev) && bar == BAR_0)\n \t\t\tgoto ret;\n+\t\tif (test->bar_skip_mask & (1 << bar)) {\n+\t\t\tret = 0;\n+\t\t\tgoto ret;\n+\t\t}\n \t\tret = pci_endpoint_test_bar(test, bar);\n \t\tbreak;\n \tcase PCITEST_BARS:\n@@ -1028,6 +1043,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,\n \t\ttest_reg_bar = data->test_reg_bar;\n \t\ttest->test_reg_bar = test_reg_bar;\n \t\ttest->alignment = data->alignment;\n+\t\ttest->bar_skip_mask = data->bar_skip_mask;\n \t}\n \n \tinit_completion(&test->irq_raised);\n@@ -1173,6 +1189,12 @@ static const struct pci_endpoint_test_data rk3588_data = {\n \t.alignment = SZ_64K,\n };\n \n+static const struct pci_endpoint_test_data tegra_ep_data = {\n+\t.test_reg_bar = BAR_0,\n+\t.alignment = SZ_64K,\n+\t.bar_skip_mask = TEGRA_EP_BAR_SKIP_MASK,\n+};\n+\n /*\n  * If the controller's Vendor/Device ID are programmable, you may be able to\n  * use one of the existing entries for testing instead of adding a new one.\n@@ -1217,6 +1239,12 @@ static const struct pci_device_id pci_endpoint_test_tbl[] = {\n \t{ PCI_DEVICE(PCI_VENDOR_ID_ROCKCHIP, PCI_DEVICE_ID_ROCKCHIP_RK3588),\n \t  .driver_data = (kernel_ulong_t)&rk3588_data,\n \t},\n+\t{ PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TEGRA194_EP),\n+\t  .driver_data = (kernel_ulong_t)&tegra_ep_data,\n+\t},\n+\t{ PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TEGRA234_EP),\n+\t  .driver_data = (kernel_ulong_t)&tegra_ep_data,\n+\t},\n \t{ }\n };\n MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl);\n",
    "prefixes": [
        "3/4"
    ]
}