From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 6/6] drm/i915: collect more per ring error state Date: Tue, 11 Oct 2011 17:01:24 +0100 Message-ID: References: <1318343954-14607-1-git-send-email-daniel.vetter@ffwll.ch> <1318343954-14607-6-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id F3AE19E78B for ; Tue, 11 Oct 2011 09:01:28 -0700 (PDT) In-Reply-To: <1318343954-14607-6-git-send-email-daniel.vetter@ffwll.ch> 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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org On Tue, 11 Oct 2011 16:39:14 +0200, Daniel Vetter wrote: > Based on a patch by Ben Widawsky, but with different colors > for the bikeshed. > > In contrast to Ben's patch this one doesn't add the fault regs. > Afaics they're for the optional page fault support which > - we're not enabling > - and which seems to be unsupported by the hw team. Recent bspec > lacks tons of information about this that the public docs released > half a year back still contain. > > Also dump ring HEAD/TAIL registers - I've recently seen a few > error_state where just guessing these is not good enough. > > Signed-off-by: Daniel Vetter > > dump head/tail into error_state > --- > drivers/gpu/drm/i915/i915_debugfs.c | 5 ++++- > drivers/gpu/drm/i915/i915_drv.h | 5 ++++- > drivers/gpu/drm/i915/i915_irq.c | 7 ++++++- > drivers/gpu/drm/i915/i915_reg.h | 2 ++ > 4 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index ea7237d..5d73ae5 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -733,17 +733,20 @@ static void i915_ring_error_state(struct seq_file *m, > unsigned ring) > { > seq_printf(m, "%s command stream:\n", ring_str(ring)); > + seq_printf(m, " HEAD: 0x%08x\n", error->head[ring]); > + seq_printf(m, " TAIL: 0x%08x\n", error->tail[ring]); > seq_printf(m, " ACTHD: 0x%08x\n", error->acthd[ring]); > seq_printf(m, " IPEIR: 0x%08x\n", error->ipeir[ring]); > seq_printf(m, " IPEHR: 0x%08x\n", error->ipehr[ring]); > seq_printf(m, " INSTDONE: 0x%08x\n", error->instdone[ring]); > + seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]); > if (ring == RCS) { > if (INTEL_INFO(dev)->gen >= 4) { > seq_printf(m, " INSTDONE1: 0x%08x\n", error->instdone1); > - seq_printf(m, " INSTPS: 0x%08x\n", error->instps); > } > seq_printf(m, " INSTPM: 0x%08x\n", error->instpm); Hmm, isn't INSTPM also per-ring? Can you also add the DMA fetch addresses whilst you are here? I've never found an instance where they were more informative than the ACTHD, but that was only for a very small sampling of local errors. -Chris -- Chris Wilson, Intel Open Source Technology Centre