aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-12-19 17:47:48 -0500
committerDave Airlie <airlied@linux.ie>2008-12-29 02:47:27 -0500
commitf1acec933848219c402c165686677b1c307407f8 (patch)
tree960df89074b8788421fa2bf0f9ab8e4410182e0d
parent3c4fdcfb2941dc36b6a16bc509a2adb97c131716 (diff)
drm/i915: Don't print to dmesg when taking signal during object_pin.
This showed up in logs where people had a hung chip, so pinning was blocked on the chip unpinning other buffers, and the X Server took its scheduler signal during that time. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@linux.ie>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6a288a758385..630eec21b373 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2491,7 +2491,8 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
2491 2491
2492 /* error other than GTT full, or we've already tried again */ 2492 /* error other than GTT full, or we've already tried again */
2493 if (ret != -ENOMEM || pin_tries >= 1) { 2493 if (ret != -ENOMEM || pin_tries >= 1) {
2494 DRM_ERROR("Failed to pin buffers %d\n", ret); 2494 if (ret != -ERESTARTSYS)
2495 DRM_ERROR("Failed to pin buffers %d\n", ret);
2495 goto err; 2496 goto err;
2496 } 2497 }
2497 2498
@@ -2641,7 +2642,8 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment)
2641 if (obj_priv->gtt_space == NULL) { 2642 if (obj_priv->gtt_space == NULL) {
2642 ret = i915_gem_object_bind_to_gtt(obj, alignment); 2643 ret = i915_gem_object_bind_to_gtt(obj, alignment);
2643 if (ret != 0) { 2644 if (ret != 0) {
2644 DRM_ERROR("Failure to bind: %d", ret); 2645 if (ret != -ERESTARTSYS)
2646 DRM_ERROR("Failure to bind: %d", ret);
2645 return ret; 2647 return ret;
2646 } 2648 }
2647 } 2649 }