Comment 69 for bug 475429

Revision history for this message
In , Chris Wilson (ickle) wrote :

The kernel patches are upstream as part of 2.6.35-rc4:

commit 1afe3e9d4335bf3bc5615e37243dc8fef65dac8f
Author: Jesse Barnes <email address hidden>
Date: Fri Mar 26 10:35:20 2010 -0700

    drm/i915: gen3 page flipping fixes

    Gen3 chips have slightly different flip commands, and also contain a bit
    that indicates whether a "flip pending" interrupt means the flip has
    been queued or has been completed.

    So implement support for the gen3 flip command, and make sure we use the
    flip pending interrupt correctly depending on the value of ECOSKPD bit
    0.

    Signed-off-by: Jesse Barnes <email address hidden>
    Signed-off-by: Eric Anholt <email address hidden>

commit 83f7fd055eb3f1e843803cd906179d309553967b
Author: Jesse Barnes <email address hidden>
Date: Mon Apr 5 14:03:51 2010 -0700

    drm/i915: don't queue flips during a flip pending event

    Hardware will set the flip pending ISR bit as soon as it receives the
    flip instruction, and (supposedly) clear it once the flip completes
    (e.g. at the next vblank). If we try to send down a flip instruction
    while the ISR bit is set, the hardware can become very confused, and we
    may never receive the corresponding flip pending interrupt, effectively
    hanging the chip.

    Signed-off-by: Jesse Barnes <email address hidden>
    Signed-off-by: Eric Anholt <email address hidden>

I believe that this fixes the page-flipping issues on i945.