powerpc/4xx/hsta: Rework MSI handling

Replace the about to vanish iterators and make use of the filtering.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211206210748.359766435@linutronix.de
This commit is contained in:
Thomas Gleixner
2021-12-06 23:51:25 +01:00
parent 2ca5e908d0
commit 85dabc2f72

View File

@@ -47,7 +47,7 @@ static int hsta_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
return -EINVAL; return -EINVAL;
} }
for_each_pci_msi_entry(entry, dev) { msi_for_each_desc(entry, &dev->dev, MSI_DESC_NOTASSOCIATED) {
irq = msi_bitmap_alloc_hwirqs(&ppc4xx_hsta_msi.bmp, 1); irq = msi_bitmap_alloc_hwirqs(&ppc4xx_hsta_msi.bmp, 1);
if (irq < 0) { if (irq < 0) {
pr_debug("%s: Failed to allocate msi interrupt\n", pr_debug("%s: Failed to allocate msi interrupt\n",
@@ -105,10 +105,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev)
struct msi_desc *entry; struct msi_desc *entry;
int irq; int irq;
for_each_pci_msi_entry(entry, dev) { msi_for_each_desc(entry, &dev->dev, MSI_DESC_ASSOCIATED) {
if (!entry->irq)
continue;
irq = hsta_find_hwirq_offset(entry->irq); irq = hsta_find_hwirq_offset(entry->irq);
/* entry->irq should always be in irq_map */ /* entry->irq should always be in irq_map */