mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
gpu: nvgpu: simplify gmmu unmap calls
Introduce nvgpu_gmmu_unmap_addr() to unmap a nvgpu_mem that was mapped at some other address than mem.gpu_va, which can be the case for buffers that are shared across different address spaces. Delete the address parameter from nvgpu_gmmu_unmap(), as the common case is to store the address to mem.gpu_va when mapping the buffer. Modify some instances of consecutive unmap + free calls to call just nvgpu_dma_unmap_free(). Change-Id: Iecd7c9aa41d04e9f48e055f6bc0c9227cd759c69 Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2601787 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
9bdb8f1a10
commit
44422db851
@@ -210,7 +210,7 @@ done:
|
||||
|
||||
if (nvgpu_mem_is_valid(&g->syncpt_mem) &&
|
||||
ch->vm->syncpt_ro_map_gpu_va != 0ULL) {
|
||||
nvgpu_gmmu_unmap(ch->vm, &g->syncpt_mem,
|
||||
nvgpu_gmmu_unmap_addr(ch->vm, &g->syncpt_mem,
|
||||
ch->vm->syncpt_ro_map_gpu_va);
|
||||
ch->vm->syncpt_ro_map_gpu_va = 0ULL;
|
||||
}
|
||||
@@ -262,7 +262,7 @@ done:
|
||||
|
||||
if (nvgpu_mem_is_valid(&g->syncpt_mem) &&
|
||||
ch->vm->syncpt_ro_map_gpu_va != 0ULL) {
|
||||
nvgpu_gmmu_unmap(ch->vm, &g->syncpt_mem,
|
||||
nvgpu_gmmu_unmap_addr(ch->vm, &g->syncpt_mem,
|
||||
ch->vm->syncpt_ro_map_gpu_va);
|
||||
ch->vm->syncpt_ro_map_gpu_va = 0ULL;
|
||||
}
|
||||
@@ -305,7 +305,7 @@ done:
|
||||
|
||||
if (nvgpu_mem_is_valid(&g->syncpt_mem) &&
|
||||
ch->vm->syncpt_ro_map_gpu_va != 0ULL) {
|
||||
nvgpu_gmmu_unmap(ch->vm, &g->syncpt_mem,
|
||||
nvgpu_gmmu_unmap_addr(ch->vm, &g->syncpt_mem,
|
||||
ch->vm->syncpt_ro_map_gpu_va);
|
||||
ch->vm->syncpt_ro_map_gpu_va = 0ULL;
|
||||
}
|
||||
@@ -326,7 +326,7 @@ static void syncpt_ro_map_gpu_va_clear(struct gk20a *g, struct nvgpu_channel *ch
|
||||
{
|
||||
if (nvgpu_mem_is_valid(&g->syncpt_mem) &&
|
||||
ch->vm->syncpt_ro_map_gpu_va != 0ULL) {
|
||||
nvgpu_gmmu_unmap(ch->vm, &g->syncpt_mem,
|
||||
nvgpu_gmmu_unmap_addr(ch->vm, &g->syncpt_mem,
|
||||
ch->vm->syncpt_ro_map_gpu_va);
|
||||
ch->vm->syncpt_ro_map_gpu_va = 0ULL;
|
||||
} else if (ch->vm->syncpt_ro_map_gpu_va != 0ULL) {
|
||||
|
||||
Reference in New Issue
Block a user