Lines Matching refs:obj
39 mark_free(struct drm_i915_gem_object *obj, struct list_head *unwind)
41 if (obj->pin_count)
44 list_add(&obj->exec_list, unwind, (caddr_t)obj);
45 return drm_mm_scan_add_block(obj->gtt_space);
55 struct drm_i915_gem_object *obj;
92 list_for_each_entry(obj, struct drm_i915_gem_object, &dev_priv->mm.inactive_list, mm_list) {
93 if (mark_free(obj, &unwind_list))
101 list_for_each_entry(obj, struct drm_i915_gem_object, &dev_priv->mm.active_list, mm_list) {
102 if (mark_free(obj, &unwind_list))
109 obj = list_first_entry(&unwind_list,
113 ret = drm_mm_scan_remove_block(obj->gtt_space);
116 list_del_init(&obj->exec_list);
130 obj = list_first_entry(&unwind_list,
133 if (drm_mm_scan_remove_block(obj->gtt_space)) {
134 list_move(&obj->exec_list, &eviction_list, (caddr_t)obj);
135 drm_gem_object_reference(&obj->base);
138 list_del_init(&obj->exec_list);
143 obj = list_first_entry(&eviction_list,
147 ret = i915_gem_object_unbind(obj, 1);
148 list_del_init(&obj->exec_list);
149 drm_gem_object_unreference(&obj->base);
159 struct drm_i915_gem_object *obj, *next;
179 list_for_each_entry_safe(obj, next, struct drm_i915_gem_object,
182 if (obj->pin_count == 0)
183 WARN_ON(i915_gem_object_unbind(obj, true));