Re: [Intel-gfx] [PATCH 1/5] drm/i915: Cleanup instdone state
On Tue, 14 Aug 2012 14:35:13 -0700, Ben Widawsky b...@bwidawsk.net wrote: Clear the cached instdone state to match what we expect from hardware and prevent us from comparing stale values. Actually, clearing the state is not the same as setting idle state. There would be a known state of idle (ie. all units are done), but since it differs for every platform, we can just set 0, and let the hangcheck progress as normal. By putting the clear into add_request we are essentially initializing the cached instdone to a known state before we start the hangcheck timer. v2: clear instdone in more place (Chris) Rewrote the commit message References: https://bugs.freedesktop.org/show_bug.cgi?id=52429 Tested-by: Guang A Yang guang.a.y...@intel.com Signed-off-by: Ben Widawsky b...@bwidawsk.net So if hangcheck is already running and we add a new request, we still clear the stale state. This means that we may take an extra tick after a new request for hangcheck to raise an error. Not a big deal and it keeps the code clean. Though possibly deserves a comment? Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk -Chris -- Chris Wilson, Intel Open Source Technology Centre ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/5] drm/i915: Cleanup instdone state
Clear the cached instdone state to match what we expect from hardware and prevent us from comparing stale values. Actually, clearing the state is not the same as setting idle state. There would be a known state of idle (ie. all units are done), but since it differs for every platform, we can just set 0, and let the hangcheck progress as normal. By putting the clear into add_request we are essentially initializing the cached instdone to a known state before we start the hangcheck timer. v2: clear instdone in more place (Chris) Rewrote the commit message References: https://bugs.freedesktop.org/show_bug.cgi?id=52429 Tested-by: Guang A Yang guang.a.y...@intel.com Signed-off-by: Ben Widawsky b...@bwidawsk.net --- drivers/gpu/drm/i915/i915_gem.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 0514593..0d992e6 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1601,6 +1601,7 @@ i915_add_request(struct intel_ring_buffer *ring, if (!dev_priv-mm.suspended) { if (i915_enable_hangcheck) { + dev_priv-last_instdone = dev_priv-last_instdone1 = 0; mod_timer(dev_priv-hangcheck_timer, jiffies + msecs_to_jiffies(DRM_I915_HANGCHECK_PERIOD)); -- 1.7.11.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx