On Tue, 23 Jun 2020 09:03:35 +0300 Shmuel Hazan <sh@xxxxxxxxxx> wrote: > According to the Armada XP datasheet, section 10.2.6: "in order for > the device to do a write to the MSI doorbell address, it needs to write > to a register in the internal registers space". > > As a result of the requirement above, without this patch, MSI won't > function and therefore some devices won't operate properly without > pci=nomsi. > > This requirement was not present at the time of writing this driver > since the vendor u-boot always initializes all PCIe controllers > (incl. BAR0 initialization) and for some time, the vendor u-boot was > the only available bootloader for this driver's SoCs (e.g. A38x,A37x, > etc). > > Tested on an Armada 385 board on mainline u-boot (2020.4), without > u-boot PCI initialization and the following PCIe devices: > - Wilocity Wil6200 rev 2 (wil6210) > - Qualcomm Atheros QCA6174 (ath10k_pci) > > Both failed to get a response from the device after loading the > firmware and seem to operate properly with this patch. > > Signed-off-by: Shmuel Hazan <sh@xxxxxxxxxx> Acked-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> Thanks a lot for the research and the different iterations! Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com