diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-06-07 12:20:57 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-10 11:14:49 -0400 |
commit | 2bc8f4e36df6b0329417d1af20f1f14f43db62a8 (patch) | |
tree | 8cd571c7f5b5f808c2d5c897de05cc70b785d258 /drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | |
parent | 9b1bb51cf004833817ac85d145f2bd1b4c103f57 (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/tsg_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c index 5298d380..f7d5535d 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | |||
@@ -231,6 +231,7 @@ void gk20a_tsg_event_id_post_event(struct tsg_gk20a *tsg, | |||
231 | gk20a_dbg_info( | 231 | gk20a_dbg_info( |
232 | "posting event for event_id=%d on tsg=%d\n", | 232 | "posting event for event_id=%d on tsg=%d\n", |
233 | event_id, tsg->tsgid); | 233 | event_id, tsg->tsgid); |
234 | event_id_data->event_posted = true; | ||
234 | 235 | ||
235 | wake_up_interruptible_all(&event_id_data->event_id_wq); | 236 | wake_up_interruptible_all(&event_id_data->event_id_wq); |
236 | 237 | ||