[U-Boot] [PATCH 00/23] x86: Convert to use DM PCI APIs completely

Simon Glass sjg at chromium.org
Tue Feb 2 04:55:05 CET 2016


Hi Bin,

On 1 February 2016 at 19:25, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Tue, Feb 2, 2016 at 12:19 AM, Simon Glass <sjg at chromium.org> wrote:
>> Hi Bin,
>>
>> On 1 February 2016 at 02:40, Bin Meng <bmeng.cn at gmail.com> wrote:
>>> There are still some codes that use the legacy PCI APIs to access
>>> the configuration space registers. This series converts those codes
>>> to completely use DM PCI APIs.
>>>
>>> This includes adding several new ops to the PCH uclass driver, and
>>> some clean up to the SPI/GPIO/IRQ drivers.
>>>
>>> Tested on QEMU and Crown Bay. This series is available in pci-working
>>> branch of u-boot-x86 repo.
>>
>> Looks great! This is a big step forward.
>>
>> I've tested it on minnowmax and will test on link in the next day or so.
>>
>> Here are a few things that I think can still be cleaned up:
>> - void pci_assign_irqs(int bus, int device, u8 irq[4]) should use a
>> struct udevice
>
> I guess no, unless we expand struct udevice to include interrupt
> routing information? But that's not generic across architectures. I am
> not sure how.

I suppose we can adjust it to take a struct udevice and drop the bus
and device parameters. But then we need to be able to support reading
from different functions, so will need to use pci_bus_read_config().
But at least that is a DM function. Hmmm....

>
>> - pci_x86_read/write_config() move into drivers/pci/pci_x86.c (needs
>> ivybridge fix which I'll look at)
>
> Yep. I wanted to do this when reviewing one of previous patches.

OK let's see what I find.

>
>> - disable DM_PCI_COMPAT for x86
>
> Looks e1000 and pch_gbe (Crown Bay) ethernet drivers are still using
> legacy PCI APIs. e1000 might need quite amount of work as it is being
> widely used on lots of boards. I can update pch_gbe driver later.

I converted rtl8169 using #ifdef and it seemed to work OK. We don't
need to remove the old code.

>
>> - use the PCI mmio access method instead of I/O once it becomes possible
>
> Yep.
>
>> - moving vesa video to driver model (UCLASS_VIDEO)
>
> I was not following the dm video changes recently, but I guess yes.

It only merged recently. I haven't tried looking at that.

On another note, I just got an Edison. What do you think about
supporting that in U-Boot?

Regards,
Simon


More information about the U-Boot mailing list