summaryrefslogtreecommitdiff
path: root/tools/intel_forcewaked.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/intel_forcewaked.c')
-rw-r--r--tools/intel_forcewaked.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/intel_forcewaked.c b/tools/intel_forcewaked.c
index 02fbf888..7d32337a 100644
--- a/tools/intel_forcewaked.c
+++ b/tools/intel_forcewaked.c
@@ -34,8 +34,8 @@
#include <stdlib.h>
#include <syslog.h>
#include <unistd.h>
+#include "igt_device.h"
#include "intel_io.h"
-#include "intel_chipset.h"
#include "drmtest.h"
bool daemonized;
@@ -65,6 +65,7 @@ is_alive(void) {
int main(int argc, char *argv[])
{
int ret;
+ int fd;
if (argc > 2 || (argc == 2 && !strncmp(argv[1], "-h", 2))) {
help(argv[1]);
@@ -80,24 +81,27 @@ int main(int argc, char *argv[])
INFO_PRINT("started daemon");
}
- ret = intel_register_access_init(intel_get_pci_device(), 1, -1);
+ fd = drm_open_driver(DRIVER_INTEL);
+ ret = intel_register_access_init(igt_device_get_pci_device(fd), 1, -1);
if (ret) {
INFO_PRINT("Couldn't init register access\n");
exit(1);
} else {
INFO_PRINT("Forcewake locked\n");
}
+
while(1) {
if (!is_alive()) {
INFO_PRINT("gpu reset? restarting daemon\n");
intel_register_access_fini();
- ret = intel_register_access_init(intel_get_pci_device(), 1, -1);
+ ret = intel_register_access_init(igt_device_get_pci_device(fd), 1, -1);
if (ret)
INFO_PRINT("Reg access init fail\n");
}
sleep(1);
}
intel_register_access_fini();
+ close(fd);
INFO_PRINT("Forcewake unlock\n");
if (daemonized) {