Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25dc556a authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Wrap drm_gem_object_reference in i915_gem_object_get

parent 03ac0642
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -2306,6 +2306,17 @@ __deprecated
extern struct drm_gem_object *
drm_gem_object_lookup(struct drm_file *file, u32 handle);

__attribute__((nonnull))
static inline struct drm_i915_gem_object *
i915_gem_object_get(struct drm_i915_gem_object *obj)
{
	drm_gem_object_reference(&obj->base);
	return obj;
}

__deprecated
extern void drm_gem_object_reference(struct drm_gem_object *);

static inline bool
i915_gem_object_has_struct_page(const struct drm_i915_gem_object *obj)
{
+2 −2
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@ drop_pages(struct drm_i915_gem_object *obj)
	struct i915_vma *vma, *next;
	int ret;

	drm_gem_object_reference(&obj->base);
	i915_gem_object_get(obj);
	list_for_each_entry_safe(vma, next, &obj->vma_list, obj_link)
		if (i915_vma_unbind(vma))
			break;
@@ -2361,7 +2361,7 @@ void i915_vma_move_to_active(struct i915_vma *vma,

	/* Add a reference if we're newly entering the active list. */
	if (obj->active == 0)
		drm_gem_object_reference(&obj->base);
		i915_gem_object_get(obj);
	obj->active |= intel_engine_flag(engine);

	list_move_tail(&obj->engine_list[engine->id], &engine->active_list);
+1 −2
Original line number Diff line number Diff line
@@ -278,8 +278,7 @@ struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev,
			 * Importing dmabuf exported from out own gem increases
			 * refcount on gem itself instead of f_count of dmabuf.
			 */
			drm_gem_object_reference(&obj->base);
			return &obj->base;
			return &i915_gem_object_get(obj)->base;
		}
	}

+1 −1
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ i915_gem_evict_something(struct drm_device *dev, struct i915_address_space *vm,
				       exec_list);
		if (drm_mm_scan_remove_block(&vma->node)) {
			list_move(&vma->exec_list, &eviction_list);
			drm_gem_object_reference(&vma->obj->base);
			i915_gem_object_get(vma->obj);
			continue;
		}
		list_del_init(&vma->exec_list);
+2 −2
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ eb_lookup_vmas(struct eb_vmas *eb,
			goto err;
		}

		drm_gem_object_reference(&obj->base);
		i915_gem_object_get(obj);
		list_add_tail(&obj->obj_exec_link, &objects);
	}
	spin_unlock(&file->table_lock);
@@ -1236,7 +1236,7 @@ i915_gem_execbuffer_parse(struct intel_engine_cs *engine,
	vma = i915_gem_obj_to_ggtt(shadow_batch_obj);
	vma->exec_entry = shadow_exec_entry;
	vma->exec_entry->flags = __EXEC_OBJECT_HAS_PIN;
	drm_gem_object_reference(&shadow_batch_obj->base);
	i915_gem_object_get(shadow_batch_obj);
	list_add_tail(&vma->exec_list, &eb->vmas);

	shadow_batch_obj->base.pending_read_domains = I915_GEM_DOMAIN_COMMAND;
Loading