summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2016-09-20 18:22:23 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-10-26 14:09:56 -0400
commitf0fe1c2f0247cc4e2d786e879cb0c951ccb2181e (patch)
treec8082b67a1ca7041a5f8c9cf3b9f9286661ce4c3 /drivers
parentd96ff67fb02107e11d007f6144db85e8f2da4a24 (diff)
gpu: nvgpu: Only cleanup existing semaphore pools
Not all VMs have semaphore pools made for them even when semaphores are going to be used. Thus only VMs with existing semaphore pools should have their pools cleaned up. Bug 1816516 Change-Id: I07828708faef451f1711f58c0d5b3f8e4d296dd0 Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: http://git-master/r/1225612 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> (cherry picked from commit 6cdb7b6650765465dca68dc3c23b3d795ccdafb5) Reviewed-on: http://git-master/r/1240105 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index df58feb2..944a5b13 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -4077,8 +4077,10 @@ static void gk20a_vm_remove_support_nofree(struct vm_gk20a *vm)
4077 * update_gmmu_lock. 4077 * update_gmmu_lock.
4078 */ 4078 */
4079 if (!gk20a_platform_has_syncpoints(gk20a_from_vm(vm)->dev)) { 4079 if (!gk20a_platform_has_syncpoints(gk20a_from_vm(vm)->dev)) {
4080 gk20a_semaphore_pool_unmap(vm->sema_pool, vm); 4080 if (vm->sema_pool) {
4081 gk20a_semaphore_pool_put(vm->sema_pool); 4081 gk20a_semaphore_pool_unmap(vm->sema_pool, vm);
4082 gk20a_semaphore_pool_put(vm->sema_pool);
4083 }
4082 } 4084 }
4083 4085
4084 mutex_lock(&vm->update_gmmu_lock); 4086 mutex_lock(&vm->update_gmmu_lock);