drm/i915: Flush the execlist ports if idle
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jul 2017 12:32:22 +0000 (13:32 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 27 Jul 2017 07:38:45 +0000 (09:38 +0200)
commitcdb6ded42f735396197906de04316d9b0e10c987
tree91e299c227ccb39db13190262e37d8c909730fcb
parent0364cd19d61caad7292cc4e87f5001595b6c7642
drm/i915: Flush the execlist ports if idle

When doing a GPU reset, the CSB register will be trashed and we will
lose any context-switch notifications that happened since the tasklet
was disabled. If we find that all requests on this engine were
completed, we want to make sure that the ELSP tracker is similarly empty
so that we do not feed back in the completed requests upon recovering
from the reset.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170721123238.16428-4-chris@chris-wilson.co.uk
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_lrc.c