Lines Matching defs:obj
38 mark_free(struct drm_i915_gem_object *obj, struct list_head *unwind)
40 list_add(&obj->exec_list, unwind);
41 return drm_mm_scan_add_block(obj->gtt_space);
50 struct drm_i915_gem_object *obj;
88 list_for_each_entry(obj, &dev_priv->mm.inactive_list, mm_list) {
89 if (mark_free(obj, &unwind_list))
94 list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) {
96 if (obj->base.write_domain || obj->pin_count)
99 if (mark_free(obj, &unwind_list))
104 list_for_each_entry(obj, &dev_priv->mm.flushing_list, mm_list) {
105 if (obj->pin_count)
108 if (mark_free(obj, &unwind_list))
111 list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) {
112 if (!obj->base.write_domain || obj->pin_count)
115 if (mark_free(obj, &unwind_list))
121 obj = list_first_entry(&unwind_list,
125 ret = drm_mm_scan_remove_block(obj->gtt_space);
128 list_del_init(&obj->exec_list);
142 obj = list_first_entry(&unwind_list,
145 if (drm_mm_scan_remove_block(obj->gtt_space)) {
146 list_move(&obj->exec_list, &eviction_list);
147 drm_gem_object_reference(&obj->base);
150 list_del_init(&obj->exec_list);
155 obj = list_first_entry(&eviction_list,
159 ret = i915_gem_object_unbind(obj);
161 list_del_init(&obj->exec_list);
162 drm_gem_object_unreference(&obj->base);
199 struct drm_i915_gem_object *obj, *next;
203 list_for_each_entry_safe(obj, next,
205 if (!purgeable_only || obj->madv != I915_MADV_WILLNEED) {
206 int ret = i915_gem_object_unbind(obj);