mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-10 01:16:18 +00:00
lib/drmtest: add drmtest_disable/enable_prefault() function
V2: add exit handler to enable prefault (Daniel) Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
This commit is contained in:
parent
161e610765
commit
7ea2983b11
@ -1605,3 +1605,53 @@ void kmstest_free_connector_config(struct kmstest_connector_config *config)
|
||||
drmModeFreeEncoder(config->encoder);
|
||||
drmModeFreeConnector(config->connector);
|
||||
}
|
||||
|
||||
#define PREFAULT_DEBUGFS "/sys/module/i915/parameters/prefault_disable"
|
||||
static int drmtest_prefault_control(bool enable)
|
||||
{
|
||||
char *name = PREFAULT_DEBUGFS;
|
||||
int fd;
|
||||
char buf[2] = {'Y', 'N'};
|
||||
int index;
|
||||
int result = 0;
|
||||
|
||||
fd = open(name, O_RDWR);
|
||||
if (fd == -1) {
|
||||
fprintf(stderr, "Couldn't open prefault_debugfs.%s\n",
|
||||
strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (enable)
|
||||
index = 1;
|
||||
else
|
||||
index = 0;
|
||||
|
||||
if (write(fd, &buf[index], 1) != 1) {
|
||||
fprintf(stderr, "write prefault_debugfs error.%s\n",
|
||||
strerror(errno));
|
||||
result = -1;
|
||||
}
|
||||
|
||||
close(fd);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void enable_prefault_at_exit(int sig)
|
||||
{
|
||||
drmtest_enable_prefault();
|
||||
}
|
||||
|
||||
int drmtest_disable_prefault(void)
|
||||
{
|
||||
drmtest_install_exit_handler(enable_prefault_at_exit);
|
||||
|
||||
return drmtest_prefault_control(false);
|
||||
}
|
||||
|
||||
int drmtest_enable_prefault(void)
|
||||
{
|
||||
return drmtest_prefault_control(true);
|
||||
}
|
||||
|
||||
|
@ -180,3 +180,6 @@ void drmtest_enable_exit_handler(void);
|
||||
void drmtest_disable_exit_handler(void);
|
||||
|
||||
int drmtest_set_vt_graphics_mode(void);
|
||||
|
||||
int drmtest_disable_prefault(void);
|
||||
int drmtest_enable_prefault(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user