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

Commit 2e36991a authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Remove unused i915_gem_active_wait() in favour of _unlocked()



Since we only use the more generic unlocked variant, just rename it as
the normal i915_gem_active_wait(). The temporary cost is that we need to
always acquire the reference in a RCU safe manner, but the benefit is
that we will combine the common paths.

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/20161028125858.23563-5-chris@chris-wilson.co.uk
parent e95433c7
Loading
Loading
Loading
Loading
+3 −31
Original line number Diff line number Diff line
@@ -571,38 +571,11 @@ i915_gem_active_is_idle(const struct i915_gem_active *active,
/**
 * i915_gem_active_wait- waits until the request is completed
 * @active - the active request on which to wait
 *
 * i915_gem_active_wait() waits until the request is completed before
 * returning. Note that it does not guarantee that the request is
 * retired first, see i915_gem_active_retire().
 *
 * i915_gem_active_wait() returns immediately if the active
 * request is already complete.
 */
static inline int __must_check
i915_gem_active_wait(const struct i915_gem_active *active, struct mutex *mutex)
{
	struct drm_i915_gem_request *request;
	long ret;

	request = i915_gem_active_peek(active, mutex);
	if (!request)
		return 0;

	ret = i915_wait_request(request,
				I915_WAIT_INTERRUPTIBLE | I915_WAIT_LOCKED,
				MAX_SCHEDULE_TIMEOUT);
	return ret < 0 ? ret : 0;
}

/**
 * i915_gem_active_wait_unlocked - waits until the request is completed
 * @active - the active request on which to wait
 * @flags - how to wait
 * @timeout - how long to wait at most
 * @rps - userspace client to charge for a waitboost
 *
 * i915_gem_active_wait_unlocked() waits until the request is completed before
 * i915_gem_active_wait() waits until the request is completed before
 * returning, without requiring any locks to be held. Note that it does not
 * retire any requests before returning.
 *
@@ -618,8 +591,7 @@ i915_gem_active_wait(const struct i915_gem_active *active, struct mutex *mutex)
 * Returns 0 if successful, or a negative error code.
 */
static inline int
i915_gem_active_wait_unlocked(const struct i915_gem_active *active,
			      unsigned int flags)
i915_gem_active_wait(const struct i915_gem_active *active, unsigned int flags)
{
	struct drm_i915_gem_request *request;
	long ret = 0;
+1 −1
Original line number Diff line number Diff line
@@ -524,7 +524,7 @@ static inline int intel_engine_idle(struct intel_engine_cs *engine,
				    unsigned int flags)
{
	/* Wait upon the last request to be completed */
	return i915_gem_active_wait_unlocked(&engine->last_request, flags);
	return i915_gem_active_wait(&engine->last_request, flags);
}

int intel_init_render_ring_buffer(struct intel_engine_cs *engine);