• Chris Wilson's avatar
    drm/i915: Reset last_retired_head when resetting ring · c3b20037
    Chris Wilson authored
    When we reset the ring control registers, including the HEAD and TAIL of
    the ring, we also need to reset associated state. In this instance, we
    were failing to reset the cached value of ring->last_retired_head and so
    upon the first request for more space following a resume would
    potentially (depending on a narrow race window) believe that the HEAD had
    advanced much further than reality.
    
    This is a regression from:
    
    commit a71d8d94
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Wed Feb 15 11:25:36 2012 +0000
    
        drm/i915: Record the tail at each request and use it to estimate the head
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: stable@vger.kernel.org # 3.4
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    c3b20037
intel_ringbuffer.c 38.5 KB