summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-06-07 12:20:57 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-06-10 11:14:49 -0400
commit2bc8f4e36df6b0329417d1af20f1f14f43db62a8 (patch)
tree8cd571c7f5b5f808c2d5c897de05cc70b785d258 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h
parent9b1bb51cf004833817ac85d145f2bd1b4c103f57 (diff)
gpu: nvgpu: fix event id polling
In gk20a_event_id_poll(), we always set the mask value and return it. This causes poll() from UMD to be always successful irrespective of event is really generated or not Fix this by adding a flag event_posted for each event Set this flag while posting the event In gk20a_event_id_poll(), set the mask value only if this flag is set. If flag is set, set mask and clear the flag Bug 200089620 Change-Id: If14236547c611fe4bfa1410ff5b69c9fa02d43bb Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1160253 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index 29a13d24..4e0db3cf 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -84,6 +84,8 @@ struct gk20a_event_id_data {
84 bool is_tsg; 84 bool is_tsg;
85 u32 event_id; 85 u32 event_id;
86 86
87 bool event_posted;
88
87 wait_queue_head_t event_id_wq; 89 wait_queue_head_t event_id_wq;
88 struct mutex lock; 90 struct mutex lock;
89 struct list_head event_id_node; 91 struct list_head event_id_node;