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

Commit adeca76d authored by John Harrison's avatar John Harrison Committed by Daniel Vetter
Browse files

drm/i915: Simplify i915_gem_execbuffer_retire_commands() parameters



Shrunk the parameter list of i915_gem_execbuffer_retire_commands() to a single
structure as everything it requires is available in the execbuff_params object.

For: VIZ-5115
Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarTomas Elf <tomas.elf@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 5f19e2bf
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -2692,10 +2692,7 @@ int i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data,
			     struct drm_file *file_priv);
void i915_gem_execbuffer_move_to_active(struct list_head *vmas,
					struct intel_engine_cs *ring);
void i915_gem_execbuffer_retire_commands(struct drm_device *dev,
					 struct drm_file *file,
					 struct intel_engine_cs *ring,
					 struct drm_i915_gem_object *obj);
void i915_gem_execbuffer_retire_commands(struct i915_execbuffer_params *params);
int i915_gem_ringbuffer_submission(struct i915_execbuffer_params *params,
				   struct drm_i915_gem_execbuffer2 *args,
				   struct list_head *vmas);
+4 −8
Original line number Diff line number Diff line
@@ -1060,16 +1060,13 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas,
}

void
i915_gem_execbuffer_retire_commands(struct drm_device *dev,
				    struct drm_file *file,
				    struct intel_engine_cs *ring,
				    struct drm_i915_gem_object *obj)
i915_gem_execbuffer_retire_commands(struct i915_execbuffer_params *params)
{
	/* Unconditionally force add_request to emit a full flush. */
	ring->gpu_caches_dirty = true;
	params->ring->gpu_caches_dirty = true;

	/* Add a breadcrumb for the completion of the batch buffer */
	__i915_add_request(ring, file, obj);
	__i915_add_request(params->ring, params->file, params->batch_obj);
}

static int
@@ -1346,8 +1343,7 @@ i915_gem_ringbuffer_submission(struct i915_execbuffer_params *params,
	trace_i915_gem_ring_dispatch(intel_ring_get_request(ring), params->dispatch_flags);

	i915_gem_execbuffer_move_to_active(vmas, ring);
	i915_gem_execbuffer_retire_commands(params->dev, params->file, ring,
					    params->batch_obj);
	i915_gem_execbuffer_retire_commands(params);

error:
	kfree(cliprects);
+1 −1
Original line number Diff line number Diff line
@@ -946,7 +946,7 @@ int intel_execlists_submission(struct i915_execbuffer_params *params,
	trace_i915_gem_ring_dispatch(intel_ring_get_request(ring), params->dispatch_flags);

	i915_gem_execbuffer_move_to_active(vmas, ring);
	i915_gem_execbuffer_retire_commands(params->dev, params->file, ring, params->batch_obj);
	i915_gem_execbuffer_retire_commands(params);

	return 0;
}