diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c index a27f08a4..746a2de3 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | |||
@@ -305,6 +305,8 @@ gk20a_channel_syncpt_create(struct channel_gk20a *c) | |||
305 | sp->ops.signal_timeline = gk20a_channel_syncpt_signal_timeline; | 305 | sp->ops.signal_timeline = gk20a_channel_syncpt_signal_timeline; |
306 | sp->ops.destroy = gk20a_channel_syncpt_destroy; | 306 | sp->ops.destroy = gk20a_channel_syncpt_destroy; |
307 | 307 | ||
308 | sp->ops.aggressive_destroy = true; | ||
309 | |||
308 | return &sp->ops; | 310 | return &sp->ops; |
309 | } | 311 | } |
310 | #endif /* CONFIG_TEGRA_GK20A */ | 312 | #endif /* CONFIG_TEGRA_GK20A */ |
@@ -642,6 +644,10 @@ gk20a_channel_semaphore_create(struct channel_gk20a *c) | |||
642 | sema->ops.signal_timeline = gk20a_channel_semaphore_signal_timeline; | 644 | sema->ops.signal_timeline = gk20a_channel_semaphore_signal_timeline; |
643 | sema->ops.destroy = gk20a_channel_semaphore_destroy; | 645 | sema->ops.destroy = gk20a_channel_semaphore_destroy; |
644 | 646 | ||
647 | /* Aggressively destroying the semaphore sync would cause overhead | ||
648 | * since the pool needs to be mapped to GMMU. */ | ||
649 | sema->ops.aggressive_destroy = false; | ||
650 | |||
645 | return &sema->ops; | 651 | return &sema->ops; |
646 | clean_up: | 652 | clean_up: |
647 | gk20a_channel_semaphore_destroy(&sema->ops); | 653 | gk20a_channel_semaphore_destroy(&sema->ops); |