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

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
...@@ -569,40 +569,13 @@ i915_gem_active_is_idle(const struct i915_gem_active *active, ...@@ -569,40 +569,13 @@ i915_gem_active_is_idle(const struct i915_gem_active *active,
} }
/** /**
* i915_gem_active_wait - waits until the request is completed * 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 * @active - the active request on which to wait
* @flags - how to wait * @flags - how to wait
* @timeout - how long to wait at most * @timeout - how long to wait at most
* @rps - userspace client to charge for a waitboost * @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 * returning, without requiring any locks to be held. Note that it does not
* retire any requests before returning. * retire any requests before returning.
* *
...@@ -618,8 +591,7 @@ i915_gem_active_wait(const struct i915_gem_active *active, struct mutex *mutex) ...@@ -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. * Returns 0 if successful, or a negative error code.
*/ */
static inline int static inline int
i915_gem_active_wait_unlocked(const struct i915_gem_active *active, i915_gem_active_wait(const struct i915_gem_active *active, unsigned int flags)
unsigned int flags)
{ {
struct drm_i915_gem_request *request; struct drm_i915_gem_request *request;
long ret = 0; long ret = 0;
......
...@@ -524,7 +524,7 @@ static inline int intel_engine_idle(struct intel_engine_cs *engine, ...@@ -524,7 +524,7 @@ static inline int intel_engine_idle(struct intel_engine_cs *engine,
unsigned int flags) unsigned int flags)
{ {
/* Wait upon the last request to be completed */ /* 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); int intel_init_render_ring_buffer(struct intel_engine_cs *engine);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment