Re: [PATCH 07/15] drm/amdgpu: use PCI_IRQ_MSI_TYPES where appropriate

From: Andy Shevchenko
Date: Tue Jun 02 2020 - 10:00:34 EST


On Tue, Jun 2, 2020 at 4:38 PM Ruhl, Michael J <michael.j.ruhl@xxxxxxxxx> wrote:
> >-----Original Message-----
> >From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
> >Piotr Stankiewicz
> >Sent: Tuesday, June 2, 2020 5:21 AM
> >To: Alex Deucher <alexander.deucher@xxxxxxx>; Christian KÃnig
> ><christian.koenig@xxxxxxx>; David Zhou <David1.Zhou@xxxxxxx>; David
> >Airlie <airlied@xxxxxxxx>; Daniel Vetter <daniel@xxxxxxxx>
> >Cc: Stankiewicz, Piotr <piotr.stankiewicz@xxxxxxxxx>; dri-
> >devel@xxxxxxxxxxxxxxxxxxxxx; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; linux-
> >kernel@xxxxxxxxxxxxxxx
> >Subject: [PATCH 07/15] drm/amdgpu: use PCI_IRQ_MSI_TYPES where
> >appropriate

...

> > int nvec = pci_msix_vec_count(adev->pdev);
> > unsigned int flags;
> >
> >- if (nvec <= 0) {
> >+ if (nvec > 0)
> >+ flags = PCI_IRQ_MSI_TYPES;
> >+ else
> > flags = PCI_IRQ_MSI;
> >- } else {
> >- flags = PCI_IRQ_MSI | PCI_IRQ_MSIX;
> >- }
>
> Minor nit:
>
> Is it really necessary to set do this check? Can flags just
> be set?
>
> I.e.:
> flags = PCI_IRQ_MSI_TYPES;
>
> pci_alloc_irq_vector() tries stuff in order. If MSIX is not available,
> it will try MSI.

That's also what I proposed earlier. But I suggested as well to wait
for AMD people to confirm that neither pci_msix_vec_count() nor flags
is needed and we can directly supply MSI_TYPES to the below call.

> > /* we only need one vector */
> > nvec = pci_alloc_irq_vectors(adev->pdev, 1, 1, flags);

--
With Best Regards,
Andy Shevchenko