]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
PCI/TPH: Allow TPH enable for RCiEPs
authorGeorge Abraham P <george.abraham.p@intel.com>
Fri, 9 Jan 2026 05:29:23 +0000 (10:59 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 23 Feb 2026 15:01:03 +0000 (09:01 -0600)
commitd3e996a596967a62c8a13a279221513461f6ab97
tree944c8b846e9d7745194978fbe1024182c1c3e1a1
parent6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
PCI/TPH: Allow TPH enable for RCiEPs

Previously, pcie_enable_tph() only enabled TLP Processing Hints (TPH) if
both the Endpoint and its Root Port advertised TPH support.

Root Complex Integrated Endpoints (RCiEPs) are directly integrated into a
Root Complex and do not have an associated Root Port, so pcie_enable_tph()
never enabled TPH for RCiEPs.

PCIe r7.0 doesn't seem to include a way to learn whether a Root Complex
supports TPH, but sec 2.2.7.1.1 says Functions that lack TPH support should
ignore TPH, and maybe the same is true for Root Complexes:

  A Function that does not support the TPH Completer or Routing capability
  and receives a transaction with the TH bit [which indicates the presence
  of TPH in the TLP header] Set is required to ignore the TH bit and handle
  the Request in the same way as Requests of the same transaction type
  without the TH bit Set.

Allow drivers to enable TPH for any RCiEP with a TPH Requester Capability.

Fixes: f69767a1ada3 ("PCI: Add TLP Processing Hints (TPH) support")
Signed-off-by: George Abraham P <george.abraham.p@intel.com>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260109052923.1170070-1-george.abraham.p@intel.com
drivers/pci/tph.c