Re: [PING][PATCH v6 0/7] pci: Work around ASMedia ASM2824 PCIe link training failures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 19 Feb 2023, Lukas Wunner wrote:

> > >  This is v6 of the change to work around a PCIe link training phenomenon 
> > > where a pair of devices both capable of operating at a link speed above 
> > > 2.5GT/s seems unable to negotiate the link speed and continues training 
> > > indefinitely with the Link Training bit switching on and off repeatedly 
> > > and the data link layer never reaching the active state.
> > 
> >  Ping for: 
> > <https://lore.kernel.org/linux-pci/alpine.DEB.2.21.2302022022230.45310@xxxxxxxxxxxxxxxxx/>.
> 
> Philipp is witnessing similar issues with a Pericom PI7C9X2G404EL
> switch below a Broadcom STB host controller:  On some rare occasions,
> when booting the system the link trains correctly at 5 GT/s and the
> switch is accessible without any issues.  But most of the time,
> the switch is inaccessible on boot.  The Broadcom STB host controller
> claims not to support Link Active Reporting, but in reality has a
> link status indicator in a custom register.  It indicates that the
> link is up, the link trains to 2.5 GT/s but the switch is inaccessible.

 Thank you for chiming in.

 Note that the U-Boot variant of this workaround referred to by the link 
in the change description does not rely on Link Active Reporting, but 
busy-loops polling on Link Training status instead and verifies training 
remains stable off long enough.  We can't do this in Linux of course, but 
I guess a variant using link status reported in a vendor-specific register 
could be made.

> The switch is the same as yours, only with 4 instead of 3 ports.
> Perhaps the issue you're seeing isn't specific to the ASMedia switch,
> but is due to an oddity of the Pericom switch, that happens to be
> triggered by the Broadcom STB host controller as well?

 I have seen two reports from people claiming their devices to be absent 
from `lspci' output, an Intel and a Realtek NIC respectively, when plugged 
into a slot behing the ASMedia switch, while working just fine in another 
system.  Neither replied to my request for further information, so it's 
not clear to me if it's the same issue, but it may or may not be limited 
to Pericom hardware.

 As I mentioned in previous iterations of the change there is an option 
card available with the ASM2824 switch onboard and dual M.2 slots behind, 
which could be used for experimenting.  Sold under the StarTech brand as 
PEX8M2E2 and under the Ableconn brand as PEXM2-130.  And M.2 M-Key to PCIe 
slot adapters are widely available.  I just can't be persuaded to buy such 
an option card, especially as ASMedia have been unhelpful and ignored my 
enquiry.

> I've cooked up a modified version of patch 7 in your series which
> performs the link retraining in the pci-brcmstb.c driver before
> performing the first access to the switch.  Unfortunately it
> didn't result in any kind of improvement.  Next step is to hook up
> a Teledyne T28 analyzer to see what's going on.

 That would be most helpful, although given your lack of success with my
workaround it might be a different issue here after all.

 Let me know if I could help anyhow.  I have a few of these Pericom-based 
riser card adapters as spares, though I'm short on high-speed (5GT/s+) 
PCIe slots to try them with.  Delock has claimed, back in Jul 2021, I'm 
the only one to report them the device not to work.

  Maciej



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux