gpu: nvgpu: Fix Bad bit shift Coverity issues

Fixed following Coverity Defects:
ioctl_as.c : Bad bit shift operation
mc_tu104.c : Bad bit shift operation
vm.c : Bad bit shift operation
vm_remap.c : Bad bit shift operation

A new linux header file for ilog2 is created.
The files which used the old ilog2 function
have been changed to use the new nvgpu_ilog2
function.

CID 9847922
CID 9869507
CID 9859508
CID 10112314
CID 10127813
CID 10127899
CID 10128004

Signed-off-by: Jinesh Parakh <jparakh@nvidia.com>
Change-Id: Ia201eea7cc426c3d6581e1e5ae3b882dbab3b490
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2700994
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Jinesh Parakh
2022-04-21 19:42:23 +05:30
committed by mobile promotions
parent 167e7b0256
commit 622fe70dab
16 changed files with 153 additions and 37 deletions

View File

@@ -1272,11 +1272,16 @@ static int nvgpu_vm_do_map(struct vm_gk20a *vm,
* Figure out the kind and ctag offset for the GMMU page tables
*/
if (binfo_ptr->compr_kind != NVGPU_KIND_INVALID && ctag_offset != 0U) {
u64 compression_page_size = g->ops.fb.compression_page_size(g);
nvgpu_assert(compression_page_size > 0ULL);
/*
* Adjust the ctag_offset as per the buffer map offset
*/
ctag_offset += (u32)(phys_offset >>
ilog2(g->ops.fb.compression_page_size(g)));
nvgpu_ilog2(compression_page_size));
nvgpu_assert((binfo_ptr->compr_kind >= 0) &&
(binfo_ptr->compr_kind <= (s16)U8_MAX));
pte_kind = (u8)binfo_ptr->compr_kind;