diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-02-09 23:37:02 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:06:37 -0400 |
commit | a3b26f25a226ea56e84dbda1bb510c1a7bc11054 (patch) | |
tree | af422d027e1e4c6d058380fd26dee4eb95c8afa8 /drivers/gpu/nvgpu/gm20b/mm_gm20b.c | |
parent | 80d26baf051fa5fc05e4e15fe5fd6a7bac448a1c (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.c | 6 |
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; |
81 | fail: | 81 | fail: |