summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 7481e747..6c4b949a 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -3341,7 +3341,17 @@ void gk20a_channel_semaphore_wakeup(struct gk20a *g, bool post_events)
3341 NVGPU_IOCTL_CHANNEL_EVENT_ID_BLOCKING_SYNC); 3341 NVGPU_IOCTL_CHANNEL_EVENT_ID_BLOCKING_SYNC);
3342 } 3342 }
3343 } 3343 }
3344 gk20a_channel_update(c, 0); 3344 /*
3345 * Only non-deterministic channels get the
3346 * channel_update callback. We don't allow
3347 * semaphore-backed syncs for these channels anyways,
3348 * since they have a dependency on the sync framework.
3349 * If deterministic channels are receiving a semaphore
3350 * wakeup, it must be for a user-space managed
3351 * semaphore.
3352 */
3353 if (!c->deterministic)
3354 gk20a_channel_update(c, 0);
3345 gk20a_channel_put(c); 3355 gk20a_channel_put(c);
3346 } 3356 }
3347 } 3357 }