xf86-video-intel: src/sna/kgem.c

Chris Wilson ickle at kemper.freedesktop.org
Sat Jan 18 14:39:01 PST 2014


 src/sna/kgem.c |   61 ++++++++++++++++++++++++++-------------------------------
 1 file changed, 28 insertions(+), 33 deletions(-)

New commits:
commit 498fcb001358af8f15bd129f8d1edf2530edf412
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jan 18 22:38:40 2014 +0000

    sna: Refactor common routines for debugfs file dumping
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 32c1023..0aee958 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2871,51 +2871,46 @@ out_16384:
 }
 
 #if !NDEBUG
-static void dump_gtt_info(void)
+static bool dump_file(const char *path)
 {
-	int i;
+	FILE *file;
+	size_t len = 0;
+	char *line = NULL;
 
-	for (i = 0; i < DRM_MAX_MINOR; i++) {
-		char path[80];
-		FILE *file;
-
-		sprintf(path, "/sys/kernel/debug/dri/%d/i915_gem_gtt", 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;
-		}
-	}
+	file = fopen(path, "r");
+	if (file == NULL)
+		return false;
+
+	while (getline(&line, &len, file) != -1)
+		ErrorF("%s", line);
+
+	free(line);
+	fclose(file);
+	return true;
 }
 
-static void dump_fence_regs(void)
+static void dump_debugfs(const char *name)
 {
 	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);
+
+		sprintf(path, "/sys/kernel/debug/dri/%d/%s", i, name);
+		if (dump_file(path))
 			return;
-		}
 	}
 }
+
+static void dump_gtt_info(void)
+{
+	dump_debugfs("i915_gem_gtt");
+}
+
+static void dump_fence_regs(void)
+{
+	dump_debugfs("i915_gem_fence_regs");
+}
 #endif
 
 void _kgem_submit(struct kgem *kgem)


More information about the xorg-commit mailing list