summaryrefslogtreecommitdiff
path: root/tools/intel_forcewaked.c
diff options
context:
space:
mode:
authorMichał Winiarski <michal.winiarski@intel.com>2019-03-12 13:48:13 +0100
committerMichał Winiarski <michal.winiarski@intel.com>2019-03-20 10:36:36 +0100
commit8ae86621d6fff60b6e20c6b0f9b336785c935b0f (patch)
tree12d83d267f5dafb16bcef5edec173ff57cf4dfbd /tools/intel_forcewaked.c
parent1bbe0b11a40cbb8433a3863745b7023e54c36ae3 (diff)
lib/igt_device: Move intel_get_pci_device under igt_device
It allows us to make things a little bit more generic. Also, we now require fd rather than doing guesswork when it comes to pci address. v2: Use readlinkat rather than string concat, move stuff around, provide a version that does not assert. (Chris) v3: Print addr on failure, avoid assignment in conditionals. (Chris) Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
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) {