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@xxxxxxxxxxxxxxx>
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 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@xxxxxxxxxxxxx>