From cc3b0467dbff3282bf40dde83e052299fdb4769e Mon Sep 17 00:00:00 2001 From: Antony Clince Alex Date: Fri, 31 May 2019 19:30:36 +0530 Subject: [PATCH] gpu: nvgpu: add missing type cast's to safe_ops.h Add the following type cast operations. - nvgpu_safe_cast_u64_to_s32 - nvgpu_safe_cast_u64_to_s64 - nvgpu_safe_cast_s64_to_s32 JIRA NVGPU-3485 Change-Id: I454bace8d65f6c0e65adfc722eae66fa55c6dc8f Signed-off-by: Antony Clince Alex Reviewed-on: https://git-master.nvidia.com/r/2128466 Reviewed-by: Rajesh Devaraj GVS: Gerrit_Virtual_Submit Reviewed-by: Vaibhav Kachore Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/safe_ops.h | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/gpu/nvgpu/include/nvgpu/safe_ops.h b/drivers/gpu/nvgpu/include/nvgpu/safe_ops.h index e333aa9d0..ef2782186 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/safe_ops.h +++ b/drivers/gpu/nvgpu/include/nvgpu/safe_ops.h @@ -199,4 +199,30 @@ static inline s32 nvgpu_safe_cast_u32_to_s32(u32 ui_a) } } +static inline s32 nvgpu_safe_cast_u64_to_s32(u64 ul_a) +{ + if (ul_a > INT_MAX) { + BUG(); + } else { + return (s32)ul_a; + } +} + +static inline s64 nvgpu_safe_cast_u64_to_s64(u64 ul_a) +{ + if (ul_a > LONG_MAX) { + BUG(); + } else { + return (s64)ul_a; + } +} + +static inline s32 nvgpu_safe_cast_s64_to_s32(s64 sl_a) +{ + if (sl_a > INT_MAX || sl_a < INT_MIN) { + BUG(); + } else { + return (s32)sl_a; + } +} #endif /* NVGPU_SAFE_OPS_H */