Skip to content

Commit d899aa6

Browse files
Nirmal PatelLorenzo Pieralisi
authored andcommitted
PCI: vmd: Disable MSI remapping after suspend
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. Link: https://lore.kernel.org/r/[email protected] Fixes: ee81ee8 ("PCI: vmd: Disable MSI-X remapping when possible") Signed-off-by: Nirmal Patel <[email protected]> Signed-off-by: Lorenzo Pieralisi <[email protected]> Reviewed-by: Francisco Munoz <[email protected]>
1 parent 9abf231 commit d899aa6

File tree

1 file changed

+5
-0
lines changed
  • drivers/pci/controller

1 file changed

+5
-0
lines changed

drivers/pci/controller/vmd.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -980,6 +980,11 @@ static int vmd_resume(struct device *dev)
980980
struct vmd_dev *vmd = pci_get_drvdata(pdev);
981981
int err, i;
982982

983+
if (vmd->irq_domain)
984+
vmd_set_msi_remapping(vmd, true);
985+
else
986+
vmd_set_msi_remapping(vmd, false);
987+
983988
for (i = 0; i < vmd->msix_count; i++) {
984989
err = devm_request_irq(dev, vmd->irqs[i].virq,
985990
vmd_irq, IRQF_NO_THREAD,

0 commit comments

Comments
 (0)