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

Commit de895082 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin()



Since i915_gem_obj_ggtt_pin() is an idiom breaking curry function for
i915_gem_object_ggtt_pin(), spare us the confusion and remove it.
Removing it now simplifies later patches to change the i915_vma_pin()
(and friends) interface.

v2: Add a redundant GEM_BUG_ON(!view) to
i915_gem_obj_lookup_or_create_ggtt_vma()

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470324762-2545-18-git-send-email-chris@chris-wilson.co.uk
parent 305bc234
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -3289,15 +3289,6 @@ static inline bool i915_gem_obj_ggtt_bound(struct drm_i915_gem_object *obj)
unsigned long
i915_gem_obj_ggtt_size(struct drm_i915_gem_object *obj);

static inline int __must_check
i915_gem_obj_ggtt_pin(struct drm_i915_gem_object *obj,
		      uint32_t alignment,
		      unsigned flags)
{
	return i915_gem_object_ggtt_pin(obj, &i915_ggtt_view_normal,
					0, alignment, flags);
}

void i915_gem_object_ggtt_unpin_view(struct drm_i915_gem_object *obj,
				     const struct i915_ggtt_view *view);
static inline void
+7 −10
Original line number Diff line number Diff line
@@ -652,7 +652,7 @@ i915_gem_gtt_pread(struct drm_device *dev,
	uint64_t offset;
	int ret;

	ret = i915_gem_obj_ggtt_pin(obj, 0, PIN_MAPPABLE);
	ret = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, PIN_MAPPABLE);
	if (ret) {
		ret = insert_mappable_node(dev_priv, &node, PAGE_SIZE);
		if (ret)
@@ -949,7 +949,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_private *i915,
	if (obj->tiling_mode != I915_TILING_NONE)
		return -EFAULT;

	ret = i915_gem_obj_ggtt_pin(obj, 0, PIN_MAPPABLE | PIN_NONBLOCK);
	ret = i915_gem_object_ggtt_pin(obj, NULL, 0, 0,
				       PIN_MAPPABLE | PIN_NONBLOCK);
	if (ret) {
		ret = insert_mappable_node(i915, &node, PAGE_SIZE);
		if (ret)
@@ -3719,7 +3720,7 @@ int __i915_vma_do_pin(struct i915_vma *vma,
		goto err;
	}

	if ((bound & (I915_VMA_GLOBAL_BIND | I915_VMA_LOCAL_BIND)) == 0) {
	if ((bound & I915_VMA_BIND_MASK) == 0) {
		ret = i915_vma_insert(vma, size, alignment, flags);
		if (ret)
			goto err;
@@ -3750,7 +3751,8 @@ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj,
	struct i915_vma *vma;
	int ret;

	BUG_ON(!view);
	if (!view)
		view = &i915_ggtt_view_normal;

	vma = i915_gem_obj_lookup_or_create_ggtt_vma(obj, view);
	if (IS_ERR(vma))
@@ -3782,12 +3784,7 @@ void
i915_gem_object_ggtt_unpin_view(struct drm_i915_gem_object *obj,
				const struct i915_ggtt_view *view)
{
	struct i915_vma *vma = i915_gem_obj_to_ggtt_view(obj, view);

	WARN_ON(!i915_vma_is_pinned(vma));
	WARN_ON(!i915_gem_obj_ggtt_bound_view(obj, view));

	__i915_vma_unpin(vma);
	i915_vma_unpin(i915_gem_obj_to_ggtt_view(obj, view));
}

int
+2 −3
Original line number Diff line number Diff line
@@ -763,9 +763,8 @@ static int do_rcs_switch(struct drm_i915_gem_request *req)
		return 0;

	/* Trying to pin first makes error handling easier. */
	ret = i915_gem_obj_ggtt_pin(to->engine[RCS].state,
				    to->ggtt_alignment,
				    0);
	ret = i915_gem_object_ggtt_pin(to->engine[RCS].state, NULL, 0,
				       to->ggtt_alignment, 0);
	if (ret)
		return ret;

+2 −2
Original line number Diff line number Diff line
@@ -1270,7 +1270,7 @@ i915_gem_execbuffer_parse(struct intel_engine_cs *engine,
	if (ret)
		goto err;

	ret = i915_gem_obj_ggtt_pin(shadow_batch_obj, 0, 0);
	ret = i915_gem_object_ggtt_pin(shadow_batch_obj, NULL, 0, 0, 0);
	if (ret)
		goto err;

@@ -1650,7 +1650,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
		 *   fitting due to fragmentation.
		 * So this is actually safe.
		 */
		ret = i915_gem_obj_ggtt_pin(obj, 0, 0);
		ret = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, 0);
		if (ret)
			goto err;

+2 −0
Original line number Diff line number Diff line
@@ -3430,6 +3430,8 @@ i915_gem_obj_lookup_or_create_ggtt_vma(struct drm_i915_gem_object *obj,
	struct i915_ggtt *ggtt = &dev_priv->ggtt;
	struct i915_vma *vma = i915_gem_obj_to_ggtt_view(obj, view);

	GEM_BUG_ON(!view);

	if (!vma)
		vma = __i915_gem_vma_create(obj, &ggtt->base, view);

Loading