Re: [RFC PATCH] pci: designware: add driver for DWC controller in ECAM shift mode

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

 



On 21 August 2017 at 16:19, Jingoo Han <jingoohan1@xxxxxxxxx> wrote:
> On Friday, August 18, 2017 6:57 PM, Ard Biesheuvel wrote:
>>
>> Some implementations of the Synopsys Designware PCIe controller implement
>> a so-called ECAM shift mode, which allows a static memory window to be
>> configured that covers the configuration space of the entire bus range.
>>
>> If the firmware performs all the low level configuration that is required
>> to expose this controller in a fully ECAM compatible manner, we can
>> simply describe it as "pci-host-ecam-generic" and be done with it.
>> However, it appears that in some cases (one of which is the Armada 80x0),
>> the IP is synthesized with an ATU window size that does not allow the
>> first bus to be mapped in a way that prevents the device on the
>> downstream port from appearing more than once.
>>
>> So implement a driver that relies on the firmware to perform all low
>> level initialization, and drives the controller in ECAM mode, but
>> overrides the config space accessors to take the above quirk into
>> account.
>>
>> Note that, unlike most drivers for this IP, this driver does not expose
>> a fake bridge device at B/D/F 00:00.0. There is no point in doing so,
>> given that this is not a true bridge, and does not require any windows
>> to be configured in order for the downstream device to operate correctly.
>> Omitting it also prevents the PCI resource allocation routines from
>> handing out BAR space to it unnecessarily.
>>
>> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>> Cc: Jingoo Han <jingoohan1@xxxxxxxxx>
>> Cc: Joao Pinto <Joao.Pinto@xxxxxxxxxxxx>
>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
>> ---
>>
>> Posted as RFC for discussion. We have systems booting with UEFI firmware
>
> (CC'ed Arnd Bergmann)
>
> Thank you for sharing this patch.
> I have no objection about this patch.
>

Thanks.

> I think that this driver is required for ARM-based server system.
> But, as you wrote above, UEFI should support low-level code for this
> DesignWare
> Controller if we want to use this DWC-ECAM driver. So, can we get the UEFI
> code
> for this controller?
>
> If not, can you share your plan about that?
>

Yes, I will share the code via the edk2-platforms tree as soon as we
are ready to publish support for this particular platform.



[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