Signed-off-by: Ben Widawsky <b...@bwidawsk.net> --- drivers/gpu/drm/i915/i915_debugfs.c | 3 +++ drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_irq.c | 3 +++ drivers/gpu/drm/i915/i915_reg.h | 3 +++ 4 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 3c395a5..3cdf638 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -750,6 +750,9 @@ static int i915_error_state(struct seq_file *m, void *unused) seq_printf(m, "EIR: 0x%08x\n", error->eir); seq_printf(m, "PGTBL_ER: 0x%08x\n", error->pgtbl_er); if (INTEL_INFO(dev)->gen >= 6) { + seq_printf(m, "GFX Page Fault: 0x%08x\n", error->page_fault[RCS]); + seq_printf(m, "Media Page Fault: 0x%08x\n", error->page_fault[VCS]); + seq_printf(m, "Blitter Page Fault: 0x%08x\n", error->page_fault[BCS]); seq_printf(m, "ERROR: 0x%08x\n", error->error); seq_printf(m, "Blitter command stream:\n"); seq_printf(m, " ACTHD: 0x%08x\n", error->bcs_acthd); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 7916bd9..0447461 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -153,6 +153,7 @@ struct drm_i915_error_state { u32 ipehr; u32 instdone; u32 acthd; + u32 page_fault[I915_NUM_RINGS]; u32 error; /* gen6+ */ u32 bcs_acthd; /* gen6+ blt engine */ u32 bcs_ipehr; diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 9cbb0cd..99bd330 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -914,6 +914,9 @@ static void i915_capture_error_state(struct drm_device *dev) error->instpm = I915_READ(INSTPM); error->error = 0; if (INTEL_INFO(dev)->gen >= 6) { + error->page_fault[RCS] = I915_READ(GEN6_GFX_FAULT); + error->page_fault[VCS] = I915_READ(GEN6_MED_FAULT); + error->page_fault[BCS] = I915_READ(GEN6_BLT_FAULT); error->error = I915_READ(ERROR_GEN6); error->bcs_acthd = I915_READ(BCS_ACTHD); diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 542453f..5a74f89 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -355,6 +355,9 @@ #define BCS_IPEHR 0x22068 #define BCS_ACTHD 0x22074 +#define GEN6_GFX_FAULT 0x04094 +#define GEN6_MED_FAULT 0x04194 +#define GEN6_BLT_FAULT 0x04294 #define ERROR_GEN6 0x040a0 /* GM45+ chicken bits -- debug workaround bits that may be required -- 1.7.6.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx