• Adam Jackson's avatar
    drm/i915/gen4: Fix interrupt setup ordering · c496fa1f
    Adam Jackson authored
    Unmask, then enable interrupts, then enable interrupt sources; matches
    PCH ordering.  The old way (sources, enable, unmask) gives a window
    during which interrupt conditions would appear in ISR but would never
    reach IIR and thus never raise an IRQ.  Since interrupts only trigger
    on rising edges in ISR, this would lead to conditions where (for
    example) output hotplugging would never fire an interrupt because it
    was already stuck on in ISR.
    
    Also, since we know IIR and PIPExSTAT have been cleared during
    irq_preinstall, don't clear them again during irq_postinstall, nothing
    good can come of that.
    Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    c496fa1f
i915_irq.c 40.3 KB