On Fri, Apr 25, 2014 at 11:37:18AM -0600, Bjorn Helgaas wrote: > On Fri, Apr 25, 2014 at 11:35:21AM -0600, Bjorn Helgaas wrote: > > [+cc Daniel, Jani, intel-gfx, dri-devel, -cc stable] > > > > On Mon, Apr 07, 2014 at 03:10:32PM +0200, Thomas Jarosch wrote: > > > 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? > > 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 <daniel.vetter@xxxxxxxx> 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 > > > > Signed-off-by: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx> > > > Tested-by: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx> > > > --- > > > drivers/pci/quirks.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > > > index e729206..0feb4a3 100644 > > > --- a/drivers/pci/quirks.c > > > +++ b/drivers/pci/quirks.c > > > @@ -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 > > > -- > > > 1.8.1.4 > > > > > > -- > > > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel