From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 20/21] drm/i915: Convert 'ring_idle()' to use requests not seqnos Date: Sun, 19 Oct 2014 16:09:13 +0200 Message-ID: <20141019140913.GD26941@phenom.ffwll.local> References: <1412604925-11290-12-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-13-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-14-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-15-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-16-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-17-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-18-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-19-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-20-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-21-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wi0-f170.google.com (mail-wi0-f170.google.com [209.85.212.170]) by gabe.freedesktop.org (Postfix) with ESMTP id ACD5C89FD4 for ; Sun, 19 Oct 2014 07:09:05 -0700 (PDT) Received: by mail-wi0-f170.google.com with SMTP id hi2so6638933wib.3 for ; Sun, 19 Oct 2014 07:09:04 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1412604925-11290-21-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org On Mon, Oct 06, 2014 at 03:15:24PM +0100, John.C.Harrison@Intel.com wrote: > From: John Harrison > > For: VIZ-4377 > Signed-off-by: John.C.Harrison@Intel.com We have places that shovel stuff onto the ring without an explicit add_request. Or at least we've had, so this needs a full audit, and that audit needs to be in the commit message. -Daniel > --- > drivers/gpu/drm/i915/i915_irq.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 4847ed5..c2a7127 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -3030,18 +3030,18 @@ static void gen8_disable_vblank(struct drm_device *dev, int pipe) > spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); > } > > -static u32 > -ring_last_seqno(struct intel_engine_cs *ring) > +static struct drm_i915_gem_request * > +ring_last_request(struct intel_engine_cs *ring) > { > return list_entry(ring->request_list.prev, > - struct drm_i915_gem_request, list)->seqno; > + struct drm_i915_gem_request, list); > } > > static bool > -ring_idle(struct intel_engine_cs *ring, u32 seqno) > +ring_idle(struct intel_engine_cs *ring) > { > return (list_empty(&ring->request_list) || > - i915_seqno_passed(seqno, ring_last_seqno(ring))); > + i915_gem_request_completed(ring_last_request(ring), false)); > } > > static bool > @@ -3261,7 +3261,7 @@ static void i915_hangcheck_elapsed(unsigned long data) > acthd = intel_ring_get_active_head(ring); > > if (ring->hangcheck.seqno == seqno) { > - if (ring_idle(ring, seqno)) { > + if (ring_idle(ring)) { > ring->hangcheck.action = HANGCHECK_IDLE; > > if (waitqueue_active(&ring->irq_queue)) { > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch