Re: [PATCH] PCI: vmd: Remove MSI-X check on child devices

From: Nam Cao
Date: Tue Aug 12 2025 - 14:22:36 EST


On Tue, Aug 12, 2025 at 11:30:15AM -0500, Bjorn Helgaas wrote:
> On Tue, Aug 12, 2025 at 08:49:50AM -0600, Keith Busch wrote:
> > The doc you linked is riddled with errors. The original vmd commit
> > message is more accurate: VMD domains support child devices with MSI and
> > MSI-x interrupts. The VMD device can't even tell the difference which
> > one the device is using. It just manipulates messages sent to the usual
> > APIC address 0xfeeXXXXX.
>
> Thanks, Keith! I updated the commit log like this:
>
> d7d8ab87e3e7 ("PCI: vmd: Switch to msi_create_parent_irq_domain()") added a
> WARN_ON sanity check that child devices support MSI-X, because VMD document
> says [1]:
>
> Intel VMD only supports MSIx Interrupts from child devices and therefore
> the BIOS must enable PCIe Hot Plug and MSIx interrups [sic].
>
> However, the VMD device can't even tell the difference between a child
> device using MSI and one using MSI-X. Per 185a383ada2e ("x86/PCI: Add
> driver for Intel Volume Management Device (VMD)"), VMD does not support
> INTx interrupts, but does support child devices using either MSI or MSI-X.
>
> Remove the sanity check to avoid the unnecessary WARN_ON reported by Ammar.

Minor correction, it is not just an unnecessary WARN_ON, but child devices'
drivers couldn't enable MSI at all.

So perhaps something like "Remove the sanity check to allow child devices
which only support MSI".

Thank you both,
Nam