On 2 April 2014 16:43, Murali Karicheri <m-karicheri2@xxxxxx> wrote: > Keystone pcie driver is developed based on other dw based pcie drivers > > such as pci-exynos that uses subsys_initcall(). I am new to this list, > > probably Jingoo (copied) has some history on why we can't use module. > For now I will keep it as is and can be re-visited in the next revisions. > Also I will experiment with PCIE port driver as well. > > > BTW, PCIE driver currently uses Legacy or MSI IRQ. Keystone PCI has > a platform IRQ. Is DT based irq configuration is the appropriate way > to add this capability? As far as I am aware - the PCI standards define a particular way for devices to describe which interrupt will be used for things like hotplug, AER and PME. These interrupts are always PCI interrupts (i.e. MSI/MSI-X/legacy). Thus the port services code in the kernel uses standard configuration space accesses to determine the interrupt to use. Also note that it's not just the host bridge that can provide these services but any PCIE device, I guess in this sense a host bridge is treated like any other device. If my understanding is correct I don't believe the current port services code allows exceptions to this, i.e. to say this host bridge actually uses a platform IRQ for AER rather than an MSI. Though this may be quite useful as I suspect many host bridges provide interrupts for things like PME through platform IRQs rather that PCI interrupts. Does the Keystone have platform IRQs for things like AER? Is that because the IP makes these events available through platform IRQs in addition to the standard PCI means? Andrew Murray -- 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