• Thomas Jarosch's avatar
    PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs · f67fd55f
    Thomas Jarosch authored
    Some BIOS implementations leave the Intel GPU interrupts enabled,
    even though no one is handling them (f.e. i915 driver is never loaded).
    Additionally the interrupt destination is not set up properly
    and the interrupt ends up -somewhere-.
    
    These spurious interrupts are "sticky" and the kernel disables
    the (shared) interrupt line after 100.000+ generated interrupts.
    
    Fix it by disabling the still enabled interrupts.
    This resolves crashes often seen on monitor unplug.
    
    Tested on the following boards:
    - Intel DH61CR: Affected
    - Intel DH67BL: Affected
    - Intel S1200KP server board: Affected
    - Asus P8H61-M LE: Affected, but system does not crash.
      Probably the IRQ ends up somewhere unnoticed.
    
    According to reports on the net, the Intel DH61WW board is also affected.
    
    Many thanks to Jesse Barnes from Intel for helping
    with the register configuration and to Intel in general
    for providing public hardware documentation.
    Signed-off-by: default avatarThomas Jarosch <thomas.jarosch@intra2net.com>
    Tested-by: default avatarCharlie Suffin <charlie.suffin@stratus.com>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    f67fd55f
quirks.c 109 KB