summaryrefslogtreecommitdiff
path: root/lib/drmtest.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-23 13:35:09 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-23 13:47:09 +0100
commitf5daeec724aea1613334f14d58b101a5c8e430b4 (patch)
tree055ceaf0a430f9d028653cfef0913e0bfb0ee241 /lib/drmtest.c
parent018f8c3c457d1609b18867a48a512e3639979dc9 (diff)
lib: extract igt_aux.[hc]
And shovel all the various helpers in there. Also move igt_set_vt_graphics_mode to igt_kms.h since the function is implemented in igt_kms.c. And it fits better. I kinda missed this in the prep work. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'lib/drmtest.c')
-rw-r--r--lib/drmtest.c188
1 files changed, 0 insertions, 188 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 9fcd221b..8bb64f0c 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -277,191 +277,3 @@ int drm_open_any_render(void)
return fd;
}
-
-/* signal interrupt helpers */
-static struct igt_helper_process signal_helper;
-long long int sig_stat;
-static void __attribute__((noreturn)) signal_helper_process(pid_t pid)
-{
- /* Interrupt the parent process at 500Hz, just to be annoying */
- while (1) {
- usleep(1000 * 1000 / 500);
- if (kill(pid, SIGUSR1)) /* Parent has died, so must we. */
- exit(0);
- }
-}
-
-static void sig_handler(int i)
-{
- sig_stat++;
-}
-
-void igt_fork_signal_helper(void)
-{
- if (igt_only_list_subtests())
- return;
-
- signal(SIGUSR1, sig_handler);
-
- igt_fork_helper(&signal_helper) {
- signal_helper_process(getppid());
- }
-}
-
-void igt_stop_signal_helper(void)
-{
- if (igt_only_list_subtests())
- return;
-
- igt_stop_helper(&signal_helper);
-
- sig_stat = 0;
-}
-
-bool igt_env_set(const char *env_var, bool default_value)
-{
- char *val;
-
- val = getenv(env_var);
- if (!val)
- return default_value;
-
- return atoi(val) != 0;
-}
-
-bool igt_aub_dump_enabled(void)
-{
- static int dump_aub = -1;
-
- if (dump_aub == -1)
- dump_aub = igt_env_set("IGT_DUMP_AUB", false);
-
- return dump_aub;
-}
-
-/* other helpers */
-void igt_exchange_int(void *array, unsigned i, unsigned j)
-{
- int *int_arr, tmp;
- int_arr = array;
-
- tmp = int_arr[i];
- int_arr[i] = int_arr[j];
- int_arr[j] = tmp;
-}
-
-void igt_permute_array(void *array, unsigned size,
- void (*exchange_func)(void *array,
- unsigned i,
- unsigned j))
-{
- int i;
-
- for (i = size - 1; i > 1; i--) {
- /* yes, not perfectly uniform, who cares */
- long l = random() % (i +1);
- if (i != l)
- exchange_func(array, i, l);
- }
-}
-
-void igt_progress(const char *header, uint64_t i, uint64_t total)
-{
- int divider = 200;
-
- if (!isatty(fileno(stderr)))
- return;
-
- if (i+1 >= total) {
- fprintf(stderr, "\r%s100%%\n", header);
- return;
- }
-
- if (total / 200 == 0)
- divider = 1;
-
- /* only bother updating about every 0.5% */
- if (i % (total / divider) == 0 || i+1 >= total) {
- fprintf(stderr, "\r%s%3llu%%", header,
- (long long unsigned) i * 100 / total);
- }
-}
-
-/* mappable aperture trasher helper */
-drm_intel_bo **trash_bos;
-int num_trash_bos;
-
-void igt_init_aperture_trashers(drm_intel_bufmgr *bufmgr)
-{
- int i;
-
- num_trash_bos = gem_mappable_aperture_size() / (1024*1024);
-
- trash_bos = malloc(num_trash_bos * sizeof(drm_intel_bo *));
- igt_assert(trash_bos);
-
- for (i = 0; i < num_trash_bos; i++)
- trash_bos[i] = drm_intel_bo_alloc(bufmgr, "trash bo", 1024*1024, 4096);
-}
-
-void igt_trash_aperture(void)
-{
- int i;
- uint8_t *gtt_ptr;
-
- for (i = 0; i < num_trash_bos; i++) {
- drm_intel_gem_bo_map_gtt(trash_bos[i]);
- gtt_ptr = trash_bos[i]->virtual;
- *gtt_ptr = 0;
- drm_intel_gem_bo_unmap_gtt(trash_bos[i]);
- }
-}
-
-void igt_cleanup_aperture_trashers(void)
-{
- int i;
-
- for (i = 0; i < num_trash_bos; i++)
- drm_intel_bo_unreference(trash_bos[i]);
-
- free(trash_bos);
-}
-
-void igt_system_suspend_autoresume(void)
-{
- int ret;
-
- /* FIXME: Simulation doesn't like suspend/resume, and not even a lighter
- * approach using /sys/power/pm_test to just test our driver's callbacks
- * seems to fare better. We need to investigate what's going on. */
- igt_skip_on_simulation();
-
- ret = system("rtcwake -s 30 -m mem");
- igt_assert(ret == 0);
-}
-
-void igt_drop_root(void)
-{
- igt_assert(getuid() == 0);
-
- igt_assert(setgid(2) == 0);
- igt_assert(setuid(2) == 0);
-
- igt_assert(getgid() == 2);
- igt_assert(getuid() == 2);
-}
-
-void igt_wait_for_keypress(void)
-{
- struct termios oldt, newt;
-
- if (!isatty(STDIN_FILENO))
- return;
-
- tcgetattr ( STDIN_FILENO, &oldt );
- newt = oldt;
- newt.c_lflag &= ~( ICANON | ECHO );
- tcsetattr ( STDIN_FILENO, TCSANOW, &newt );
- getchar();
- tcsetattr ( STDIN_FILENO, TCSANOW, &oldt );
-}