summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/semaphore.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/semaphore.c')
-rw-r--r--drivers/gpu/nvgpu/common/semaphore.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/gpu/nvgpu/common/semaphore.c b/drivers/gpu/nvgpu/common/semaphore.c
index fa86985b..a54ce831 100644
--- a/drivers/gpu/nvgpu/common/semaphore.c
+++ b/drivers/gpu/nvgpu/common/semaphore.c
@@ -14,6 +14,7 @@
14 */ 14 */
15 15
16#include <nvgpu/dma.h> 16#include <nvgpu/dma.h>
17#include <nvgpu/gmmu.h>
17#include <nvgpu/semaphore.h> 18#include <nvgpu/semaphore.h>
18#include <nvgpu/kmem.h> 19#include <nvgpu/kmem.h>
19#include <nvgpu/bug.h> 20#include <nvgpu/bug.h>
@@ -197,7 +198,7 @@ int nvgpu_semaphore_pool_map(struct nvgpu_semaphore_pool *p,
197 */ 198 */
198 __lock_sema_sea(p->sema_sea); 199 __lock_sema_sea(p->sema_sea);
199 200
200 addr = gk20a_gmmu_fixed_map(vm, &p->sema_sea->sea_mem.priv.sgt, 201 addr = nvgpu_gmmu_map_fixed(vm, &p->sema_sea->sea_mem,
201 p->sema_sea->gpu_va, 202 p->sema_sea->gpu_va,
202 p->sema_sea->map_size, 203 p->sema_sea->map_size,
203 0, gk20a_mem_flag_read_only, 0, 204 0, gk20a_mem_flag_read_only, 0,
@@ -225,7 +226,7 @@ int nvgpu_semaphore_pool_map(struct nvgpu_semaphore_pool *p,
225 if (err) 226 if (err)
226 goto fail_unmap; 227 goto fail_unmap;
227 228
228 addr = gk20a_gmmu_map(vm, &p->rw_mem.priv.sgt, SZ_4K, 0, 229 addr = nvgpu_gmmu_map(vm, &p->rw_mem, SZ_4K, 0,
229 gk20a_mem_flag_none, 0, 230 gk20a_mem_flag_none, 0,
230 p->rw_mem.aperture); 231 p->rw_mem.aperture);
231 232
@@ -250,10 +251,7 @@ int nvgpu_semaphore_pool_map(struct nvgpu_semaphore_pool *p,
250fail_free_submem: 251fail_free_submem:
251 nvgpu_dma_free(pool_to_gk20a(p), &p->rw_mem); 252 nvgpu_dma_free(pool_to_gk20a(p), &p->rw_mem);
252fail_unmap: 253fail_unmap:
253 gk20a_gmmu_unmap(vm, 254 nvgpu_gmmu_unmap(vm, &p->sema_sea->sea_mem, p->gpu_va_ro);
254 p->sema_sea->sea_mem.gpu_va,
255 p->sema_sea->map_size,
256 gk20a_mem_flag_none);
257 gpu_sema_dbg(pool_to_gk20a(p), 255 gpu_sema_dbg(pool_to_gk20a(p),
258 " %d: Failed to map semaphore pool!", p->page_idx); 256 " %d: Failed to map semaphore pool!", p->page_idx);
259fail_unlock: 257fail_unlock:
@@ -269,14 +267,8 @@ void nvgpu_semaphore_pool_unmap(struct nvgpu_semaphore_pool *p,
269{ 267{
270 __lock_sema_sea(p->sema_sea); 268 __lock_sema_sea(p->sema_sea);
271 269
272 gk20a_gmmu_unmap(vm, 270 nvgpu_gmmu_unmap(vm, &p->sema_sea->sea_mem, p->gpu_va_ro);
273 p->sema_sea->sea_mem.gpu_va, 271 nvgpu_gmmu_unmap(vm, &p->rw_mem, p->gpu_va);
274 p->sema_sea->sea_mem.size,
275 gk20a_mem_flag_none);
276 gk20a_gmmu_unmap(vm,
277 p->rw_mem.gpu_va,
278 p->rw_mem.size,
279 gk20a_mem_flag_none);
280 nvgpu_dma_free(pool_to_gk20a(p), &p->rw_mem); 272 nvgpu_dma_free(pool_to_gk20a(p), &p->rw_mem);
281 273
282 p->gpu_va = 0; 274 p->gpu_va = 0;