[U-Boot] [PATCH 1/3] pci: Add error values definitions from the kernel

Bin Meng bmeng.cn at gmail.com
Fri Jan 8 01:31:17 CET 2016


On Fri, Jan 8, 2016 at 8:15 AM, Fabio Estevam <festevam at gmail.com> wrote:
> On Thu, Jan 7, 2016 at 10:02 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
>
>> What new feature would benefit from this? These two PCIe drivers are
>> non-DM drivers and DM PCI is not utilizing those error codes, instead
>> DM PCI is using U-Boot standard error codes.
>
> but what prevents DM PCI to use the kernel error codes in the future?
>
> Returning PCIBIOS_DEVICE_NOT_FOUND when the config is invalid is a
> common pattern in the kernel.
>
> Take a look at these drivers:
>
> drivers/pci/access.c
> drivers/pci/host/pci-mvebu.c
> drivers/pci/host/pci-xgene.c
> drivers/pci/host/pcie-altera.c
> drivers/pci/host/pcie-designware.c
> drivers/pci/host/pcie-rcar.c
> drivers/pci/xen-pcifront.c
>
> I don't see why we can't do the same in U-boot.
>

I am sorry but this does not convince me. Kernel is using these codes,
but I don't see any PCI library codes in kernel that actually parses
these error codes.

> Feel free to submit a patch with your proposal and the maintainer can
> then decide which one is more adequate for U-boot.

My points are:
1). These two drivers are non-DM drivers. We should start converting
them to DM drivers first instead of adding new stuff which is only
used by legacy drivers. I have pcie_layerscape on my TODO list.
2). We should stick to the correct behavior. The PCIe controller is
buggy that it cannot return 0xFFFFFFFF by hardware, like other
controllers do. IMHO it's completely a horrible controller, that
comments in ls_pcie_addr_valid() says: "Controller does not support
multi-function in RC mode".
3). If we want to align with kernel, I want to see a plan of at least
adopting these error codes in DM PCI. This is something which is not
clear for now.

Simon, what's your opinion on this?

Regards,
Bin


More information about the U-Boot mailing list