diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c index d87b8661..bf467210 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | |||
@@ -646,7 +646,18 @@ static int gk20a_channel_semaphore_incr_user( | |||
646 | 646 | ||
647 | static void gk20a_channel_semaphore_set_min_eq_max(struct gk20a_channel_sync *s) | 647 | static void gk20a_channel_semaphore_set_min_eq_max(struct gk20a_channel_sync *s) |
648 | { | 648 | { |
649 | /* Nothing to do. */ | 649 | struct gk20a_channel_semaphore *sp = |
650 | container_of(s, struct gk20a_channel_semaphore, ops); | ||
651 | struct channel_gk20a *c = sp->c; | ||
652 | bool updated; | ||
653 | |||
654 | if (!c->hw_sema) | ||
655 | return; | ||
656 | |||
657 | updated = nvgpu_semaphore_reset(c->hw_sema); | ||
658 | |||
659 | if (updated) | ||
660 | nvgpu_cond_broadcast_interruptible(&c->semaphore_wq); | ||
650 | } | 661 | } |
651 | 662 | ||
652 | static void gk20a_channel_semaphore_set_safe_state(struct gk20a_channel_sync *s) | 663 | static void gk20a_channel_semaphore_set_safe_state(struct gk20a_channel_sync *s) |