Re: [PATCH 1/1] PCI: Cleanup link activation wait logic

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

 



On Fri, 16 Feb 2024, Ilpo Järvinen wrote:

> >  You change the logic here in that the second conditional isn't run if the 
> > first has not.  This is wrong, unclamping is not supposed to rely on LBMS. 
> > It is supposed to be always run and any failure has to be reported too, as 
> > a retraining error.
> 
> Now that (I think) I fully understand the intent of the second 
> condition/block one additional question occurred to me.
> 
> How is the 2nd condition even supposed to work in the current place when 
> firmware has pre-arranged the 2.5GT/s resctriction? Wouldn't the link come 
> up fine in that case and the quirk code is not called at all since the 
> link came up successfully?

 The quirk is called unconditionally from `pci_device_add', so an attempt 
to unclamp will always happen with a working link for qualifying devices.

> Yet another thing in this quirk code I don't like is how it can leaves the 
> target speed to 2.5GT/s when the quirk fails to get the link working 
> (which actually does happen in the disconnection cases because DLLLA won't 
> be set so the target speed will not be restored).

 I chose to leave the target speed at the most recent setting, because the 
link doesn't work in that case anyway, so I concluded it doesn't matter, 
but reduces messing with the device; technically you should retrain again 
afterwards.  I'm not opposed to changing this if you have a use case.

  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