Commit aaa743d8 authored by Dan Carpenter's avatar Dan Carpenter Committed by Rob Clark

drm/msm/adreno: fix cast in adreno_get_param()

These casts need to happen before the shift.  The only time it would
matter would be if "rev.core" is >= 128.  In that case the sign bit
would be extended and we do not want that.

Fixes: afab9d91 ("drm/msm/adreno: Expose speedbin to userspace")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarAkhil P Oommen <quic_akhilpo@quicinc.com>
Link: https://lore.kernel.org/r/20220307133105.GA17534@kiliSigned-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 9225b337
...@@ -244,10 +244,10 @@ int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx, ...@@ -244,10 +244,10 @@ int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
*value = !adreno_is_a650_family(adreno_gpu) ? 0x100000 : 0; *value = !adreno_is_a650_family(adreno_gpu) ? 0x100000 : 0;
return 0; return 0;
case MSM_PARAM_CHIP_ID: case MSM_PARAM_CHIP_ID:
*value = (uint64_t) adreno_gpu->rev.patchid | *value = (uint64_t)adreno_gpu->rev.patchid |
(uint64_t) (adreno_gpu->rev.minor << 8) | ((uint64_t)adreno_gpu->rev.minor << 8) |
(uint64_t) (adreno_gpu->rev.major << 16) | ((uint64_t)adreno_gpu->rev.major << 16) |
(uint64_t) (adreno_gpu->rev.core << 24); ((uint64_t)adreno_gpu->rev.core << 24);
if (!adreno_gpu->info->revn) if (!adreno_gpu->info->revn)
*value |= ((uint64_t) adreno_gpu->speedbin) << 32; *value |= ((uint64_t) adreno_gpu->speedbin) << 32;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment