Show a cover letter.

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

{
    "id": 2223865,
    "url": "http://patchwork.ozlabs.org/api/1.1/covers/2223865/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260416093041.42070-1-fengchengwen@huawei.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/1.1/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
    },
    "msgid": "<20260416093041.42070-1-fengchengwen@huawei.com>",
    "date": "2026-04-16T09:30:36",
    "name": "[v2,RESEND,0/5] vfio/pci: Add PCIe TPH support",
    "submitter": {
        "id": 92756,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92756/?format=api",
        "name": "Chengwen Feng",
        "email": "fengchengwen@huawei.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260416093041.42070-1-fengchengwen@huawei.com/mbox/",
    "series": [
        {
            "id": 500126,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500126/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=500126",
            "date": "2026-04-16T09:30:36",
            "name": "vfio/pci: Add PCIe TPH support",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/500126/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2223865/comments/",
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-52586-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 (1024-bit key;\n unprotected) header.d=huawei.com header.i=@huawei.com header.a=rsa-sha256\n header.s=dkim header.b=ltzoepqt;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-pci+bounces-52586-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com\n header.b=\"ltzoepqt\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=113.46.200.221",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=huawei.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=huawei.com"
        ],
        "Received": [
            "from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74])\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 4fxCS02DHPz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 19:30:56 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id BAA86300AB01\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 09:30:53 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2E8D91B4156;\n\tThu, 16 Apr 2026 09:30:52 +0000 (UTC)",
            "from canpmsgout06.his.huawei.com (canpmsgout06.his.huawei.com\n [113.46.200.221])\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 448B538F247;\n\tThu, 16 Apr 2026 09:30:48 +0000 (UTC)",
            "from mail.maildlp.com (unknown [172.19.162.144])\n\tby canpmsgout06.his.huawei.com (SkyGuard) with ESMTPS id 4fxCJX21YTzRhTx;\n\tThu, 16 Apr 2026 17:24:28 +0800 (CST)",
            "from kwepemk500009.china.huawei.com (unknown [7.202.194.94])\n\tby mail.maildlp.com (Postfix) with ESMTPS id 3AB0740538;\n\tThu, 16 Apr 2026 17:30:47 +0800 (CST)",
            "from localhost.localdomain (10.50.163.32) by\n kwepemk500009.china.huawei.com (7.202.194.94) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.1544.11; Thu, 16 Apr 2026 17:30:46 +0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776331852; cv=none;\n b=j4RSUm5cPwTmTPYKVnXnQXPmsknS6LLfT5AaW/WeFJeMTg4AJ5527blMqMoHMnmfaM5LaVhm33LMwAHpgwO5+TEpDkDYXKYF4cazS2eklikeily2c1U2CXzCUOoZmXsQmXfyF4PWKf36ZoTIcnOtHlBrGX3QU06Ue4MP5oVkYS8=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776331852; c=relaxed/simple;\n\tbh=eqLbjKpHvJJASnMNfj1/EGNkoZ7XXA9AM3aXkMF78Sk=;\n\th=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type;\n b=Dg8a0BzqV0LluR+eMZvkPH8kRqlDTd0nCO5P2DC5ZXzbSCCr1XNCUPNBoXzEAgig6wOq0e9vlVNGJKEowKq7k/m0aso5bzDdCMJDcswIOKTJXOuyM9oUpdn5A6HhvxQWTbVcVZ+j3U8MINGDlczfdSsybaZakJpiwQBz8lXGSFY=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=huawei.com;\n spf=pass smtp.mailfrom=huawei.com;\n dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com\n header.b=ltzoepqt; arc=none smtp.client-ip=113.46.200.221",
        "dkim-signature": "v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n\tc=relaxed/relaxed; q=dns/txt;\n\th=From;\n\tbh=bAVowK7Q9YFx+myHaiGCXgYsB7sBEgPGL+pKIOE34z4=;\n\tb=ltzoepqtRnEVkr8VlwAD9cfTNSHBjH+fBi/kTP5+N4c3t7EcqDcAKNEhBgIfPWoY1D6LTAfOf\n\t9VO18U89KiMgdA6js0EEUNGYVGhNvgI5lSjnvAp15aZ3/I33kAv9MClYBc2xrMqjv5bfFV7vIkh\n\tUj3931mLqpAiuVux0hdVvp8=",
        "From": "Chengwen Feng <fengchengwen@huawei.com>",
        "To": "<alex@shazbot.org>, <jgg@ziepe.ca>",
        "CC": "<wathsala.vithanage@arm.com>, <wangzhou1@hisilicon.com>,\n\t<wangyushan12@huawei.com>, <liuyonglong@huawei.com>, <kvm@vger.kernel.org>,\n\t<linux-pci@vger.kernel.org>",
        "Subject": "[PATCH v2 RESEND 0/5] vfio/pci: Add PCIe TPH support",
        "Date": "Thu, 16 Apr 2026 17:30:36 +0800",
        "Message-ID": "<20260416093041.42070-1-fengchengwen@huawei.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "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",
        "X-ClientProxiedBy": "kwepems200002.china.huawei.com (7.221.188.68) To\n kwepemk500009.china.huawei.com (7.202.194.94)"
    },
    "content": "This series adds support for PCIe TLP Processing Hints (TPH) to\nvfio-pci, allowing userspace to manage device steering tags for\nimproved performance and QoS in virtualized deployments.\n\nThe implementation follows a clean incremental structure:\n- Patch 1: Export pcie_tph_get_st_modes()\n- Patch 2: Introduce UAPI ABI and implement capability query to\n  let userspace discover supported TPH modes, ST table presence\n  and size.\n- Patch 3: Add TPH enable/disable with mode selection.\n- Patch 4: Add interface to batch get per-CPU steering tags for\n  device-specific mode without standard ST table.\n- Patch 5: Add interface to batch program steering tag table\n  entries for standard TPH modes.\n\nAll user API definitions are finalized in the first patch and\nremain stable across the series. The design follows existing\nVFIO conventions and relies on kernel pcie-tph infrastructure.\n\nThis series addresses the TPH management requirements discussed\nin the RFC \"Proposal: Add sysfs interface for PCIe TPH Steering\nTag retrieval and configuration\".\n\nInstead of introducing a sysfs interface, we choose to implement\nTPH management via a VFIO-specific ioctl for these reasons:\n1. VFIO is the standard userspace interface for PCI devices.\n2. An ioctl approach provides better type safety, batch support\n   and stable ABI compared to sysfs for configuration.\n3. VFIO properly isolates TPH operations to the assigned device,\n   avoiding conflicts with other kernel management paths.\n\nBased on earlier RFC work by Wathsala Vithanage.\n\nv2:\n- Export pcie_tph_get_st_modes()\n- Add detailed comment for UAPI structures and operations\n- Add batch entry limit VFIO_TPH_MAX_ENTRIES\n- Improve robustness and error handling\n\nChengwen Feng (5):\n  pci/tph: Export pcie_tph_get_st_modes() for external use\n  vfio/pci: Add PCIe TPH interface with capability query\n  vfio/pci: Add PCIe TPH enable/disable support\n  vfio/pci: Add PCIe TPH GET_ST interface\n  vfio/pci: Add PCIe TPH SET_ST interface\n\n drivers/pci/tph.c                |  13 +-\n drivers/vfio/pci/vfio_pci_core.c | 213 +++++++++++++++++++++++++++++++\n include/linux/pci-tph.h          |   7 +\n include/uapi/linux/vfio.h        | 131 +++++++++++++++++++\n 4 files changed, 362 insertions(+), 2 deletions(-)"
}