summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-12 16:53:47 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-12 21:22:31 +0100
commitadb28fd71d21175f047d7ed4cc3e4683a146b57b (patch)
tree08e48ddc9c0963c89e4b830e20d86fe14840974b
parent55e64989e5f0359796d6e71d6753e432861b04a4 (diff)
lib: move prefault helpers to igt_debugfs.c
This way all debugfs library code is in one place, ready for some api documentation care. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--lib/drmtest.c38
-rw-r--r--lib/drmtest.h4
-rw-r--r--lib/igt_debugfs.c45
-rw-r--r--lib/igt_debugfs.h8
-rw-r--r--tests/gem_exec_faulting_reloc.c1
-rw-r--r--tests/gem_mmap_gtt.c1
6 files changed, 55 insertions, 42 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c
index a5aac4dc..78b9999d 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -425,44 +425,6 @@ void igt_cleanup_aperture_trashers(void)
free(trash_bos);
}
-#define PREFAULT_DEBUGFS "/sys/module/i915/parameters/prefault_disable"
-static void igt_prefault_control(bool enable)
-{
- const char *name = PREFAULT_DEBUGFS;
- int fd;
- char buf[2] = {'Y', 'N'};
- int index;
-
- fd = open(name, O_RDWR);
- igt_require(fd >= 0);
-
- if (enable)
- index = 1;
- else
- index = 0;
-
- igt_require(write(fd, &buf[index], 1) == 1);
-
- close(fd);
-}
-
-static void enable_prefault_at_exit(int sig)
-{
- igt_enable_prefault();
-}
-
-void igt_disable_prefault(void)
-{
- igt_prefault_control(false);
-
- igt_install_exit_handler(enable_prefault_at_exit);
-}
-
-void igt_enable_prefault(void)
-{
- igt_prefault_control(true);
-}
-
void igt_system_suspend_autoresume(void)
{
int ret;
diff --git a/lib/drmtest.h b/lib/drmtest.h
index f9f21d39..593f31b9 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -77,10 +77,6 @@ void igt_cleanup_aperture_trashers(void);
/* set vt into graphics mode, required to prevent fbcon from interfering */
void igt_set_vt_graphics_mode(void);
-/* prefault disabling, needs the corresponding debugfs interface */
-void igt_disable_prefault(void);
-void igt_enable_prefault(void);
-
/* suspend and auto-resume system */
void igt_system_suspend_autoresume(void);
diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index 4a4a4dd4..32edc435 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -34,6 +34,9 @@
#include "igt_display.h"
#include "igt_debugfs.h"
+/*
+ * General debugfs helpers
+ */
int igt_debugfs_init(igt_debugfs_t *debugfs)
{
const char *path = "/sys/kernel/debug";
@@ -376,3 +379,45 @@ void igt_drop_caches_set(uint64_t val)
igt_assert(nbytes == strlen(data) + 1);
close(fd);
}
+
+/*
+ * Prefault control
+ */
+
+#define PREFAULT_DEBUGFS "/sys/module/i915/parameters/prefault_disable"
+static void igt_prefault_control(bool enable)
+{
+ const char *name = PREFAULT_DEBUGFS;
+ int fd;
+ char buf[2] = {'Y', 'N'};
+ int index;
+
+ fd = open(name, O_RDWR);
+ igt_require(fd >= 0);
+
+ if (enable)
+ index = 1;
+ else
+ index = 0;
+
+ igt_require(write(fd, &buf[index], 1) == 1);
+
+ close(fd);
+}
+
+static void enable_prefault_at_exit(int sig)
+{
+ igt_enable_prefault();
+}
+
+void igt_disable_prefault(void)
+{
+ igt_prefault_control(false);
+
+ igt_install_exit_handler(enable_prefault_at_exit);
+}
+
+void igt_enable_prefault(void)
+{
+ igt_prefault_control(true);
+}
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h
index 6b7e6239..43fa0fc5 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -96,4 +96,12 @@ void igt_pipe_crc_collect_crc(igt_pipe_crc_t *pipe_crc, igt_crc_t *out_crc);
void igt_drop_caches_set(uint64_t val);
+/*
+ * Prefault control
+ */
+
+void igt_disable_prefault(void);
+void igt_enable_prefault(void);
+
+
#endif /* __IGT_DEBUGFS_H__ */
diff --git a/tests/gem_exec_faulting_reloc.c b/tests/gem_exec_faulting_reloc.c
index 60de1839..d5ca18cf 100644
--- a/tests/gem_exec_faulting_reloc.c
+++ b/tests/gem_exec_faulting_reloc.c
@@ -41,6 +41,7 @@
#include "drmtest.h"
#include "intel_chipset.h"
#include "intel_gpu_tools.h"
+#include "igt_debugfs.h"
/* Testcase: Submit patches with relocations in memory that will fault
*
diff --git a/tests/gem_mmap_gtt.c b/tests/gem_mmap_gtt.c
index 34ca6789..5f9e6382 100644
--- a/tests/gem_mmap_gtt.c
+++ b/tests/gem_mmap_gtt.c
@@ -38,6 +38,7 @@
#include "drm.h"
#include "i915_drm.h"
#include "drmtest.h"
+#include "igt_debugfs.h"
static int OBJECT_SIZE = 16*1024*1024;