Re: [PATCH V2 RESEND] PCI/TPH: Skip Root Port completer check for RC_END devices
From: George Abraham P
Date: Wed Feb 18 2026 - 10:32:05 EST
Hi Leon,
On 18-Feb-26 2:12 PM, Leon Romanovsky wrote:
> On Wed, Feb 18, 2026 at 10:24:28AM +0530, George Abraham P wrote:
>> [+cc TPH authors that were missed in the previous mail]
>>
>> On 09-Jan-26 10:59 AM, George Abraham P wrote:
>>> Root Complex Integrated Endpoint devices (PCI_EXP_TYPE_RC_END) are
>>> directly integrated into the root complex and do not have an
>>> associated Root Port in the traditional PCIe hierarchy. The current
>>> TPH implementation incorrectly attempts to find and check a Root Port's
>>> TPH completer capability for these devices.
>>>
>>> Add a check to skip Root Port completer type verification for RC_END
>>> devices, allowing them to use their full TPH requester capability
>>> without being limited by a non-existent Root Port's completer support.
>>>
>>> For RC_END devices, the root complex itself acts as the TPH completer,
>>> and this relationship is handled differently than the standard
>>> endpoint-to-Root-Port model.
>>>
>>> Fixes: f69767a1ada3 ("PCI: Add TLP Processing Hints (TPH) support")
>>> Signed-off-by: George Abraham P <george.abraham.p@xxxxxxxxx>
>>> ---
>>> v1->v2:
>>> - Added "Fixes:" tag to link the commit hash that introduced the code
>
> I do not have a strong preference; I am fine with adding a Fixes tag or
> leaving it out. Up to commit 2961f841b025, pcie_enable_tph() is called
> in two drivers: bnxt and mlx5. Which of these devices is the RC_END
> device?
>
> Thanks
qat_6xxx supports TPH and is a RC_END device. The patches to enable TPH on qat_6xxx is yet to be reviewed. However, it requires this fix for the same to work.
Thanks,
George