diff options
author | Michał Winiarski <michal.winiarski@intel.com> | 2019-03-12 13:48:13 +0100 |
---|---|---|
committer | Michał Winiarski <michal.winiarski@intel.com> | 2019-03-20 10:36:36 +0100 |
commit | 8ae86621d6fff60b6e20c6b0f9b336785c935b0f (patch) | |
tree | 12d83d267f5dafb16bcef5edec173ff57cf4dfbd /tools/intel_forcewaked.c | |
parent | 1bbe0b11a40cbb8433a3863745b7023e54c36ae3 (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.c | 10 |
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) { |