On Monday 19 January 2015 13:38:53 Gabriel Fernandez wrote: > > On 18 December 2014 at 05:58, Jingoo Han <jg1.han@xxxxxxxxxxx> wrote: > > > On Thursday, December 18, 2014 7:16 AM, Arnd Bergmann wrote: > > > On Wednesday 17 December 2014 11:34:45 Gabriel FERNANDEZ wrote: > > > > ST sti SoCs PCIe IPs are built around DesignWare IP Core. > > > > But in these SoCs PCIe IP doesn't support IO. > > I cannot understand how ST sti SoCs PCIe IP does not support I/O. > > As far as I know, it cannot be selected by the 'parameter'. > > Then, H/W engineers dropped out the I/O control logic? > > > > > > > > > > To support this, add setup_bus() to pcie_host_ops. > > > > > > > > > > > > Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> > > > > Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> > > > > > > The dw-pcie driver should be able to tell whether the device has > > > an I/O space or not, and do the right thing based on that. Don't > > > add an implementation specific callback for that. > > > > I agree with Arnd's opinion. > > > > In addition, I have one more question. > > Then, if a device that requires I/O region is connected to > > PCIe slot of ST sti SoCs PCIe, what will happen? > > It just prints error messages? > > > > > Arnd i > n other post mention to add an empty I/O space to workaround lack of I/O > port access. > Is it the right thing to do ? > > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-November/299623.html > Good question. Given the latest development, I'd feel tempted to try moving the entire pcie-designware driver to use the generic probing that bypassses pci_common_init_dev(). Rob Herring posted a patch for the versatile PCI driver, you could try doing the same thing here, see http://permalink.gmane.org/gmane.linux.kernel.pci/30346. I think that would completely avoid this problem, and also help everyone that wants to use this driver on arm64. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html