From 140a67c13aad2595ee6c72e41d14d35a793158b5 Mon Sep 17 00:00:00 2001 From: Antonio Argenziano Date: Tue, 10 Jul 2018 16:45:26 -0700 Subject: lib/gt: Make use of dummyload library to create recursive batch An hanging batch is nothing more than a spinning batch that never gets stopped, so re-use the routines implemented in dummyload.c. v2: Let caller decide spin loop size v3: Only use loose loops for hangs (Chris) v4: No requires v5: Free the spinner v6: Chamelium exists. Signed-off-by: Antonio Argenziano #v3 Signed-off-by: Chris Wilson Reviewed-by: Antonio Argenziano --- lib/igt_aux.h | 105 ---------------------------------------------------------- 1 file changed, 105 deletions(-) (limited to 'lib/igt_aux.h') diff --git a/lib/igt_aux.h b/lib/igt_aux.h index 9a962881..639a9077 100644 --- a/lib/igt_aux.h +++ b/lib/igt_aux.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -39,12 +38,6 @@ extern drm_intel_bo **trash_bos; extern int num_trash_bos; -/* signal interrupt helpers */ - -#define MSEC_PER_SEC (1000) -#define USEC_PER_SEC (1000*MSEC_PER_SEC) -#define NSEC_PER_SEC (1000*USEC_PER_SEC) - /* signal interrupt helpers */ #define gettid() syscall(__NR_gettid) #define sigev_notify_thread_id _sigev_un._tid @@ -295,104 +288,6 @@ void igt_set_module_param_int(const char *name, int val); int igt_terminate_process(int sig, const char *comm); void igt_lsof(const char *dpath); -/* - * This list data structure is a verbatim copy from wayland-util.h from the - * Wayland project; except that wl_ prefix has been removed. - */ - -struct igt_list { - struct igt_list *prev; - struct igt_list *next; -}; - -#define __IGT_INIT_LIST(name) { &(name), &(name) } -#define IGT_LIST(name) struct igt_list name = __IGT_INIT_LIST(name) - -static inline void igt_list_init(struct igt_list *list) -{ - list->prev = list; - list->next = list; -} - -static inline void __igt_list_add(struct igt_list *list, - struct igt_list *prev, - struct igt_list *next) -{ - next->prev = list; - list->next = next; - list->prev = prev; - prev->next = list; -} - -static inline void igt_list_add(struct igt_list *elm, struct igt_list *list) -{ - __igt_list_add(elm, list, list->next); -} - -static inline void igt_list_add_tail(struct igt_list *elm, - struct igt_list *list) -{ - __igt_list_add(elm, list->prev, list); -} - -static inline void __igt_list_del(struct igt_list *prev, struct igt_list *next) -{ - next->prev = prev; - prev->next = next; -} - -static inline void igt_list_del(struct igt_list *elm) -{ - __igt_list_del(elm->prev, elm->next); -} - -static inline void igt_list_move(struct igt_list *elm, struct igt_list *list) -{ - igt_list_del(elm); - igt_list_add(elm, list); -} - -static inline void igt_list_move_tail(struct igt_list *elm, - struct igt_list *list) -{ - igt_list_del(elm); - igt_list_add_tail(elm, list); -} - -static inline bool igt_list_empty(const struct igt_list *list) -{ - return list->next == list; -} - -#define container_of(ptr, sample, member) \ - (typeof(sample))((char *)(ptr) - offsetof(typeof(*sample), member)) - -#define igt_list_first_entry(head, pos, member) \ - container_of((head)->next, (pos), member) -#define igt_list_last_entry(head, pos, member) \ - container_of((head)->prev, (pos), member) - -#define igt_list_next_entry(pos, member) \ - container_of((pos)->member.next, (pos), member) -#define igt_list_prev_entry(pos, member) \ - container_of((pos)->member.prev, (pos), member) - -#define igt_list_for_each(pos, head, member) \ - for (pos = igt_list_first_entry(head, pos, member); \ - &pos->member != (head); \ - pos = igt_list_next_entry(pos, member)) - -#define igt_list_for_each_reverse(pos, head, member) \ - for (pos = igt_list_last_entry(head, pos, member); \ - &pos->member != (head); \ - pos = igt_list_prev_entry(pos, member)) - -#define igt_list_for_each_safe(pos, tmp, head, member) \ - for (pos = igt_list_first_entry(head, pos, member), \ - tmp = igt_list_next_entry(pos, member); \ - &pos->member != (head); \ - pos = tmp, tmp = igt_list_next_entry(pos, member)) - #define igt_hweight(x) \ __builtin_choose_expr(sizeof(x) == 8, \ __builtin_popcountll(x), \ -- cgit v1.2.3