Re: [patch 00/37] genirq/msi, PCI/MSI: Spring cleaning - Part 2
From: Thomas Gleixner <hidden>
Date: 2021-11-28 20:29:25
Also in:
dmaengine, linux-iommu, linux-pci, lkml
From: Thomas Gleixner <hidden>
Date: 2021-11-28 20:29:25
Also in:
dmaengine, linux-iommu, linux-pci, lkml
On Sat, Nov 27 2021 at 20:39, Jason Gunthorpe wrote:
On Sat, Nov 27, 2021 at 02:21:17AM +0100, Thomas Gleixner wrote:quoted
4) Provide a function to retrieve the Linux interrupt number for a given MSI index similar to pci_irq_vector() and cleanup all open coded variants.The msi_get_virq() sure does make a big difference.. Though it does highlight there is some asymmetry with how platform and PCI works here where PCI fills some 'struct msix_entry *'. Many drivers would be quite happy to just call msi_get_virq() and avoid the extra memory, so I think the msi_get_virq() version is good.
struct msix_entry should just go away.
90+% of the use cases fill it with a linear index range 0...N and then
use the virq entry for request_irq(). So they can just use
pci_alloc_irs_vectors_affinity() and retrieve the interrupt number via
pci_irq_vector().
The few drivers which actually use it to allocate a sparse populated MSI
index, e.g. 0, 12, 14 can be converted over to alloc vector 0 and then
use the dynamic extenstion for the rest.
Thanks,
tglx
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel