Thread (59 messages) 59 messages, 8 authors, 2021-11-30

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help