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, 8 insertions, 2 deletions
diff --git a/tools/intel_forcewaked.c b/tools/intel_forcewaked.c
index 01ca0253..aa8e3f8b 100644
--- a/tools/intel_forcewaked.c
+++ b/tools/intel_forcewaked.c
@@ -36,6 +36,7 @@
#include <unistd.h>
#include "intel_io.h"
#include "intel_chipset.h"
+#include "drmtest.h"
bool daemonized;
@@ -63,6 +64,7 @@ is_alive(void) {
int main(int argc, char *argv[])
{
+ int drm_fd;
int ret;
if (argc > 2 || (argc == 2 && !strncmp(argv[1], "-h", 2))) {
@@ -79,7 +81,10 @@ int main(int argc, char *argv[])
INFO_PRINT("started daemon");
}
- ret = intel_register_access_init(intel_get_pci_device(), 1);
+ /* Just to make sure we open the right debugfs files */
+ drm_fd = drm_open_driver_master(DRIVER_INTEL);
+
+ ret = intel_register_access_init(intel_get_pci_device(), 1, drm_fd);
if (ret) {
INFO_PRINT("Couldn't init register access\n");
exit(1);
@@ -90,13 +95,14 @@ int main(int argc, char *argv[])
if (!is_alive()) {
INFO_PRINT("gpu reset? restarting daemon\n");
intel_register_access_fini();
- ret = intel_register_access_init(intel_get_pci_device(), 1);
+ ret = intel_register_access_init(intel_get_pci_device(), 1, drm_fd);
if (ret)
INFO_PRINT("Reg access init fail\n");
}
sleep(1);
}
intel_register_access_fini();
+ close(drm_fd);
INFO_PRINT("Forcewake unlock\n");
if (daemonized) {