[{"id":3678375,"web_url":"http://patchwork.ozlabs.org/comment/3678375/","msgid":"<20260416204948.GA35511@bhelgaas>","list_archive_url":null,"date":"2026-04-16T20:49:48","subject":"Re: [PATCH v2 RESEND 1/5] pci/tph: Export pcie_tph_get_st_modes()\n for external use","submitter":{"id":67298,"url":"http://patchwork.ozlabs.org/api/people/67298/","name":"Bjorn Helgaas","email":"helgaas@kernel.org"},"content":"On Thu, Apr 16, 2026 at 05:30:37PM +0800, Chengwen Feng wrote:\n> Export the helper to retrieve supported PCIe TPH steering tag modes so\n> that drivers like VFIO can query and expose device capabilities to\n> userspace.\n> \n> And also add pcie_tph_get_st_table_size() and\n> pcie_tph_get_st_table_loc() stub implementation in the !CONFIG_PCI_TPH\n> case.\n> \n> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>\n\nUpdate subject to \"PCI/TPH: Export ...\" to match history.\n\nAcked-by: Bjorn Helgaas <bhelgaas@google.com>\n\nI notice commit logs of other patches could be rewrapped to fill 75\ncolumns.\n\n> ---\n>  drivers/pci/tph.c       | 13 +++++++++++--\n>  include/linux/pci-tph.h |  7 +++++++\n>  2 files changed, 18 insertions(+), 2 deletions(-)\n> \n> diff --git a/drivers/pci/tph.c b/drivers/pci/tph.c\n> index 91145e8d9d95..f8767bf6fee9 100644\n> --- a/drivers/pci/tph.c\n> +++ b/drivers/pci/tph.c\n> @@ -145,7 +145,15 @@ static void set_ctrl_reg_req_en(struct pci_dev *pdev, u8 req_type)\n>  \tpci_write_config_dword(pdev, pdev->tph_cap + PCI_TPH_CTRL, reg);\n>  }\n>  \n> -static u8 get_st_modes(struct pci_dev *pdev)\n> +/**\n> + * pcie_tph_get_st_modes - Get supported Steering Tag modes\n> + * @pdev: PCI device to query\n> + *\n> + * Return:\n> + *  Bitmask of supported ST modes (PCI_TPH_CAP_ST_NS, PCI_TPH_CAP_ST_IV,\n> + *                                 PCI_TPH_CAP_ST_DS)\n> + */\n> +u8 pcie_tph_get_st_modes(struct pci_dev *pdev)\n>  {\n>  \tu32 reg;\n>  \n> @@ -154,6 +162,7 @@ static u8 get_st_modes(struct pci_dev *pdev)\n>  \n>  \treturn reg;\n>  }\n> +EXPORT_SYMBOL(pcie_tph_get_st_modes);\n>  \n>  /**\n>   * pcie_tph_get_st_table_loc - Return the device's ST table location\n> @@ -400,7 +409,7 @@ int pcie_enable_tph(struct pci_dev *pdev, int mode)\n>  \n>  \t/* Sanitize and check ST mode compatibility */\n>  \tmode &= PCI_TPH_CTRL_MODE_SEL_MASK;\n> -\tdev_modes = get_st_modes(pdev);\n> +\tdev_modes = pcie_tph_get_st_modes(pdev);\n>  \tif (!((1 << mode) & dev_modes))\n>  \t\treturn -EINVAL;\n>  \n> diff --git a/include/linux/pci-tph.h b/include/linux/pci-tph.h\n> index be68cd17f2f8..586c75b19e01 100644\n> --- a/include/linux/pci-tph.h\n> +++ b/include/linux/pci-tph.h\n> @@ -30,6 +30,7 @@ void pcie_disable_tph(struct pci_dev *pdev);\n>  int pcie_enable_tph(struct pci_dev *pdev, int mode);\n>  u16 pcie_tph_get_st_table_size(struct pci_dev *pdev);\n>  u32 pcie_tph_get_st_table_loc(struct pci_dev *pdev);\n> +u8 pcie_tph_get_st_modes(struct pci_dev *pdev);\n>  #else\n>  static inline int pcie_tph_set_st_entry(struct pci_dev *pdev,\n>  \t\t\t\t\tunsigned int index, u16 tag)\n> @@ -41,6 +42,12 @@ static inline int pcie_tph_get_cpu_st(struct pci_dev *dev,\n>  static inline void pcie_disable_tph(struct pci_dev *pdev) { }\n>  static inline int pcie_enable_tph(struct pci_dev *pdev, int mode)\n>  { return -EINVAL; }\n> +static inline u16 pcie_tph_get_st_table_size(struct pci_dev *pdev)\n> +{ return 0; }\n> +static inline u32 pcie_tph_get_st_table_loc(struct pci_dev *pdev)\n> +{ return 0x7FF; /* Values that do not appear in normal case */ }\n> +static inline u8 pcie_tph_get_st_modes(struct pci_dev *pdev)\n> +{ return 0; }\n>  #endif\n>  \n>  #endif /* LINUX_PCI_TPH_H */\n> -- \n> 2.17.1\n>","headers":{"Return-Path":"\n <linux-pci+bounces-52654-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HxSBq3kn;\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-52654-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=\"HxSBq3kn\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxVWV19FXz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 06:49:58 +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 8435230511B5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 20:49:52 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1487436494C;\n\tThu, 16 Apr 2026 20:49:50 +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 E5A80349B02;\n\tThu, 16 Apr 2026 20:49:49 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 7F50FC2BCAF;\n\tThu, 16 Apr 2026 20:49:49 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776372590; cv=none;\n b=TSaHTk+FwG6Qo/jkw3MmbWt07QgChnAnDxnP1fJjNiBH7VP2CVLFQNdML+50C8pFIZOWCl0pVQ0K5sd44p2IQmHq7I2RHoPdu/7r9VC+9vyGMeU5S+6CXHygeKxe+hIzC8oLTwkZEjGI71o7qAcm1uFwiz7ixZEb6/0KP/vz8JQ=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776372590; c=relaxed/simple;\n\tbh=vTqaBs79cS2oF1cSijlLMmqnq4ES3fAPOPb9NIkSdGA=;\n\th=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:\n\t Content-Disposition:In-Reply-To;\n b=FYi067qQSCwitWwYVj7EVKXc4MqrTV1bbqOwpP0P7+aB1f55Ud6OH59pEOUh6b+RBu3I3J/8uokKWU01tcOHvbjty37rl/th3fkLuEIA3kYGKDo2TUMNRfJpBbjt5SC+imBiVDf1SRufADXhOy5xCydkJKb0sd5W9A3PWWSiYvo=","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=HxSBq3kn; 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=1776372589;\n\tbh=vTqaBs79cS2oF1cSijlLMmqnq4ES3fAPOPb9NIkSdGA=;\n\th=Date:From:To:Cc:Subject:In-Reply-To:From;\n\tb=HxSBq3knqqREYW/EvkJrrN4NTuQ3YnmxOm+5Qch64/E30KZqcmWyJKxbPjMD1XN4d\n\t A5ZrSvke3drxaUaKSPBjxNoRu5ONRPZK8UCyD9klg8A9AT/WZndmQ4hllMZJ2aoAcl\n\t 6mvzuFAHgyxBDL/pwzlR9fjUVjHJJzQ1qc5A2ZhUTuFR/9k3PKPHAaabctbOp/yqXj\n\t f9OZrRIXcqkxsWPbk83TseJv1tfvIywz93R4z0xwhUwPq87KJmbZbt6pOETpWuUCF6\n\t jBI2fdH6SjzRPLyJYGqiRQ+JDw/nt/Bs0eJ81YEMFIUe3ZdaSMs6CENOkQDCCcVhgW\n\t IRHPu9By9BK7A==","Date":"Thu, 16 Apr 2026 15:49:48 -0500","From":"Bjorn Helgaas <helgaas@kernel.org>","To":"Chengwen Feng <fengchengwen@huawei.com>","Cc":"alex@shazbot.org, jgg@ziepe.ca, wathsala.vithanage@arm.com,\n\twangzhou1@hisilicon.com, wangyushan12@huawei.com,\n\tliuyonglong@huawei.com, kvm@vger.kernel.org,\n\tlinux-pci@vger.kernel.org","Subject":"Re: [PATCH v2 RESEND 1/5] pci/tph: Export pcie_tph_get_st_modes()\n for external use","Message-ID":"<20260416204948.GA35511@bhelgaas>","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=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260416093041.42070-2-fengchengwen@huawei.com>"}},{"id":3678460,"web_url":"http://patchwork.ozlabs.org/comment/3678460/","msgid":"<4b1aa148-e0f5-4599-9fbf-70a61b42e4ce@huawei.com>","list_archive_url":null,"date":"2026-04-17T02:50:22","subject":"Re: [PATCH v2 RESEND 1/5] pci/tph: Export pcie_tph_get_st_modes() for\n external use","submitter":{"id":92756,"url":"http://patchwork.ozlabs.org/api/people/92756/","name":"Chengwen Feng","email":"fengchengwen@huawei.com"},"content":"On 4/17/2026 4:49 AM, Bjorn Helgaas wrote:\n> On Thu, Apr 16, 2026 at 05:30:37PM +0800, Chengwen Feng wrote:\n>> Export the helper to retrieve supported PCIe TPH steering tag modes so\n>> that drivers like VFIO can query and expose device capabilities to\n>> userspace.\n>>\n>> And also add pcie_tph_get_st_table_size() and\n>> pcie_tph_get_st_table_loc() stub implementation in the !CONFIG_PCI_TPH\n>> case.\n>>\n>> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>\n> Update subject to \"PCI/TPH: Export ...\" to match history.\n> \n> Acked-by: Bjorn Helgaas <bhelgaas@google.com>\n> \n> I notice commit logs of other patches could be rewrapped to fill 75\n> columns.\n\nHi Bjorn,\n\nThank you for the review and the Ack!\n\nI'll fix the subject to \"PCI/TPH: Export ...\" and rewrap the commit\nmessages to 75 columns in the next revision.\n\nThanks","headers":{"Return-Path":"\n <linux-pci+bounces-52678-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=Vek29DvQ;\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-52678-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=\"Vek29DvQ\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=113.46.200.220","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 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 4fxfYC4VX6z1yGt\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 12:51:59 +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 F38D53028343\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 02:50:32 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 25F0033FE0F;\n\tFri, 17 Apr 2026 02:50:31 +0000 (UTC)","from canpmsgout05.his.huawei.com (canpmsgout05.his.huawei.com\n [113.46.200.220])\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 8CF0F336ED1;\n\tFri, 17 Apr 2026 02:50:26 +0000 (UTC)","from mail.maildlp.com (unknown [172.19.162.144])\n\tby canpmsgout05.his.huawei.com (SkyGuard) with ESMTPS id 4fxfN613fzz12LDP;\n\tFri, 17 Apr 2026 10:44:06 +0800 (CST)","from kwepemk500009.china.huawei.com (unknown [7.202.194.94])\n\tby mail.maildlp.com (Postfix) with ESMTPS id 1E8FE40538;\n\tFri, 17 Apr 2026 10:50:23 +0800 (CST)","from [10.67.121.161] (10.67.121.161) 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; Fri, 17 Apr 2026 10:50:22 +0800"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776394230; cv=none;\n b=X/KlFdIQY0bzFuimlt8Vf4GJOT/h/1cIH9DH2QnXI40uo3jgDFG4NtACrc7FlBlDLgNO/MkyMOziaNsU9QdBC9i5c1lVXvhHRvwKrQe/ivLgqTClpdT5gSHNZweblXunjUeVJCMyP6EPDWzzR9Q89I49Ov6/CY8FVWdYIpBWRUY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776394230; c=relaxed/simple;\n\tbh=5p3Sm2amLE1ygQB0o6GVHtSC1KVohOP+qhV3gkwXeq4=;\n\th=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:\n\t In-Reply-To:Content-Type;\n b=O3WQ6SGJTXtI5sxxyVGBdAD49Kec0nwyk/6cQoi0/EPVsgL4TZD8Q+2yjvnBSuvmK8pXhB1AmZGF1y6s6hLd+IOchqcafuyOA7deDUz7Rx5+WetyqbgwSEtva1fzZ9+1lTS0xa9SRBAUiT9o3DxYhuDcK++RlufjjlKyJ4Y6kbI=","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=Vek29DvQ; arc=none smtp.client-ip=113.46.200.220","dkim-signature":"v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n\tc=relaxed/relaxed; q=dns/txt;\n\th=From;\n\tbh=hg2qRKt05LW4zcRl9d9aEU93GPuGcduNp2wgx4z7rps=;\n\tb=Vek29DvQ5Xp9tY9XF88rRzWcTLyHzi8hLkrwpqgt3dSNCFzRkFh1QoTcAbqaocq48wLWUTypp\n\txycFloana/ixnMu4SdIZAPO6RBpS6PuHYy5sOpWTesPmp8ouLudiviOn3yhPdGTJevysQO8b8ay\n\tH28+KPMXI8QlPk8sPp8xZGI=","Message-ID":"<4b1aa148-e0f5-4599-9fbf-70a61b42e4ce@huawei.com>","Date":"Fri, 17 Apr 2026 10:50:22 +0800","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","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 RESEND 1/5] pci/tph: Export pcie_tph_get_st_modes() for\n external use","To":"Bjorn Helgaas <helgaas@kernel.org>","CC":"<alex@shazbot.org>, <jgg@ziepe.ca>, <wathsala.vithanage@arm.com>,\n\t<wangzhou1@hisilicon.com>, <wangyushan12@huawei.com>,\n\t<liuyonglong@huawei.com>, <kvm@vger.kernel.org>, <linux-pci@vger.kernel.org>","References":"<20260416204948.GA35511@bhelgaas>","Content-Language":"en-US","From":"fengchengwen <fengchengwen@huawei.com>","In-Reply-To":"<20260416204948.GA35511@bhelgaas>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"kwepems100001.china.huawei.com (7.221.188.238) To\n kwepemk500009.china.huawei.com (7.202.194.94)"}}]