xf86-video-intel: 2 commits - src/intel_device.c src/sna/kgem.c

Chris Wilson ickle at kemper.freedesktop.org
Sat Jan 18 13:39:29 PST 2014


 src/intel_device.c |    4 ++--
 src/sna/kgem.c     |   25 +++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 2 deletions(-)

New commits:
commit 9342bc3dfd64b338c0802793f311574323067652
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jan 18 21:38:59 2014 +0000

    sna: Dump fence registers upon starvation
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=73696
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 455f4e2..bf852ac 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2893,6 +2893,29 @@ static void dump_gtt_info(void)
 		}
 	}
 }
+
+static void dump_fence_regs(void)
+{
+	int i;
+
+	for (i = 0; i < DRM_MAX_MINOR; i++) {
+		char path[80];
+		FILE *file;
+
+		sprintf(path, "/sys/kernel/debug/dri%d/i915_gem_fence_regs", i);
+		file = fopen(path, "r");
+		if (file) {
+			size_t len = 0;
+			char *line = NULL;
+
+			while (getline(&line, &len, file) != -1)
+				ErrorF("%s", line);
+			free(line);
+			fclose(file);
+			return;
+		}
+	}
+}
 #endif
 
 void _kgem_submit(struct kgem *kgem)
@@ -3049,6 +3072,8 @@ void _kgem_submit(struct kgem *kgem)
 
 				if (ret == ENOSPC)
 					dump_gtt_info();
+				if (ret == EDEADLK)
+					dump_fence_regs();
 
 				if (DEBUG_SYNC) {
 					int fd = open("/tmp/batchbuffer", O_WRONLY | O_CREAT | O_APPEND, 0666);
commit 35ea7b2dd5904d5d8f7c355368c82bb12f1b83a0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jan 17 12:55:33 2014 +0000

    intel: Silence a compiler warning (-Wshadow)
    
    intel_device.c: In function 'intel_entity_get_devid':
    intel_device.c:82:32: warning: declaration of 'index' shadows a global declaration [-Wshadow]
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/intel_device.c b/src/intel_device.c
index 4d08a6e..8fd7882 100644
--- a/src/intel_device.c
+++ b/src/intel_device.c
@@ -79,11 +79,11 @@ static int __intel_get_device_id(int fd)
 	return devid;
 }
 
-int intel_entity_get_devid(int index)
+int intel_entity_get_devid(int idx)
 {
 	struct intel_device *dev;
 
-	dev = xf86GetEntityPrivate(index, intel_device_key)->ptr;
+	dev = xf86GetEntityPrivate(idx, intel_device_key)->ptr;
 	if (dev == NULL)
 		return 0;
 


More information about the xorg-commit mailing list