On ma, 2016-07-25 at 18:32 +0100, Chris Wilson wrote: > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_request.c | 25 ------------------------- > drivers/gpu/drm/i915/i915_gem_request.h | 4 ---- > drivers/gpu/drm/i915/intel_ringbuffer.c | 18 +++++++++++++----- > 3 files changed, 13 insertions(+), 34 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c > index f1c37b7891cb..2c0c6a37f46a 100644 > --- a/drivers/gpu/drm/i915/i915_gem_request.c > +++ b/drivers/gpu/drm/i915/i915_gem_request.c > @@ -716,28 +716,3 @@ complete: > > return ret; > } > - > -/** > - * Waits for a request to be signaled, and cleans up the > - * request and object lists appropriately for that event. > - */ > -int i915_wait_request(struct drm_i915_gem_request *req) > -{ > - int ret; > - > - lockdep_assert_held(&req->i915->drm.struct_mutex); > - GEM_BUG_ON(list_empty(&req->link)); > - > - ret = __i915_wait_request(req, > - req->i915->mm.interruptible, > - NULL, > - NULL); > - if (ret) > - return ret; > - > - /* If the GPU hung, we want to keep the requests to find the guilty. */ > - if (!i915_reset_in_progress(&req->i915->gpu_error)) > - i915_gem_request_retire_upto(req); > - > - return 0; > -} > diff --git a/drivers/gpu/drm/i915/i915_gem_request.h b/drivers/gpu/drm/i915/i915_gem_request.h > index b1ee37896feb..f4aab8e60c9e 100644 > --- a/drivers/gpu/drm/i915/i915_gem_request.h > +++ b/drivers/gpu/drm/i915/i915_gem_request.h > @@ -220,10 +220,6 @@ int __i915_wait_request(struct drm_i915_gem_request *req, > struct intel_rps_client *rps) > __attribute__((nonnull(1))); > > -int __must_check > -i915_wait_request(struct drm_i915_gem_request *req) > - __attribute__((nonnull)); > - > static inline u32 intel_engine_get_seqno(struct intel_engine_cs *engine); > > /** > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c > index af76869c8db2..507576ef8077 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > @@ -2284,6 +2284,7 @@ static int wait_for_space(struct drm_i915_gem_request *req, int bytes) > { > struct intel_ring *ring = req->ring; > struct drm_i915_gem_request *target; > + int ret; > > intel_ring_update_space(ring); > if (ring->space >= bytes) > @@ -2313,7 +2314,18 @@ static int wait_for_space(struct drm_i915_gem_request *req, int bytes) > if (WARN_ON(&target->ring_link == &ring->request_list)) > return -ENOSPC; > > - return i915_wait_request(target); > + ret = __i915_wait_request(target, true, NULL, NULL); > + if (ret) > + return ret; > + > + if (i915_reset_in_progress(&target->i915->gpu_error)) > + return -EAGAIN; > + > + i915_gem_request_retire_upto(target); > + > + intel_ring_update_space(ring); > + GEM_BUG_ON(ring->space < bytes); > + return 0; > } > > int intel_ring_begin(struct drm_i915_gem_request *req, int num_dwords) > @@ -2351,10 +2363,6 @@ int intel_ring_begin(struct drm_i915_gem_request *req, int num_dwords) > int ret = wait_for_space(req, wait_bytes); > if (unlikely(ret)) > return ret; > - > - intel_ring_update_space(ring); > - if (unlikely(ring->space < wait_bytes)) > - return -EAGAIN; > } > > if (unlikely(need_wrap)) { -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx