drm/i915: Disable GPU semaphores on SandyBridge mobile
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 14 Jan 2011 09:46:38 +0000 (09:46 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 14 Jan 2011 09:51:05 +0000 (09:51 +0000)
Hopefully, this is a temporary measure whilst the root cause is
understood. At the moment, we experience a hard hang whilst looping
urbanterror that has been identified as a result of the use of
semaphores, but so far only on SNB mobile.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32752
Tested-by: mengmeng.meng@intel.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_gem_execbuffer.c

index 8db88e34ef7b8d2db75b1cb1d19c3da43d7855a7..dcfdf4151b6dedddec0f45ba21f2c81156e1fe27 100644 (file)
@@ -772,7 +772,8 @@ i915_gem_execbuffer_sync_rings(struct drm_i915_gem_object *obj,
        if (from == NULL || to == from)
                return 0;
 
-       if (INTEL_INFO(obj->base.dev)->gen < 6)
+       /* XXX gpu semaphores are currently causing hard hangs on SNB mobile */
+       if (INTEL_INFO(obj->base.dev)->gen < 6 || IS_MOBILE(obj->base.dev))
                return i915_gem_object_wait_rendering(obj, true);
 
        idx = intel_ring_sync_index(from, to);