[PATCH] PCI: mvebu: setup BAR0 to internal-regs

Shmuel H. sh at tkos.co.il
Tue Jun 23 00:31:49 EDT 2020


Hi Thomas, Bjorn,

On 6/23/20 1:49 AM, Bjorn Helgaas wrote:
> On Mon, Jun 22, 2020 at 08:40:33PM +0200, Thomas Petazzoni wrote:
>> On Mon, 22 Jun 2020 12:25:16 -0500
>> Bjorn Helgaas <helgaas at kernel.org> wrote:
>>
>>>> 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.  
>>> Does that mean MSIs never worked at all with mvebu?
>> They definitely worked. I think what happens is that this register was
>> normally setup by the vendor-specific bootloader, and thanks to
>> firmware initialization, Linux had MSIs working properly.
>>
>> With other bootloaders that initialize the PCIe block differently, or
>> even not at all, it became clear this init was missing in Linux.
> That would be very useful information to include in the commit log.

Thanks. I will add it to the commit message.

>
> Are there any other similar bugs lurking?  Other registers where we
> implicitly rely on the bootloader to do something?

I don't think that any PCI  driver writer can answer this question for
sure.

I can however confirm that this driver, on the a385, works with no
u-boot PCIe initialization. As for other subsystems PCI is dependent on
(e.g. SerDes, etc), I can't say for sure.

-- 
- Shmuel Hazan

mailto:sh at tkos.co.il | tel:+972-523-746-435 | http://tkos.co.il




More information about the linux-arm-kernel mailing list