Message ID | 20221109142652.450998-1-nirmal.patel@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Lorenzo Pieralisi |
Headers | show |
Series | [v2] PCI: vmd: Disable MSI remapping after suspend | expand |
On Wed, 9 Nov 2022 07:26:52 -0700, Nirmal Patel wrote: > MSI remapping is disabled by VMD driver for Intel's Icelake and > newer systems in order to improve performance by setting > VMCONFIG_MSI_REMAP. By design VMCONFIG_MSI_REMAP register is cleared > by firmware during boot. The same register gets cleared when system > is put in S3 power state. VMD driver needs to set this register again > in order to avoid interrupt issues with devices behind VMD if MSI > remapping was disabled before. > > [...] Applied to pci/vmd, thanks! [1/1] PCI: vmd: Disable MSI remapping after suspend https://git.kernel.org/lpieralisi/pci/c/d899aa668498 Thanks, Lorenzo
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c index e06e9f4fc50f..98e0746e681c 100644 --- a/drivers/pci/controller/vmd.c +++ b/drivers/pci/controller/vmd.c @@ -980,6 +980,11 @@ static int vmd_resume(struct device *dev) struct vmd_dev *vmd = pci_get_drvdata(pdev); int err, i; + if (vmd->irq_domain) + vmd_set_msi_remapping(vmd, true); + else + vmd_set_msi_remapping(vmd, false); + for (i = 0; i < vmd->msix_count; i++) { err = devm_request_irq(dev, vmd->irqs[i].virq, vmd_irq, IRQF_NO_THREAD,