On Wed, May 27, 2026 at 1:53 PM Alex Williamson <[email protected]> wrote: > > > > On Tue, 26 May 2026 07:43:53 -0700 > Zhiping Zhang <[email protected]> wrote: > > > Add pcie_tph_enabled_req_type() so drivers can query the enabled TPH > > requester mode without reaching into pci_dev internals. > > > > This keeps pci_dev::tph_req_type inside the PCI/TPH code and provides a > > !CONFIG_PCIE_TPH stub for callers. > > > > Signed-off-by: Zhiping Zhang <[email protected]> > > --- > > drivers/pci/tph.c | 12 ++++++++++++ > > include/linux/pci-tph.h | 2 ++ > > 2 files changed, 14 insertions(+) > > > > diff --git a/drivers/pci/tph.c b/drivers/pci/tph.c > > index 91145e8d9d95..6c4492075ae9 100644 > > --- a/drivers/pci/tph.c > > +++ b/drivers/pci/tph.c > > @@ -174,6 +174,18 @@ u32 pcie_tph_get_st_table_loc(struct pci_dev *pdev) > > } > > EXPORT_SYMBOL(pcie_tph_get_st_table_loc); > > > > +/** > > + * pcie_tph_enabled_req_type - Return the device's enabled TPH requester > > type > > + * @pdev: PCI device to query > > + * > > + * Return: PCI_TPH_REQ_DISABLE, PCI_TPH_REQ_TPH_ONLY or > > PCI_TPH_REQ_EXT_TPH. > > + */ > > +u8 pcie_tph_enabled_req_type(struct pci_dev *pdev) > > +{ > > + return pdev->tph_req_type; > > +} > > +EXPORT_SYMBOL(pcie_tph_enabled_req_type); > > + > > /* > > * Return the size of ST table. If ST table is not in TPH Requester > > Extended > > * Capability space, return 0. Otherwise return the ST Table Size + 1. > > diff --git a/include/linux/pci-tph.h b/include/linux/pci-tph.h > > index be68cd17f2f8..fe572737b409 100644 > > --- a/include/linux/pci-tph.h > > +++ b/include/linux/pci-tph.h > > @@ -30,6 +30,7 @@ void pcie_disable_tph(struct pci_dev *pdev); > > int pcie_enable_tph(struct pci_dev *pdev, int mode); > > u16 pcie_tph_get_st_table_size(struct pci_dev *pdev); > > u32 pcie_tph_get_st_table_loc(struct pci_dev *pdev); > > +u8 pcie_tph_enabled_req_type(struct pci_dev *pdev); > > #else > > static inline int pcie_tph_set_st_entry(struct pci_dev *pdev, > > unsigned int index, u16 tag) > > @@ -41,6 +42,7 @@ static inline int pcie_tph_get_cpu_st(struct pci_dev *dev, > > static inline void pcie_disable_tph(struct pci_dev *pdev) { } > > static inline int pcie_enable_tph(struct pci_dev *pdev, int mode) > > { return -EINVAL; } > > +static inline u8 pcie_tph_enabled_req_type(struct pci_dev *pdev) { return > > 0; } > > nit, s/0/PCI_TPH_REQ_DISABLE/ for consistency. Thanks, > > Alex > ack, will do.
Thanks, Zhiping
