On 11/03/2014 11:18 PM, Scott Wood wrote: > Is it really necessary for the virqs to be contiguous? How is the > availability of multiple MSIs communicated to the driver? Is there an > example of a driver that currently uses multiple MSIs?
I used this in PCI and after enabling 2^x, I allocated an continuous block starting at virq. There is no way of communicating this in any other way. The first irq number is saved in pci_dev->irq and the remaining have to follow. Take a look at drivers/ata/ahci.c and you will see: - pci_msi_vec_count() for number of irqs - pci_enable_msi_block() to allocate the number of irqs - pci_enable_msi() (no X) - ahci_host_activate() does request_threaded_irq() for pdev->irq and loops "number of ports" times which matches number of number of irqs (or is less then). Sebastian _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev