• Chris Wilson's avatar
    drm/i915: Restore inhibiting the load of the default context · 42f1cae8
    Chris Wilson authored
    Following a GPU reset, we may leave the context in a poorly defined
    state, and reloading from that context will leave the GPU flummoxed. For
    secondary contexts, this will lead to that context being banned - but
    currently it is also causing the default context to become banned,
    leading to turmoil in the shared state.
    
    This is a regression from
    
    commit 6702cf16 [v4.1]
    Author: Ben Widawsky <benjamin.widawsky@intel.com>
    Date:   Mon Mar 16 16:00:58 2015 +0000
    
        drm/i915: Initialize all contexts
    
    which quietly introduced the removal of the MI_RESTORE_INHIBIT on the
    default context.
    
    v2: Mark the global default context as uninitialized on GPU reset so
    that the context-local workarounds are reloaded upon re-enabling.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Michel Thierry <michel.thierry@intel.com>
    Cc: Mika Kuoppala <mika.kuoppala@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1448630935-27377-1-git-send-email-chris@chris-wilson.co.ukReviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
    Cc: stable@vger.kernel.org
    [danvet: This seems to fix a gpu hand on after the first resume,
    resulting in any future suspend operation failing with -EIO because
    the gpu seems to be in a funky state. Somehow this patch fixes that.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    42f1cae8
i915_gem_context.c 28.5 KB