From bbaf01590c1248640238aebca3ae9410ab8d224a Mon Sep 17 00:00:00 2001 From: Jinesh Parakh Date: Thu, 24 Mar 2022 11:44:34 +0530 Subject: [PATCH] gpu: nvgpu: Fix Logically dead code Coverity bugs Fixed following Coverity Defects: ioctl_clk_arb.c : Logically dead code gr_gp10b.c : Logically dead code vfe_var.c : Logically dead code grmgr_ga10b.c : Logically dead code vm_remap.c : Logically dead code falcon_debug.c : Logically dead code CID 1994001 CID 3008644 CID 9870823 CID 10062537 CID 10127915 CID 10128008 Bug 3460991 Signed-off-by: Jinesh Parakh Change-Id: I711d2ccb480328d8f0a4ba49e877612669f3d41f Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2686362 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-cert Reviewed-by: svc-mobile-misra Reviewed-by: Sagar Kamble Reviewed-by: Sachin Nikam GVS: Gerrit_Virtual_Submit --- .../gpu/nvgpu/common/falcon/falcon_debug.c | 10 ------- drivers/gpu/nvgpu/common/pmu/perf/vfe_var.c | 22 +++----------- drivers/gpu/nvgpu/hal/gr/gr/gr_gp10b.c | 4 +-- drivers/gpu/nvgpu/hal/grmgr/grmgr_ga10b.c | 30 +++++++------------ drivers/gpu/nvgpu/os/linux/ioctl_clk_arb.c | 3 -- drivers/gpu/nvgpu/os/linux/vm_remap.c | 3 -- 6 files changed, 16 insertions(+), 56 deletions(-) diff --git a/drivers/gpu/nvgpu/common/falcon/falcon_debug.c b/drivers/gpu/nvgpu/common/falcon/falcon_debug.c index c23c97911..44c3fc8ba 100644 --- a/drivers/gpu/nvgpu/common/falcon/falcon_debug.c +++ b/drivers/gpu/nvgpu/common/falcon/falcon_debug.c @@ -352,16 +352,6 @@ int nvgpu_falcon_dbg_buf_display(struct nvgpu_falcon *flcn) curr_data = &buffer_data[debug_buffer->read_offset]; } - if (curr_data == NULL) { - status = -EINVAL; - nvgpu_err(g, "Debug buffer - no data to print %d", status); - - if (tmp_buf != NULL) { - nvgpu_kfree(g, tmp_buf); - } - return status; - } - /* * if the flag is set to true print the riscv * buffer as error diff --git a/drivers/gpu/nvgpu/common/pmu/perf/vfe_var.c b/drivers/gpu/nvgpu/common/pmu/perf/vfe_var.c index 06b2423df..838520863 100644 --- a/drivers/gpu/nvgpu/common/pmu/perf/vfe_var.c +++ b/drivers/gpu/nvgpu/common/pmu/perf/vfe_var.c @@ -1205,24 +1205,10 @@ static int devinit_get_vfe_var_table(struct gk20a *g, VBIOS_VFE_3X_VAR_ENTRY_PAR0_SSFUSE_VALUE_SIGNED_INTEGER); var_data.single_sensed_fuse.vfield_info.fuse_val_default = var.param1; - if (szfmt >= VBIOS_VFE_3X_VAR_ENTRY_SIZE_19) { - var_data.single_sensed_fuse.vfield_info.hw_correction_scale = - var.param2; - var_data.single_sensed_fuse.vfield_info.hw_correction_offset = - (int)var.param3; - } else { - var_data.single_sensed_fuse.vfield_info.hw_correction_scale = - BIT32(12); - var_data.single_sensed_fuse.vfield_info.hw_correction_offset = - 0; - if ((var_data.single_sensed_fuse.vfield_info.v_field_id == - VFIELD_ID_STRAP_IDDQ) || - (var_data.single_sensed_fuse.vfield_info.v_field_id == - VFIELD_ID_STRAP_IDDQ_1)) { - var_data.single_sensed_fuse.vfield_info.hw_correction_scale = - 50U << 12U; - } - } + var_data.single_sensed_fuse.vfield_info.hw_correction_scale = + var.param2; + var_data.single_sensed_fuse.vfield_info.hw_correction_offset = + (int)var.param3; break; case VBIOS_VFE_3X_VAR_ENTRY_TYPE_DERIVED_PRODUCT: diff --git a/drivers/gpu/nvgpu/hal/gr/gr/gr_gp10b.c b/drivers/gpu/nvgpu/hal/gr/gr/gr_gp10b.c index f2ab0047b..d0064ae64 100644 --- a/drivers/gpu/nvgpu/hal/gr/gr/gr_gp10b.c +++ b/drivers/gpu/nvgpu/hal/gr/gr/gr_gp10b.c @@ -86,11 +86,11 @@ void gr_gp10b_set_bes_crop_debug4(struct gk20a *g, u32 data) nvgpu_log_fn(g, " "); val = gk20a_readl(g, gr_bes_crop_debug4_r()); - if ((data & NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_MAXVAL) != 0U) { + if ((data & 0x1U) == NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_MAXVAL) { val = set_field(val, gr_bes_crop_debug4_clamp_fp_blend_m(), gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f()); - } else if ((data & NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_INF) != 0U) { + } else if ((data & 0x1U) == NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_INF) { val = set_field(val, gr_bes_crop_debug4_clamp_fp_blend_m(), gr_bes_crop_debug4_clamp_fp_blend_to_inf_f()); diff --git a/drivers/gpu/nvgpu/hal/grmgr/grmgr_ga10b.c b/drivers/gpu/nvgpu/hal/grmgr/grmgr_ga10b.c index 32870e2d0..9bc8695ad 100644 --- a/drivers/gpu/nvgpu/hal/grmgr/grmgr_ga10b.c +++ b/drivers/gpu/nvgpu/hal/grmgr/grmgr_ga10b.c @@ -862,11 +862,9 @@ u32 ga10b_grmgr_get_allowed_swizzid_size(struct gk20a *g) int ga10b_grmgr_get_gpc_instance_gpcgrp_id(struct gk20a *g, u32 gpu_instance_id, u32 gr_syspipe_id, u32 *gpcgrp_id) { - u32 local_gpcgrp_id; - bool supported; - if ((gr_syspipe_id >= g->ops.grmgr.get_max_sys_pipes(g)) || - (gpu_instance_id >= smcarb_allowed_swizzid__size1_v()) || + if ((gpu_instance_id >= smcarb_allowed_swizzid__size1_v()) || + (gr_syspipe_id >= g->ops.grmgr.get_max_sys_pipes(g)) || (gpcgrp_id == NULL)) { nvgpu_err(g, "[Invalid_param] gr_syspipe_id[%u %u] gpu_instance_id[%u %u] " @@ -876,22 +874,14 @@ int ga10b_grmgr_get_gpc_instance_gpcgrp_id(struct gk20a *g, return -EINVAL; } - for (local_gpcgrp_id = 0U; local_gpcgrp_id < 2U; local_gpcgrp_id++) { - supported = GA10B_GRMGR_PSMCARB_ALLOWED_UGPU( - gpu_instance_id, local_gpcgrp_id); - if (supported) { - *gpcgrp_id = local_gpcgrp_id; - nvgpu_log(g, gpu_dbg_mig, - "Found [%u] gpcgrp id for gpu_instance_id[%u] " - "gr_syspipe_id[%u] ", - *gpcgrp_id, - gpu_instance_id, - gr_syspipe_id); - return 0; - } - } - - return -EINVAL; + *gpcgrp_id = 0U; + nvgpu_log(g, gpu_dbg_mig, + "Found [%u] gpcgrp id for gpu_instance_id[%u] " + "gr_syspipe_id[%u] ", + *gpcgrp_id, + gpu_instance_id, + gr_syspipe_id); + return 0; } int ga10b_grmgr_remove_gr_manager(struct gk20a *g) diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_clk_arb.c b/drivers/gpu/nvgpu/os/linux/ioctl_clk_arb.c index 5796216d7..749091205 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_clk_arb.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_clk_arb.c @@ -282,9 +282,6 @@ static long nvgpu_clk_arb_ioctl_event_dev(struct file *filp, unsigned int cmd, err = -ENOTTY; } - if ((err == 0) && (_IOC_DIR(cmd) & _IOC_READ)) - err = copy_to_user((void __user *) arg, buf, _IOC_SIZE(cmd)); - return err; } diff --git a/drivers/gpu/nvgpu/os/linux/vm_remap.c b/drivers/gpu/nvgpu/os/linux/vm_remap.c index 25f891aba..f34460bc3 100644 --- a/drivers/gpu/nvgpu/os/linux/vm_remap.c +++ b/drivers/gpu/nvgpu/os/linux/vm_remap.c @@ -105,9 +105,6 @@ int nvgpu_vm_remap_os_buf_get(struct vm_gk20a *vm, return 0; clean_up: - if (nv_sgt != NULL) { - nvgpu_sgt_free(g, nv_sgt); - } if (IS_ERR(sgt)) { nvgpu_mm_unpin(dev, dmabuf, attachment, sgt); }