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>
This commit is contained in:
Daniel Vetter
2014-03-12 16:53:47 +01:00
parent 55e64989e5
commit adb28fd71d
6 changed files with 55 additions and 42 deletions
+45
View File
@@ -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);
}