diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-09-21 00:22:34 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-09-23 01:10:38 +0100 |
commit | 9731129c5e3077d0c2da13479f91c3a07e341f70 (patch) | |
tree | 0864d8f90f55a65051ad1971698e8d4ea1b214dc /drivers/gpu/drm/i915/i915_gem.c | |
parent | 2d7ef395b310e17c86fa6190f21ea1f2eccae5d1 (diff) | |
download | linux-9731129c5e3077d0c2da13479f91c3a07e341f70.tar.gz linux-9731129c5e3077d0c2da13479f91c3a07e341f70.tar.bz2 linux-9731129c5e3077d0c2da13479f91c3a07e341f70.zip |
drm/i915: Remove eviction debug spam
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 40 |
1 files changed, 7 insertions, 33 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 62ba9c121a14..8beec97fa348 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -2078,27 +2078,14 @@ i915_gem_evict_everything(struct drm_device *dev) int ret; bool lists_empty; - DRM_INFO("GTT full, evicting everything: " - "%d objects [%d pinned], " - "%d object bytes [%d pinned], " - "%d/%d gtt bytes\n", - atomic_read(&dev->object_count), - atomic_read(&dev->pin_count), - atomic_read(&dev->object_memory), - atomic_read(&dev->pin_memory), - atomic_read(&dev->gtt_memory), - dev->gtt_total); - spin_lock(&dev_priv->mm.active_list_lock); lists_empty = (list_empty(&dev_priv->mm.inactive_list) && list_empty(&dev_priv->mm.flushing_list) && list_empty(&dev_priv->mm.active_list)); spin_unlock(&dev_priv->mm.active_list_lock); - if (lists_empty) { - DRM_ERROR("GTT full, but lists empty!\n"); + if (lists_empty) return -ENOSPC; - } /* Flush everything (on to the inactive lists) and evict */ i915_gem_flush(dev, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS); @@ -2209,10 +2196,9 @@ i915_gem_evict_something(struct drm_device *dev, int min_size) * large enough to swap out for the new one, so just evict * everything and start again. (This should be rare.) */ - if (!list_empty (&dev_priv->mm.inactive_list)) { - DRM_INFO("GTT full, evicting inactive buffers\n"); + if (!list_empty (&dev_priv->mm.inactive_list)) return i915_gem_evict_from_inactive_list(dev); - } else + else return i915_gem_evict_everything(dev); } } @@ -2237,7 +2223,6 @@ i915_gem_object_get_pages(struct drm_gem_object *obj) BUG_ON(obj_priv->pages != NULL); obj_priv->pages = drm_calloc_large(page_count, sizeof(struct page *)); if (obj_priv->pages == NULL) { - DRM_ERROR("Failed to allocate page list\n"); obj_priv->pages_refcount--; return -ENOMEM; } @@ -2605,11 +2590,9 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment) DRM_INFO("%s: GTT full, evicting something\n", __func__); #endif ret = i915_gem_evict_something(dev, obj->size); - if (ret != 0) { - if (ret != -ERESTARTSYS) - DRM_ERROR("Failed to evict a buffer %d\n", ret); + if (ret) return ret; - } + goto search_free; } @@ -2634,9 +2617,6 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment) /* first try to clear up some space from the GTT */ ret = i915_gem_evict_something(dev, obj->size); if (ret) { - if (ret != -ERESTARTSYS) - DRM_ERROR("Failed to allocate space for backing pages %d\n", ret); - /* now try to shrink everyone else */ if (! retry_alloc) { retry_alloc = true; @@ -2666,11 +2646,8 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment) obj_priv->gtt_space = NULL; ret = i915_gem_evict_something(dev, obj->size); - if (ret) { - if (ret != -ERESTARTSYS) - DRM_ERROR("Failed to allocate space to bind AGP: %d\n", ret); + if (ret) return ret; - } goto search_free; } @@ -3870,11 +3847,8 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment) i915_verify_inactive(dev, __FILE__, __LINE__); if (obj_priv->gtt_space == NULL) { ret = i915_gem_object_bind_to_gtt(obj, alignment); - if (ret != 0) { - if (ret != -EBUSY && ret != -ERESTARTSYS) - DRM_ERROR("Failure to bind: %d\n", ret); + if (ret) return ret; - } } /* * Pre-965 chips need a fence register set up in order to |