summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdkfd/kfd_events.h
diff options
context:
space:
mode:
authorFelix Kuehling <Felix.Kuehling@amd.com>2017-10-27 19:35:25 -0400
committerOded Gabbay <oded.gabbay@gmail.com>2017-10-27 19:35:25 -0400
commit74e4071665da243e0ff1b7a0e1b8ac7d89cdb3ca (patch)
tree089b058149546a686c58995259da90d882504de7 /drivers/gpu/drm/amd/amdkfd/kfd_events.h
parentebf947fe93dd3627774f6bb4daa57b4e2897929d (diff)
downloadlinux-stable-74e4071665da243e0ff1b7a0e1b8ac7d89cdb3ca.tar.gz
linux-stable-74e4071665da243e0ff1b7a0e1b8ac7d89cdb3ca.tar.bz2
linux-stable-74e4071665da243e0ff1b7a0e1b8ac7d89cdb3ca.zip
drm/amdkfd: Use wait_queue_t to implement event waiting
Use standard wait queues for waiting and waking up waiting threads instead of inventing our own. We still have our own wait loop because the HSA event semantics require the ability to have one thread waiting on multiple wait queues (events) at the same time. Signed-off-by: Kent Russell <kent.russell@amd.com> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Acked-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdkfd/kfd_events.h')
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_events.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.h b/drivers/gpu/drm/amd/amdkfd/kfd_events.h
index 28f6838b1f4c..96f9122805fa 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_events.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.h
@@ -27,6 +27,7 @@
#include <linux/hashtable.h>
#include <linux/types.h>
#include <linux/list.h>
+#include <linux/wait.h>
#include "kfd_priv.h"
#include <uapi/linux/kfd_ioctl.h>
@@ -56,7 +57,7 @@ struct kfd_event {
int type;
- struct list_head waiters; /* List of kfd_event_waiter by waiters. */
+ wait_queue_head_t wq; /* List of event waiters. */
/* Only for signal events. */
struct signal_page *signal_page;