diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 12 |
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 | } |