On Wed, 4 Nov 2015, Keith Busch wrote: > On Tue, Nov 03, 2015 at 12:42:02PM +0100, Thomas Gleixner wrote: > > On Tue, 3 Nov 2015, Keith Busch wrote: > > > > > + msi_irqdomain = pci_msi_create_irq_domain(NULL, &pci_chained_msi_domain_info, > > > > > + vmd_irqdomain); > > > > But that parent limitation does not matter simply because your > > msi_irqdomain does not follow down the hierarchy in the allocation > > path. > > > > So we can avoid the vmd_irqdomain creation completely. It's just > > wasting memory and has no value at all. Creating the msi domain with a > > NULL parent is possible. > > I'm having trouble following the hierarchy and didn't understand the > connection between the parent and msi comain. It's still new to me, > but I don't think a NULL parent is allowable with msi domains: > > pci_msi_setup_msi_irqs() > pci_msi_domain_alloc_irqs() > msi_domain_alloc_irqs() > __irq_domain_alloc_irqs() > irq_domain_alloc_irqs_recursive() > msi_domain_alloc() > irq_domain_alloc_irqs_parent() > > The last call returns -ENOSYS since there parent is NULL. Was the > intension to allow no parent, or do I still need to allocate one to > achieve the desired chaining? Hmm, seems I missed that part. But that's a fixable problem. Jiang? Thanks, tglx -- 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