2021-12-06 22:40:53

by Thomas Gleixner

[permalink] [raw]
Subject: [patch V2 24/36] powerpc/pseries/msi: Use MSI device properties

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);
}



2021-12-08 15:51:29

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [patch V2 24/36] powerpc/pseries/msi: Use MSI device properties

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