
On Friday, January 08, 2016 at 01:31:17 AM, Bin Meng wrote:
On Fri, Jan 8, 2016 at 8:15 AM, Fabio Estevam festevam@gmail.com wrote:
On Thu, Jan 7, 2016 at 10:02 PM, Bin Meng bmeng.cn@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.
This point is invalid, I see this patch series is just fixing bugs and converting drivers to DM is _far_ beyond the scope of this series.
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".
Can you elaborate on why do you think it is a horrible controller ? Most of the controllers I saw used on ARM were this way.
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.
No, this is again far beyond the scope of this series. I want PCI on iMX and LS to work in the current release, period. So from my side, I want these patches to go in.
Simon, what's your opinion on this?
Regards, Bin
Best regards, Marek Vasut