instead of fiddling with MSI descriptors.
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Reviewed-by: Jason Gunthorpe <[email protected]>
---
arch/powerpc/platforms/pseries/msi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- 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);
}
On Mon, Dec 06, 2021 at 11:39:34PM +0100, Thomas Gleixner wrote:
> instead of fiddling with MSI descriptors.
>
> Signed-off-by: Thomas Gleixner <[email protected]>
> Reviewed-by: Greg Kroah-Hartman <[email protected]>
> Reviewed-by: Jason Gunthorpe <[email protected]>
> 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