x86/pci/XEN: Use PCI device property
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:18:46 +0000 (23:18 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:37 +0000 (22:16 +0100)
instead of fiddling with MSI descriptors.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221813.311410967@linutronix.de
arch/x86/pci/xen.c

index a63d30a..bfd87b4 100644 (file)
@@ -399,9 +399,7 @@ static void xen_teardown_msi_irqs(struct pci_dev *dev)
 
 static void xen_pv_teardown_msi_irqs(struct pci_dev *dev)
 {
-       struct msi_desc *msidesc = first_pci_msi_entry(dev);
-
-       if (msidesc->pci.msi_attrib.is_msix)
+       if (dev->msix_enabled)
                xen_pci_frontend_disable_msix(dev);
        else
                xen_pci_frontend_disable_msi(dev);
@@ -417,10 +415,7 @@ static int xen_msi_domain_alloc_irqs(struct irq_domain *domain,
        if (WARN_ON_ONCE(!dev_is_pci(dev)))
                return -EINVAL;
 
-       if (first_msi_entry(dev)->pci.msi_attrib.is_msix)
-               type = PCI_CAP_ID_MSIX;
-       else
-               type = PCI_CAP_ID_MSI;
+       type = to_pci_dev(dev)->msix_enabled ? PCI_CAP_ID_MSIX : PCI_CAP_ID_MSI;
 
        return xen_msi_ops.setup_msi_irqs(to_pci_dev(dev), nvec, type);
 }