Lines Matching defs:obj
38 mark_free(struct drm_i915_gem_object *obj, struct list_head *unwind)
40 if (obj->pin_count)
43 list_add(&obj->exec_list, unwind);
44 return drm_mm_scan_add_block(obj->gtt_space);
53 struct drm_i915_gem_object *obj;
91 list_for_each_entry(obj, &dev_priv->mm.inactive_list, mm_list) {
92 if (mark_free(obj, &unwind_list))
97 list_for_each_entry(obj, &dev_priv->mm.active_list, mm_list) {
99 if (obj->base.write_domain)
102 if (mark_free(obj, &unwind_list))
107 list_for_each_entry(obj, &dev_priv->mm.flushing_list, mm_list) {
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)
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);
172 struct drm_i915_gem_object *obj, *next;
198 list_for_each_entry_safe(obj, next,
200 if (!purgeable_only || obj->madv != I915_MADV_WILLNEED) {
201 if (obj->pin_count == 0)
202 i915_gem_object_unbind(obj);