• Chris Wilson's avatar
    drm/i915: Flush the pending flips on the CRTC before modification · 5bb61643
    Chris Wilson authored
    This was meant to be the purpose of the
    intel_crtc_wait_for_pending_flips() function which is called whilst
    preparing the CRTC for a modeset or before disabling. However, as Ville
    Syrjala pointed out, we set the pending flip notification on the old
    framebuffer that is no longer attached to the CRTC by the time we come
    to flush the pending operations. Instead, we can simply wait on the
    pending unpin work to be finished on this CRTC, knowning that the
    hardware has therefore finished modifying the registers, before proceeding
    with our direct access.
    
    Fixes i-g-t/flip_test on non-pch platforms. pch platforms simply
    schedule the flip immediately when the pipe is disabled, leading
    to other funny issues.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: stable@vger.kernel.org
    [danvet: Added i-g-t note and cc: stable]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    5bb61643
intel_display.c 226 KB