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

Commit 23d1dd03 authored by Cihangir Akturk's avatar Cihangir Akturk Committed by Lucas Stach
Browse files

drm/etnaviv: switch to drm_*{get,put} helpers



drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() adn should not be
used by new code. So convert all users of compatibility functions to use
the new APIs.

Signed-off-by: default avatarCihangir Akturk <cakturk@gmail.com>
Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
parent 63f56775
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ static int etnaviv_ioctl_gem_cpu_prep(struct drm_device *dev, void *data,

	ret = etnaviv_gem_cpu_prep(obj, args->op, &TS(args->timeout));

	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);

	return ret;
}
@@ -337,7 +337,7 @@ static int etnaviv_ioctl_gem_cpu_fini(struct drm_device *dev, void *data,

	ret = etnaviv_gem_cpu_fini(obj);

	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);

	return ret;
}
@@ -357,7 +357,7 @@ static int etnaviv_ioctl_gem_info(struct drm_device *dev, void *data,
		return -ENOENT;

	ret = etnaviv_gem_mmap_offset(obj, &args->offset);
	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);

	return ret;
}
@@ -446,7 +446,7 @@ static int etnaviv_ioctl_gem_wait(struct drm_device *dev, void *data,

	ret = etnaviv_gem_wait_bo(gpu, obj, timeout);

	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);

	return ret;
}
+10 −10
Original line number Diff line number Diff line
@@ -265,7 +265,7 @@ void etnaviv_gem_mapping_reference(struct etnaviv_vram_mapping *mapping)
{
	struct etnaviv_gem_object *etnaviv_obj = mapping->object;

	drm_gem_object_reference(&etnaviv_obj->base);
	drm_gem_object_get(&etnaviv_obj->base);

	mutex_lock(&etnaviv_obj->lock);
	WARN_ON(mapping->use == 0);
@@ -282,7 +282,7 @@ void etnaviv_gem_mapping_unreference(struct etnaviv_vram_mapping *mapping)
	mapping->use -= 1;
	mutex_unlock(&etnaviv_obj->lock);

	drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
	drm_gem_object_put_unlocked(&etnaviv_obj->base);
}

struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
@@ -358,7 +358,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
		return ERR_PTR(ret);

	/* Take a reference on the object */
	drm_gem_object_reference(obj);
	drm_gem_object_get(obj);
	return mapping;
}

@@ -672,7 +672,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
	return obj;

fail:
	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);
	return ERR_PTR(ret);
}

@@ -689,14 +689,14 @@ int etnaviv_gem_new_handle(struct drm_device *dev, struct drm_file *file,

	ret = etnaviv_gem_obj_add(dev, obj);
	if (ret < 0) {
		drm_gem_object_unreference_unlocked(obj);
		drm_gem_object_put_unlocked(obj);
		return ret;
	}

	ret = drm_gem_handle_create(file, obj, handle);

	/* drop reference from allocate - handle holds it now */
	drm_gem_object_unreference_unlocked(obj);
	drm_gem_object_put_unlocked(obj);

	return ret;
}
@@ -713,7 +713,7 @@ struct drm_gem_object *etnaviv_gem_new(struct drm_device *dev,

	ret = etnaviv_gem_obj_add(dev, obj);
	if (ret < 0) {
		drm_gem_object_unreference_unlocked(obj);
		drm_gem_object_put_unlocked(obj);
		return ERR_PTR(ret);
	}

@@ -801,7 +801,7 @@ static void __etnaviv_gem_userptr_get_pages(struct work_struct *_work)
	}

	mutex_unlock(&etnaviv_obj->lock);
	drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
	drm_gem_object_put_unlocked(&etnaviv_obj->base);

	mmput(work->mm);
	put_task_struct(work->task);
@@ -859,7 +859,7 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
	}

	get_task_struct(current);
	drm_gem_object_reference(&etnaviv_obj->base);
	drm_gem_object_get(&etnaviv_obj->base);

	work->mm = mm;
	work->task = current;
@@ -925,6 +925,6 @@ int etnaviv_gem_new_userptr(struct drm_device *dev, struct drm_file *file,
	ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle);
unreference:
	/* drop reference from allocate - handle holds it now */
	drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
	drm_gem_object_put_unlocked(&etnaviv_obj->base);
	return ret;
}
+1 −1
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ struct drm_gem_object *etnaviv_gem_prime_import_sg_table(struct drm_device *dev,
	return &etnaviv_obj->base;

fail:
	drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
	drm_gem_object_put_unlocked(&etnaviv_obj->base);

	return ERR_PTR(ret);
}
+2 −2
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ static int submit_lookup_objects(struct etnaviv_gem_submit *submit,
		 * Take a refcount on the object. The file table lock
		 * prevents the object_idr's refcount on this being dropped.
		 */
		drm_gem_object_reference(obj);
		drm_gem_object_get(obj);

		submit->bos[i].obj = to_etnaviv_bo(obj);
	}
@@ -291,7 +291,7 @@ static void submit_cleanup(struct etnaviv_gem_submit *submit)
		struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj;

		submit_unlock_object(submit, i);
		drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
		drm_gem_object_put_unlocked(&etnaviv_obj->base);
	}

	ww_acquire_fini(&submit->ticket);