summaryrefslogtreecommitdiff
path: root/overlay
diff options
context:
space:
mode:
Diffstat (limited to 'overlay')
-rw-r--r--overlay/Makefile.am2
-rw-r--r--overlay/debugfs.c21
-rw-r--r--overlay/debugfs.h1
-rw-r--r--overlay/overlay.c2
4 files changed, 26 insertions, 0 deletions
diff --git a/overlay/Makefile.am b/overlay/Makefile.am
index 09f273c0..00a1ef5f 100644
--- a/overlay/Makefile.am
+++ b/overlay/Makefile.am
@@ -14,6 +14,8 @@ intel_gpu_overlay_SOURCES = \
chart.c \
cpu-top.h \
cpu-top.c \
+ debugfs.h \
+ debugfs.c \
gem-objects.h \
gem-objects.c \
gpu-top.h \
diff --git a/overlay/debugfs.c b/overlay/debugfs.c
new file mode 100644
index 00000000..969ec368
--- /dev/null
+++ b/overlay/debugfs.c
@@ -0,0 +1,21 @@
+#include <sys/stat.h>
+#include <sys/mount.h>
+#include <errno.h>
+
+#include "debugfs.h"
+
+int debugfs_init(void)
+{
+ struct stat st;
+
+ if (stat("/sys/kernel/debug/dri", &st) == 0)
+ return 0;
+
+ if (stat("/sys/kernel/debug", &st))
+ return errno;
+
+ if (mount("debug", "/sys/kernel/debug", "debugfs", 0, 0))
+ return errno;
+
+ return 0;
+}
diff --git a/overlay/debugfs.h b/overlay/debugfs.h
new file mode 100644
index 00000000..52577eff
--- /dev/null
+++ b/overlay/debugfs.h
@@ -0,0 +1 @@
+int debugfs_init(void);
diff --git a/overlay/overlay.c b/overlay/overlay.c
index 6fb2bc26..98ee3d87 100644
--- a/overlay/overlay.c
+++ b/overlay/overlay.c
@@ -517,6 +517,8 @@ int main(int argc, char **argv)
if (ctx.surface == NULL)
return ENOMEM;
+ debugfs_init();
+
init_gpu_top(&ctx, &ctx.gpu_top);
init_gpu_perf(&ctx, &ctx.gpu_perf);
init_gpu_freq(&ctx, &ctx.gpu_freq);