···20782078 int ret;20792079 bool lists_empty;2080208020812081- DRM_INFO("GTT full, evicting everything: "20822082- "%d objects [%d pinned], "20832083- "%d object bytes [%d pinned], "20842084- "%d/%d gtt bytes\n",20852085- atomic_read(&dev->object_count),20862086- atomic_read(&dev->pin_count),20872087- atomic_read(&dev->object_memory),20882088- atomic_read(&dev->pin_memory),20892089- atomic_read(&dev->gtt_memory),20902090- dev->gtt_total);20912091-20922081 spin_lock(&dev_priv->mm.active_list_lock);20932082 lists_empty = (list_empty(&dev_priv->mm.inactive_list) &&20942083 list_empty(&dev_priv->mm.flushing_list) &&20952084 list_empty(&dev_priv->mm.active_list));20962085 spin_unlock(&dev_priv->mm.active_list_lock);2097208620982098- if (lists_empty) {20992099- DRM_ERROR("GTT full, but lists empty!\n");20872087+ if (lists_empty)21002088 return -ENOSPC;21012101- }2102208921032090 /* Flush everything (on to the inactive lists) and evict */21042091 i915_gem_flush(dev, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS);···21962209 * large enough to swap out for the new one, so just evict21972210 * everything and start again. (This should be rare.)21982211 */21992199- if (!list_empty (&dev_priv->mm.inactive_list)) {22002200- DRM_INFO("GTT full, evicting inactive buffers\n");22122212+ if (!list_empty (&dev_priv->mm.inactive_list))22012213 return i915_gem_evict_from_inactive_list(dev);22022202- } else22142214+ else22032215 return i915_gem_evict_everything(dev);22042216 }22052217}···22232237 BUG_ON(obj_priv->pages != NULL);22242238 obj_priv->pages = drm_calloc_large(page_count, sizeof(struct page *));22252239 if (obj_priv->pages == NULL) {22262226- DRM_ERROR("Failed to allocate page list\n");22272240 obj_priv->pages_refcount--;22282241 return -ENOMEM;22292242 }···25902605 DRM_INFO("%s: GTT full, evicting something\n", __func__);25912606#endif25922607 ret = i915_gem_evict_something(dev, obj->size);25932593- if (ret != 0) {25942594- if (ret != -ERESTARTSYS)25952595- DRM_ERROR("Failed to evict a buffer %d\n", ret);26082608+ if (ret)25962609 return ret;25972597- }26102610+25982611 goto search_free;25992612 }26002613···26172634 /* first try to clear up some space from the GTT */26182635 ret = i915_gem_evict_something(dev, obj->size);26192636 if (ret) {26202620- if (ret != -ERESTARTSYS)26212621- DRM_ERROR("Failed to allocate space for backing pages %d\n", ret);26222622-26232637 /* now try to shrink everyone else */26242638 if (! retry_alloc) {26252639 retry_alloc = true;···26462666 obj_priv->gtt_space = NULL;2647266726482668 ret = i915_gem_evict_something(dev, obj->size);26492649- if (ret) {26502650- if (ret != -ERESTARTSYS)26512651- DRM_ERROR("Failed to allocate space to bind AGP: %d\n", ret);26692669+ if (ret)26522670 return ret;26532653- }2654267126552672 goto search_free;26562673 }···38473870 i915_verify_inactive(dev, __FILE__, __LINE__);38483871 if (obj_priv->gtt_space == NULL) {38493872 ret = i915_gem_object_bind_to_gtt(obj, alignment);38503850- if (ret != 0) {38513851- if (ret != -EBUSY && ret != -ERESTARTSYS)38523852- DRM_ERROR("Failure to bind: %d\n", ret);38733873+ if (ret)38533874 return ret;38543854- }38553875 }38563876 /*38573877 * Pre-965 chips need a fence register set up in order to