PCI: Add new PCI id for Intel GPU interrupt quirk
PATCH 1/1 PCI: Add new PCI id for Intel GPU interrupt quirk
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.
-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)
drivers/pci/quirks.c +1 -0
@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay
Signature · 1 line
1.8.1.4
Quoted 30 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
Signed-off-by Thomas Jarosch <[email protected]>Tested-by Thomas Jarosch <[email protected]>--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)drivers/pci/quirks.c +1
-0@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay Signature · 1 line
1.8.1.4
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly.
</formletter>
Hi Greg,
Quoted 5 lines · On Monday, 7. April 2014 09:58:08 Greg KH wrote:
Quoted 2 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
..
Quoted 7 lines
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read
Documentation/stable_kernel_rules.txtfor how to do this properly.</formletter>
sorry 'bout that :)
I had on my mind I should CC: stable@ and then the patch will be picked up automatically once / if it gets applied to the normal git tree or lost in space if it gets rejected. Guess that was wishful thinking :)
Have a nice weekend,
Thomas
Bjorn Helgaas
maintainer[+cc Daniel, Jani, intel-gfx, dri-devel, -cc stable]
Quoted 9 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
Daniel, Jani, et al, do we need a better solution to this? Is there a more general way to solve this than by tripping over affected machines one-by-one? Could this be done in the driver rather than in a quirk?
Quoted 25 lines
Signed-off-by Thomas Jarosch <[email protected]>Tested-by Thomas Jarosch <[email protected]>--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)drivers/pci/quirks.c +1
-0@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay Signature · 6 lines
1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Bjorn Helgaas
maintainerQuoted 9 lines · Bjorn Helgaas
[+cc Daniel, Jani, intel-gfx, dri-devel, -cc stable]
Quoted 6 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.
Quoted 7 lines
Quoted 3 lines
-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
Daniel, Jani, et al, do we need a better solution to this? Is there a more general way to solve this than by tripping over affected machines one-by-one? Could this be done in the driver rather than in a quirk?
I guess it can't be done in the driver because the problem happens even if the driver isn't loaded, per f67fd55fa96f ("PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs").
Quoted 25 lines
Quoted 25 lines
Signed-off-by Thomas Jarosch <[email protected]>Tested-by Thomas Jarosch <[email protected]>--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)drivers/pci/quirks.c +1
-0@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay Signature · 6 lines
1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 14 lines · Bjorn Helgaas
Quoted 13 lines · Bjorn Helgaas
[+cc Daniel, Jani, intel-gfx, dri-devel, -cc stable]
Quoted 9 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
Quoted 7 lines
Quoted 3 lines
Daniel, Jani, et al, do we need a better solution to this? Is there a more general way to solve this than by tripping over affected machines one-by-one? Could this be done in the driver rather than in a quirk?
I guess it can't be done in the driver because the problem happens even if the driver isn't loaded, per
f67fd55fa96f("PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs").
Hm, this is new to me. The only thing wrt spurious interrupts I was aware of is on g4x platforms which also fire legacy interrupts (but only for some chip functions) when we use msi. See
commit 4e6b788c3f2388c519ab6ed7fe59f372c85d26e9
Author: Daniel Vetter <[email protected]> Date: Fri Feb 7 16:33:20 2014 +0100
drm/i915: Disable dp aux irq on g4x
we simply opted to not enable those interrupts on g4x to keep things quiet. For other platforms I'm not aware of any such issues.
I guess you could just match on all of them, but the master irq control bit moves around a _lot_. We already have a differen early platform quirk and for that exposed pci ids as macros in include/drm/i915_pciids.h -Daniel
Quoted 26 lines
Quoted 26 lines
Quoted 26 lines
Signed-off-by Thomas Jarosch <[email protected]>Tested-by Thomas Jarosch <[email protected]>--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)drivers/pci/quirks.c +1
-0@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay Signature · 6 lines
1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 3 lines
Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
Quoted 6 lines · Thomas Jarosch
After a CPU upgrade while keeping the same mainboard, we faced "spurious interrupt" problems again.
It turned out that the new CPU also featured a
new GPU with a different PCI id.
Quoted 6 lines
-> Add this PCI id to the quirk table. Probably all other Intel GPU PCI ids are affected, too, but I don't want to add them without a test system.
Signed-off-by Thomas Jarosch <[email protected]>Tested-by Thomas Jarosch <[email protected]>
I applied this to pci/misc for v3.16, with a stable tag for v3.4+, thanks!
Quoted 23 lines
--- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+)drivers/pci/quirks.c +1
-0@@ -2954,6 +2954,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);/* * PCI devices which are on Intel chips can skip the 10ms delay Signature · 6 lines
1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html