From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 02/10] drm/i915: move vbetool invoked ier stuff Date: Sat, 21 Apr 2012 10:26:53 +0100 Message-ID: <1335000438_11206@CP5-2952> References: <1334971412-4826-1-git-send-email-ben@bwidawsk.net> <1334971412-4826-3-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from fireflyinternet.com (smtp.fireflyinternet.com [109.228.6.236]) by gabe.freedesktop.org (Postfix) with ESMTP id 3AFF79E8C1 for ; Sat, 21 Apr 2012 02:27:30 -0700 (PDT) In-Reply-To: <1334971412-4826-3-git-send-email-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Ben Widawsky , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org On Fri, 20 Apr 2012 18:23:24 -0700, Ben Widawsky wrote: > This extra bit of interrupt enabling code doesn't belong in the wait > seqno function. If anything we should pull it out to a helper so the > throttle code can also use it. The history is a bit vague, but I am > going to attempt to just dump it, unless someone can argue otherwise. > > Removing this allows for a shared lock free wait seqno function. To keep > tabs on this issue though, the IER value is stored on error capture > (recommended by Chris Wilson) > > Signed-off-by: Ben Widawsky > --- > drivers/gpu/drm/i915/i915_debugfs.c | 1 + > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/i915_gem.c | 14 -------------- > drivers/gpu/drm/i915/i915_irq.c | 7 ++++++- > 4 files changed, 8 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index 35462df..5c4af9a 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -791,6 +791,7 @@ static int i915_error_state(struct seq_file *m, void *unused) > error->time.tv_usec); > seq_printf(m, "PCI ID: 0x%04x\n", dev->pci_device); > seq_printf(m, "EIR: 0x%08x\n", error->eir); > + seq_printf(m, "EIR: 0x%08x\n", error->ier); > seq_printf(m, "PGTBL_ER: 0x%08x\n", error->pgtbl_er); Thinking about this a bit more, the error state also needs to know if we had anybody waiting on a ring->irq_queue. error->waiting = 0; for_each_ring(ring) if (waitqueue_active(&ring->irq_queue) error->waiting |= 1 << ring->id; -Chris -- Chris Wilson, Intel Open Source Technology Centre