diff --git a/drivers/gpu/nvgpu/common/mm/vm.c b/drivers/gpu/nvgpu/common/mm/vm.c index fc994bdf6..38d2d2622 100644 --- a/drivers/gpu/nvgpu/common/mm/vm.c +++ b/drivers/gpu/nvgpu/common/mm/vm.c @@ -276,7 +276,7 @@ static int nvgpu_init_sema_pool(struct vm_gk20a *vm) nvgpu_safe_sub_u64(vm->va_limit, mm->channel.kernel_size), 512U * PAGE_SIZE, - (u32)SZ_4K); + nvgpu_safe_cast_u64_to_u32(SZ_4K)); if (nvgpu_semaphore_sea_get_gpu_va(sema_sea) == 0ULL) { nvgpu_free(&vm->kernel, nvgpu_semaphore_sea_get_gpu_va(sema_sea)); @@ -336,9 +336,11 @@ int nvgpu_vm_do_init(struct mm_gk20a *mm, vm->mm = mm; - vm->gmmu_page_sizes[GMMU_PAGE_SIZE_SMALL] = (u32)SZ_4K; + vm->gmmu_page_sizes[GMMU_PAGE_SIZE_SMALL] = + nvgpu_safe_cast_u64_to_u32(SZ_4K); vm->gmmu_page_sizes[GMMU_PAGE_SIZE_BIG] = big_page_size; - vm->gmmu_page_sizes[GMMU_PAGE_SIZE_KERNEL] = (u32)SZ_4K; + vm->gmmu_page_sizes[GMMU_PAGE_SIZE_KERNEL] = + nvgpu_safe_cast_u64_to_u32(SZ_4K); /* Set up vma pointers. */ vm->vma[GMMU_PAGE_SIZE_SMALL] = &vm->user; @@ -921,9 +923,11 @@ int nvgpu_vm_map(struct vm_gk20a *vm, binfo.flags = flags; binfo.size = nvgpu_os_buf_get_size(os_buf); - binfo.compr_kind = - (vm->enable_ctag && compr_kind != NVGPU_KIND_INVALID ? - compr_kind : NVGPU_KIND_INVALID); + if (vm->enable_ctag && compr_kind != NVGPU_KIND_INVALID) { + binfo.compr_kind = compr_kind; + } else { + binfo.compr_kind = NVGPU_KIND_INVALID; + } binfo.incompr_kind = incompr_kind; if (compr_kind != NVGPU_KIND_INVALID) { diff --git a/drivers/gpu/nvgpu/include/nvgpu/vm.h b/drivers/gpu/nvgpu/include/nvgpu/vm.h index f5fb86b10..f2d2fdecb 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/vm.h +++ b/drivers/gpu/nvgpu/include/nvgpu/vm.h @@ -219,7 +219,7 @@ struct vm_gk20a { #define NVGPU_VM_MAP_L3_ALLOC BIT32(5) #define NVGPU_VM_MAP_PLATFORM_ATOMIC BIT32(6) -#define NVGPU_KIND_INVALID -1 +#define NVGPU_KIND_INVALID S16(-1) void nvgpu_vm_get(struct vm_gk20a *vm); void nvgpu_vm_put(struct vm_gk20a *vm);