archive mirror
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <>
To: Nirmal Patel <>
Subject: Re: [PATCH 1/2] PCI: vmd: Assign VMD IRQ domain before enumeration
Date: Wed, 11 May 2022 10:10:36 +0100	[thread overview]
Message-ID: <Ynt9jJU78JnIiZ7z@lpieralisi> (raw)
In-Reply-To: <>

[Adding Marc, to keep an eye on IRQ domain usage]

On Mon, May 02, 2022 at 01:48:59AM -0700, Nirmal Patel wrote:
> VMD creates and assigns a separate IRQ domain when MSI-X remapping is
> enabled. For example VMD-MSI. But VMD doesn't assign IRQ domain when
> MSI-X remapping is disabled resulting child devices getting default
> PCI-MSI IRQ domain. Now when interrupt remapping is enabled by
> intel-iommu all the PCI devices are assigned INTEL-IR-MSI domain
> including VMD endpoints. But devices behind VMD get PCI-MSI IRQ domain
> when VMD create a root bus and configures child devices.

I would encourage you to rewrite this log, it is unclear - granted,
I don't know intel-iommu internals - but IMHO if you explain the
issue and the fix thoroughly this could avoid repeating what
you have to do in patch(2).

Please describe how VMD handles IRQ domains and how you are fixing


> As a result DMAR errors were observed when interrupt remapping was
> enabled on Intel Icelake CPUs. For instance:
>   DMAR: DRHD: handling fault status reg 2
>   DMAR: [INTR-REMAP] Request device [0xe2:0x00.0] fault index 0xa00 [fault reason 0x25] Blocked a compatibility format interrupt request
> Signed-off-by: Nirmal Patel <>
> ---
>  drivers/pci/controller/vmd.c | 3 +++
>  1 file changed, 3 insertions(+)
> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index eb05cceab964..5015adc04d19 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -853,6 +853,9 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
>  	vmd_attach_resources(vmd);
>  	if (vmd->irq_domain)
>  		dev_set_msi_domain(&vmd->bus->dev, vmd->irq_domain);
> +	else
> +		dev_set_msi_domain(&vmd->bus->dev,
> +				   dev_get_msi_domain(&vmd->dev->dev));
>  	vmd_acpi_begin();
> -- 
> 2.26.2

  reply	other threads:[~2022-05-11  9:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-02  8:48 [PATCH 0/2] PCI: vmd: IRQ domain assignment to sub devices Nirmal Patel
2022-05-02  8:48 ` [PATCH 1/2] PCI: vmd: Assign VMD IRQ domain before enumeration Nirmal Patel
2022-05-11  9:10   ` Lorenzo Pieralisi [this message]
2022-05-11 16:57     ` Patel, Nirmal
2022-05-02  8:49 ` [PATCH 2/2] PCI: vmd: Revert 2565e5b69c44 ("PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is enabled by IOMMU.") Nirmal Patel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Ynt9jJU78JnIiZ7z@lpieralisi \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).