{"id":2225264,"url":"http://patchwork.ozlabs.org/api/covers/2225264/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260420183920.3626389-1-zhipingz@meta.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/projects/28/?format=json","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":"<20260420183920.3626389-1-zhipingz@meta.com>","list_archive_url":null,"date":"2026-04-20T18:39:14","name":"[v1,0/2] Retrieve TPH from dma-buf for PCIe P2P memory access","submitter":{"id":92088,"url":"http://patchwork.ozlabs.org/api/people/92088/?format=json","name":"Zhiping Zhang","email":"zhipingz@meta.com"},"mbox":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260420183920.3626389-1-zhipingz@meta.com/mbox/","series":[{"id":500663,"url":"http://patchwork.ozlabs.org/api/series/500663/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=500663","date":"2026-04-20T18:39:14","name":"Retrieve TPH from dma-buf for PCIe P2P memory access","version":1,"mbox":"http://patchwork.ozlabs.org/series/500663/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225264/comments/","headers":{"Return-Path":"\n <linux-pci+bounces-52794-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=meta.com header.i=@meta.com header.a=rsa-sha256\n header.s=s2048-2025-q2 header.b=lmTLwZTJ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-52794-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=meta.com header.i=@meta.com\n header.b=\"lmTLwZTJ\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=67.231.145.42","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=meta.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=meta.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\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 4fzvYP6dVYz1yHB\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 04:44:57 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 5ADAC30048F9\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 18:44:43 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7E41234CFAE;\n\tMon, 20 Apr 2026 18:44:42 +0000 (UTC)","from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com\n [67.231.145.42])\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 1224635838B\n\tfor <linux-pci@vger.kernel.org>; Mon, 20 Apr 2026 18:44:40 +0000 (UTC)","from pps.filterd (m0044010.ppops.net [127.0.0.1])\n\tby mx0a-00082601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63K2A6Lp2516512\n\tfor <linux-pci@vger.kernel.org>; Mon, 20 Apr 2026 11:44:40 -0700","from mail.thefacebook.com ([163.114.134.16])\n\tby mx0a-00082601.pphosted.com (PPS) with ESMTPS id 4dm58ybaj7-2\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)\n\tfor <linux-pci@vger.kernel.org>; Mon, 20 Apr 2026 11:44:40 -0700 (PDT)","from twshared22734.32.frc3.facebook.com (2620:10d:c085:208::f) by\n mail.thefacebook.com (2620:10d:c08b:78::2ac9) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.2.2562.37; Mon, 20 Apr 2026 18:44:39 +0000","by devbig259.ftw1.facebook.com (Postfix, from userid 664516)\n\tid 7C0B6113AA911; Mon, 20 Apr 2026 11:39:20 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776710682; cv=none;\n b=p3PtrnqZjFLVywL9lhodHNC/j8munns39/8m2DE81dS9m81FJX/BOPg028BXTyuBgcRpuRJG+n6ShroCu8pavAXxbPWGChWlwn/l4yLwGrmNO+LujstL9PUnp/A7jd0ITOM/XY4XVYGzjlNAjMFcc4GvwN23hIVeDmW+oJ1K16Y=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776710682; c=relaxed/simple;\n\tbh=r50orGBhNi8QT5mU3Y2eQHTwkyereZyiuejiji9RbTA=;\n\th=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type;\n b=pEURk48dHErK6h2wxCLN46k46HRDIJaDelwduY9pbNuaCwqZLp6R0+Mir6/TdxWQ2sLSdoTdf/sgvd1jTc0tBviTJD9hvREW6qoQUv4i3WQyUmeC18e/yRMZTTKcOYQ77gl2PQ0vdYPRdzYtgXzLvdfRiHCOnoyNGMfd59OTCqs=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=meta.com;\n spf=pass smtp.mailfrom=meta.com;\n dkim=pass (2048-bit key) header.d=meta.com header.i=@meta.com\n header.b=lmTLwZTJ; arc=none smtp.client-ip=67.231.145.42","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=meta.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:message-id\n\t:mime-version:subject:to; s=s2048-2025-q2; bh=v1B/weXcqQ1lWLTVVV\n\t0vhTvXO65+/046zoF1VJqryV4=; b=lmTLwZTJjAs6lgOoHWNSrsl3aPUh3AG54U\n\tdTO4XGquprYR6q/ph4MhY0BSFDVGQkVWURiqlnvll08oow6VhceG+As1lhSU+j3D\n\t04nQCEfN2Nd+5ZnNAs//DCJFMIomdywVDMzZXujLuNBlYZM5uOMlWNUXrobAz4H5\n\tImqMUODQ8YCv7+toj7lYSfAkqLdwgwbD50VP/SZEGkhOImzlaApHtJ7/TUaHSW2J\n\tRKZ22WLJniIdHy1TFWxJvzWcEMltloQqiGQB3AGpaigUKdQsxWE61Gt2uX+b6h5i\n\t95+fUbdAIH+J+wpTcNY4hr52T10FTqvgaZJLe7c/unPp5d7+3WNQ==","From":"Zhiping Zhang <zhipingz@meta.com>","To":"Stanislav Fomichev <sdf@meta.com>, Keith Busch <kbusch@kernel.org>","CC":"Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,\n        Bjorn\n Helgaas <helgaas@kernel.org>, <linux-rdma@vger.kernel.org>,\n        <linux-pci@vger.kernel.org>, <netdev@vger.kernel.org>,\n        <dri-devel@lists.freedesktop.org>, Yochai Cohen <yochai@nvidia.com>,\n        Yishai\n Hadas <yishaih@nvidia.com>, Zhiping Zhang <zhipingz@meta.com>","Subject":"[PATCH v1 0/2] Retrieve TPH from dma-buf for PCIe P2P memory access","Date":"Mon, 20 Apr 2026 11:39:14 -0700","Message-ID":"<20260420183920.3626389-1-zhipingz@meta.com>","X-Mailer":"git-send-email 2.52.0","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-Transfer-Encoding":"quoted-printable","X-FB-Internal":"Safe","Content-Type":"text/plain","X-Authority-Analysis":"v=2.4 cv=AvHeGu9P c=1 sm=1 tr=0 ts=69e67418 cx=c_pps\n a=CB4LiSf2rd0gKozIdrpkBw==:117 a=CB4LiSf2rd0gKozIdrpkBw==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7x6HtfJdh03M6CCDgxCd:22\n a=8elwO82fXORLTBIkMd32:22 a=VwQbUJbxAAAA:8 a=VabnemYjAAAA:8\n a=XtSdSgJ7MZthVsN6br0A:9 a=gKebqoRLp9LExxC7YDUY:22","X-Proofpoint-GUID":"QdfBhvHh-YXuNzUokTTnjy7SCYVCLKiy","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDIwMDE4MiBTYWx0ZWRfX/YC3Z/aeYnic\n c1GOp8rl3b1F5ljT+YFhmGni53Qe3/GZXtrVOEqrNWIXVWM+T9PayfLTRZN2GSs/2z1Tyj6aRl8\n 57g7QgmgHQqeJDxBazDQFmMBd1UDEL7l4knSeyC1+bqZFQ/wC1dN3My0K6w38W+SIlo8ncRpWBG\n Z1KM8JqzDz4b1jznPXdr+Udzir5dN+lvcvdpUwTaDJQ7HtzolXMLeKnjweltDg2YCfToyDKnmrr\n SOpOzb7uIGc/8QQaEZB+Jr0IsFJAhDTXgWJwfC0jlznyGYwxja9SgekZhdQqE6pOcgdauLOMTi2\n hjlgrlIrQV5aMFM5QcdoYn3WC2BgFOzsQ7QPHrCVzQnJzaf/2EPm5owSptTQwYWonhrEXY2w6Vo\n zo47NFSvSk4iq2rR9UzadCNwCbmFFHJLOnybt0Omof/1il36OGzQ/+RX+OWRxns8SCTDitn4WTV\n S4pka8CRMR1DCAYJjaw==","X-Proofpoint-ORIG-GUID":"QdfBhvHh-YXuNzUokTTnjy7SCYVCLKiy","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-20_03,2026-04-20_02,2025-10-01_01"},"content":"Currently, TPH steering tags are derived for CPUs via ACPI. This series\nextends the VFIO dma-buf path so a vfio-based accelerator can attach TPH\nmetadata to an exported dma-buf, and lets mlx5 consume that metadata\nwhen registering a dma-buf MR for PCIe peer-to-peer access.\n\nPatch 1 adds a dma-buf callback to retrieve raw TPH metadata and updates\nVFIO_DEVICE_FEATURE_DMA_BUF to carry the optional steering tag and\nprocessing hint in one extra trailing entries[] object without changing\nthe base uAPI layout. Patch 2 consumes the exported TPH metadata in mlx5\nand converts the raw steering tag into an mlx5 steering-tag index.\n\nPrevious RFC link:\nhttps://lore.kernel.org/linux-pci/20260324234615.3731237-1-zhipingz@meta.com/T/#u\n\nZhiping Zhang (2):\n  vfio: add callback to get tph info for dma-buf\n  RDMA/mlx5: get tph for p2p access when registering dma-buf mr\n\n drivers/infiniband/hw/mlx5/mr.c               | 38 ++++++++++++\n .../net/ethernet/mellanox/mlx5/core/lib/st.c  | 25 +++++---\n drivers/vfio/pci/vfio_pci_dmabuf.c            | 62 ++++++++++++++-----\n include/linux/dma-buf.h                       | 17 +++++\n include/linux/mlx5/driver.h                   |  7 +++\n include/uapi/linux/vfio.h                     | 28 +++++++--\n 6 files changed, 151 insertions(+), 26 deletions(-)"}