[Intel-gfx] [RFC 07/13] drm/i915: Additional debug for TDR

Lister, Ian ian.lister at intel.com
Mon Dec 16 17:03:11 CET 2013


From d9e59b16738684ccbc8a82db5b46ab6c0daf507e Mon Sep 17 00:00:00 2001
Message-Id: <d9e59b16738684ccbc8a82db5b46ab6c0daf507e.1387201899.git.ian.lister at intel.com>
In-Reply-To: <cover.1387201899.git.ian.lister at intel.com>
References: <cover.1387201899.git.ian.lister at intel.com>
From: ian-lister <ian.lister at intel.com>
Date: Tue, 10 Dec 2013 14:56:06 +0000
Subject: [RFC 07/13] drm/i915: Additional debug for TDR

Additional debug in i915_request_guilty and gen6_do_reset.

Signed-off-by: ian-lister <ian.lister at intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c     | 4 ++++
 drivers/gpu/drm/i915/intel_uncore.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 42a1647..5b76da4 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2251,12 +2251,16 @@ static bool i915_request_guilty(struct drm_i915_gem_request *request,
 		if (i915_head_inside_object(acthd, request->batch_obj,
 					    request_to_vm(request))) {
 			*inside = true;
+			DRM_DEBUG_TDR("Head in obj 0x%08x\n",
+				request->batch_obj);
 			return true;
 		}
 	}
 
 	if (i915_head_inside_request(acthd, request->head, request->tail)) {
 		*inside = false;
+		DRM_DEBUG_TDR("Head in req 0x%08x (HD: 0x%08x TL: 0x%08x)\n",
+			request, request->head, request->tail);
 		return true;
 	}
 
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 8ab5385..79182bd 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -959,6 +959,8 @@ static int gen6_do_reset(struct drm_device *dev)
 	int	ret;
 	unsigned long irqflags;
 
+	DRM_ERROR("Reset GPU (GPU Hang)\n");
+
 	/* Hold uncore.lock across reset to prevent any register access
 	 * with forcewake not set correctly
 	 */
-- 
1.8.5.1




More information about the Intel-gfx mailing list