[V3] PCI: fu740: Drop to 2.5GT/s to fix initial device probing on some boards

Ben Dooks ben.dooks at codethink.co.uk
Wed Mar 23 03:40:11 PDT 2022


On 23/03/2022 10:36, Alexandre Ghiti wrote:
> On 3/21/22 14:49, Alexandre Ghiti wrote:
>> Hi Ben,
>>
>> On 3/18/22 16:24, Ben Dooks wrote:
>>> The fu740 PCIe core does not probe any devices on the SiFive Unmatched
>>> board without this fix (or having U-Boot explicitly start the PCIe via
>>> either boot-script or user command). The fix is to start the link at
>>> 2.5GT/s speeds and once the link is up then change the maximum speed 
>>> back
>>> to the default.
>>>
>>> The U-Boot driver claims to set the link-speed to 2.5GT/s to get the 
>>> probe
>>> to work (and U-Boot does print link up at 2.5GT/s) in the following 
>>> code:
>>> https://source.denx.de/u-boot/u-boot/-/blob/master/drivers/pci/pcie_dw_sifive.c?id=v2022.01#L271 
>>>
>>>
>>> Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>


[snip]

>>>     static int fu740_pcie_host_init(struct pcie_port *pp)
>>
>> +cc Maciej and David as there is this other fix that seems to do the 
>> same but differently, it's been under review for some time now: 
>> https://lore.kernel.org/all/20220302000043.GA662523@bhelgaas/t/
>>

I did have a quick look, but I think because we don't get any PCIe
probing at-all we don't even have a device to attach to.

>> I fell onto this issue recently, I'll give your patch and the above a 
>> try soon.
> 
> 
> FWIW, I have tested this and it solved my issue with nvme not being 
> probed, so:
> 
> Tested-by: Alexandre Ghiti <alexandre.ghiti at canonical.com>

Ok, great. Our test rig seems to be still working with this.


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html



More information about the linux-riscv mailing list