mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: fix MISRA 10.3 violation in hal.gr.config unit
Below MISRA 10.3 violation is reported in hal.gr.config unit Error: MISRA C-2012 Rule 10.3: nvgpu/drivers/gpu/nvgpu/hal/gr/config/gr_config_gv100.c:150: misra_violation: Implicit conversion of "(int)average_tpcs - scale_factor * num_tpc_gpc[gpc_id]" from essential type "unsigned 32-bit int" to different or narrower essential type "signed 32-bit int". Fix this by converting "diff" variable to u32 and checking for greater value before doing subtraction operation Jira NVGPU-3406 Change-Id: I27695db5bd3a4f20db878888dc87dc78ff04888a Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2115590 GVS: Gerrit_Virtual_Submit Reviewed-by: Philip Elcan <pelcan@nvidia.com> Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
45aca10a64
commit
fa439d34d1
@@ -53,7 +53,7 @@ static int gr_gv100_scg_estimate_perf(struct gk20a *g,
|
||||
u32 scg_world_perf;
|
||||
u32 gpc_id;
|
||||
u32 pes_id;
|
||||
int diff;
|
||||
u32 diff;
|
||||
bool is_tpc_removed_gpc = false;
|
||||
bool is_tpc_removed_pes = false;
|
||||
u32 max_tpc_gpc = 0U;
|
||||
@@ -147,11 +147,14 @@ static int gr_gv100_scg_estimate_perf(struct gk20a *g,
|
||||
for (gpc_id =0;
|
||||
gpc_id < nvgpu_gr_config_get_gpc_count(gr_config);
|
||||
gpc_id++) {
|
||||
diff = average_tpcs - scale_factor * num_tpc_gpc[gpc_id];
|
||||
if (diff < 0) {
|
||||
diff = -diff;
|
||||
if (average_tpcs > (scale_factor * num_tpc_gpc[gpc_id])) {
|
||||
diff = average_tpcs -
|
||||
(scale_factor * num_tpc_gpc[gpc_id]);
|
||||
} else {
|
||||
diff = (scale_factor * num_tpc_gpc[gpc_id]) -
|
||||
average_tpcs;
|
||||
}
|
||||
deviation += U32(diff);
|
||||
deviation += diff;
|
||||
}
|
||||
|
||||
deviation /= nvgpu_gr_config_get_gpc_count(gr_config);
|
||||
|
||||
Reference in New Issue
Block a user