Skip to contentSkip to conversation

PCI: Add another ID for Intel GPU "spurious interrupt" quirk

PATCH In review Thomas Jarosch 3 participants 3 messages Aug 8, 2014 – Sep 5, 2014 PCI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PCI: Add another ID for Intel GPU "spurious interrupt" quirk

New Intel G3258 CPU, new MSI board, same problem:
The GPU interrupt fired like crazy on monitor unplug.

lspci output:
00:02.0 VGA compatible controller: Intel Corporation Device 0402 (rev 06)
Subsystem: Micro-Star International Co., Ltd. Device 7817
Flags: bus master, fast devsel, latency 0, IRQ 11

---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)
drivers/pci/quirks.c +1 -0
index 80c2d01..d2ff39d 100644
@@ -2940,6 +2940,7 @@ static void disable_igfx_irq(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0402, disable_igfx_irq);
 
 /*
  * PCI devices which are on Intel chips can skip the 10ms delay
Signature · 1 line
1.9.3
#1 lore raw
Quoted 20 lines · Thomas Jarosch

New Intel G3258 CPU, new MSI board, same problem:
The GPU interrupt fired like crazy on monitor unplug.

lspci output:
00:02.0 VGA compatible controller: Intel Corporation Device 0402 (rev 06)
Subsystem: Micro-Star International Co., Ltd. Device 7817
Flags: bus master, fast devsel, latency 0, IRQ 11

---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)
drivers/pci/quirks.c +0 -0
index 80c2d01..d2ff39d 100644

drivers/pci/quirks.c static void disable_igfx_irq(struct pci_dev *dev) · line 2943

Quoted 4 lines
drivers/pci/quirks.c +1 -0
@@ -2940,6 +2940,7 @@ static void disable_igfx_irq(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0402, disable_igfx_irq);

Shouldn't we just add entries for them all? See include/drm/i915_pciids.h

We might need to abstract the macro magic a bit though to reuse that list. Also note that not all have the DEIER register. In any case I don't think this game of whack-a-mole here is, we should plug this all for real. -Daniel

Quoted 10 lines
drivers/pci/quirks.c +0 -0
 /*
  * PCI devices which are on Intel chips can skip the 10ms delay
Signature · 6 lines
1.9.3

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
maintainer
#2 lore raw
In reply to Thomas Jarosch
Quoted 11 lines · Thomas Jarosch

New Intel G3258 CPU, new MSI board, same problem:
The GPU interrupt fired like crazy on monitor unplug.

lspci output:
00:02.0 VGA compatible controller: Intel Corporation Device 0402 (rev 06)
Subsystem: Micro-Star International Co., Ltd. Device 7817
Flags: bus master, fast devsel, latency 0, IRQ 11

Dropping for now, please resend if necessary after resolving Daniel's question.

Quoted 19 lines
---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)
drivers/pci/quirks.c +1 -0
index 80c2d01..d2ff39d 100644
@@ -2940,6 +2940,7 @@ static void disable_igfx_irq(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0402, disable_igfx_irq);
 
 /*
  * PCI devices which are on Intel chips can skip the 10ms delay
Signature · 1 line
1.9.3