Re: [PATCH 04/17] gpu: nova-core: allocate PCI MSI vector during probe

"Danilo Krummrich" <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,dev.linux.lists.nova-gpu
Message-ID <[email protected]>
On Sat Aug 8, 2026 at 5:11 AM CEST, John Hubbard wrote:
> Allocate a single PCI MSI interrupt vector in the probe path.
>
> Try MSI/MSI-X first. If that fails (possible in broken VFIO setups),
> fall back to INTx with a dev_warn so the issue is visible in dmesg.
> The allocation is devres-managed and automatically freed on unbind.

[...]

> +pub(crate) fn alloc_vector(pdev: &pci::Device<Bound>) -> Result<pci::IrqVector<'_>> {
> +    let msi_types = IrqTypes::default().with(IrqType::Msi).with(IrqType::MsiX);

I was about to ask if we really need to bother with MSI and shouln't just go for
MSI-X only.

But then saw that the commit message mentions broken VFIO setups; can you expand
on this a bit? Which setups is the commit message referring to?

> +
> +    let irq_vectors = match pdev.alloc_irq_vectors(1, 1, msi_types) {
> +        Ok(vecs) => vecs,
> +        Err(_) => {
> +            dev_warn!(pdev.as_ref(), "MSI not available, falling back to INTx\n");
> +            pdev.alloc_irq_vectors(1, 1, IrqTypes::default().with(IrqType::Intx))?
> +        }
> +    };
> +
> +    irq_vectors.vector(0)
> +}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.