Message ID | 20211206210438.967630948@linutronix.de (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | genirq/msi, PCI/MSI: Spring cleaning - Part 2 | expand |
On Mon, Dec 06, 2021 at 11:39:34PM +0100, Thomas Gleixner wrote: > instead of fiddling with MSI descriptors. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> > arch/powerpc/platforms/pseries/msi.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > +++ b/arch/powerpc/platforms/pseries/msi.c > @@ -447,9 +447,9 @@ static int rtas_prepare_msi_irqs(struct > static int pseries_msi_ops_prepare(struct irq_domain *domain, struct device *dev, > int nvec, msi_alloc_info_t *arg) > { > + bool is_msix = msi_device_has_property(dev, MSI_PROP_PCI_MSIX); > + int type = is_msix ? PCI_CAP_ID_MSIX : PCI_CAP_ID_MSI; > struct pci_dev *pdev = to_pci_dev(dev); We have the pci_dev here, why not just do something like bool is_msix = pdev->msix_enabled; ? Jason
--- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -447,9 +447,9 @@ static int rtas_prepare_msi_irqs(struct static int pseries_msi_ops_prepare(struct irq_domain *domain, struct device *dev, int nvec, msi_alloc_info_t *arg) { + bool is_msix = msi_device_has_property(dev, MSI_PROP_PCI_MSIX); + int type = is_msix ? PCI_CAP_ID_MSIX : PCI_CAP_ID_MSI; struct pci_dev *pdev = to_pci_dev(dev); - struct msi_desc *desc = first_pci_msi_entry(pdev); - int type = desc->pci.msi_attrib.is_msix ? PCI_CAP_ID_MSIX : PCI_CAP_ID_MSI; return rtas_prepare_msi_irqs(pdev, nvec, type, arg); }