diff options
Diffstat (limited to 'tools/forcewaked.c')
-rw-r--r-- | tools/forcewaked.c | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/tools/forcewaked.c b/tools/forcewaked.c deleted file mode 100644 index 3ab2d6f8..00000000 --- a/tools/forcewaked.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright © 2011 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Ben Widawsky <ben@bwidawsk.net> - * - */ - -#include <assert.h> -#include <err.h> -#include <string.h> -#include <stdarg.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <syslog.h> -#include <unistd.h> -#include "intel_gpu_tools.h" - -bool daemonized; - -#define INFO_PRINT(...) \ - do { \ - if (daemonized) \ - syslog(LOG_INFO, ##__VA_ARGS__); \ - else \ - fprintf(stdout, ##__VA_ARGS__); \ - } while(0) - -static void -help(char *prog) { - printf("%s Prevents the GT from sleeping.\n\n", prog); - printf("usage: %s [options] \n\n", prog); - printf("Options: \n"); - printf(" -b Run in background/daemon mode\n"); -} - -static int -is_alive(void) { - /* Read the timestamp, which should *almost* always be !0 */ - return (intel_register_read(0x2358) != 0); -} - -int main(int argc, char *argv[]) -{ - int ret; - - if (argc > 2 || (argc == 2 && !strncmp(argv[1], "-h", 2))) { - help(argv[1]); - exit(0); - } - - if (argc == 2 && (!strncmp(argv[1], "-b", 2))) - daemonized = true; - - if (daemonized) { - assert(daemon(0, 0) == 0); - openlog(argv[0], LOG_CONS | LOG_PID, LOG_USER); - INFO_PRINT("started daemon"); - } - - ret = intel_register_access_init(intel_get_pci_device(), 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); - } - sleep(1); - } - intel_register_access_fini(); - INFO_PRINT("Forcewake unlock\n"); - - if (daemonized) { - INFO_PRINT("finished\n"); - closelog(); - } - - return 0; -} |