Re: [PATCH] PCI: dwc: Set PORT_LOGIC_LINK_WIDTH to one lane
From: Manivannan Sadhasivam
Date: Mon Apr 07 2025 - 13:55:10 EST
On Thu, Dec 12, 2024 at 04:19:12PM +0800, Wenbin Yao (Consultant) wrote:
> PORT_LOGIC_LINK_WIDTH field of the PCIE_LINK_WIDTH_SPEED_CONTROL register
> indicates the number of lanes to check for exit from Electrical Idle in
> Polling.Active and L2.Idle. It is used to limit the effective link width to
> ignore broken or unused lanes that detect a receiver to prevent one or more
> bad Receivers or Transmitters from holding up a valid Link from being
> configured.
>
> In a PCIe link that support muiltiple lanes, setting PORT_LOGIC_LINK_WIDTH
> to 1 will not affect the link width that is actually intended to be used.
Where in the spec it is defined?
> But setting it to a value other than 1 will lead to link training fail if
> one or more lanes are broken.
>
Which means the link partner is not able to downsize the link during LTSSM?
> Hence, always set PORT_LOGIC_LINK_WIDTH to 1 no matter how many lanes the
> port actually supports to make linking up more robust. Link can still be
> established with one lane at least if other lanes are broken.
>
This looks like a specific endpoint/controller issue to me. Where exactly did
you see the issue?
- Mani
--
மணிவண்ணன் சதாசிவம்