drm/i915/lrc: Do not wait atomically when stopping engines
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Thu, 3 Mar 2016 14:36:42 +0000 (14:36 +0000)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Thu, 3 Mar 2016 17:26:51 +0000 (17:26 +0000)
I do not see that this needs to be done atomically and up to
one second is quite a long time to busy loop.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_lrc.c

index 27c9ee3f7372f72c4bbd3786b86ce221aafdac19..6fcbf6bb0479506fcec30b3ed371b7e5235f2ddc 100644 (file)
@@ -1062,7 +1062,7 @@ void intel_logical_ring_stop(struct intel_engine_cs *ring)
 
        /* TODO: Is this correct with Execlists enabled? */
        I915_WRITE_MODE(ring, _MASKED_BIT_ENABLE(STOP_RING));
-       if (wait_for_atomic((I915_READ_MODE(ring) & MODE_IDLE) != 0, 1000)) {
+       if (wait_for((I915_READ_MODE(ring) & MODE_IDLE) != 0, 1000)) {
                DRM_ERROR("%s :timed out trying to stop ring\n", ring->name);
                return;
        }