summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-02-09 23:37:02 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:06:37 -0400
commita3b26f25a226ea56e84dbda1bb510c1a7bc11054 (patch)
treeaf422d027e1e4c6d058380fd26dee4eb95c8afa8 /drivers/gpu/nvgpu/gm20b/mm_gm20b.c
parent80d26baf051fa5fc05e4e15fe5fd6a7bac448a1c (diff)
gpu: nvgpu: TLB invalidate after map/unmap
Always invalidate TLB after mapping or unmapping, and remove the delayed TLB invalidate. Change-Id: I6df3c5c1fcca59f0f9e3f911168cb2f913c42815 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/696413 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/mm_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/mm_gm20b.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
index 1adff5ab..605464d4 100644
--- a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * GM20B MMU 2 * GM20B MMU
3 * 3 *
4 * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License, 7 * under the terms and conditions of the GNU General Public License,
@@ -34,6 +34,7 @@ static int allocate_gmmu_ptes_sparse(struct vm_gk20a *vm,
34 u32 pte_cur; 34 u32 pte_cur;
35 void *pte_kv_cur; 35 void *pte_kv_cur;
36 struct page_table_gk20a *pte; 36 struct page_table_gk20a *pte;
37 struct gk20a *g = gk20a_from_vm(vm);
37 38
38 gk20a_dbg_fn(""); 39 gk20a_dbg_fn("");
39 40
@@ -74,8 +75,7 @@ static int allocate_gmmu_ptes_sparse(struct vm_gk20a *vm,
74 unmap_gmmu_pages(pte->ref, pte->sgt, pte_kv_cur); 75 unmap_gmmu_pages(pte->ref, pte->sgt, pte_kv_cur);
75 76
76 smp_mb(); 77 smp_mb();
77 vm->tlb_dirty = true; 78 g->ops.mm.tlb_invalidate(vm);
78 gk20a_dbg_fn("set tlb dirty");
79 79
80 return 0; 80 return 0;
81fail: 81fail: