On Mon Jun 16 15:29:18 2025 +0000, Ricardo Ribalda wrote: > Fps bigger than 0.000232829 fps, this fits in a 32 bit us_per_frame. > There is no need to do a 64 bit division here. > Also, the driver only works with whole fps. > > Found by cocci: > drivers/media/platform/qcom/venus/vdec.c:488:1-7: WARNING: do_div() does a > 64-by-32 division, please consider using div64_u64 instead. > > Reviewed-by: Vikash Garodia <quic_vgaro...@quicinc.com> > Reviewed-by: Bryan O'Donoghue <bryan.odonog...@linaro.org> > Tested-by: Bryan O'Donoghue <bryan.odonog...@linaro.org> # qrb5615-rb5 > Signed-off-by: Ricardo Ribalda <riba...@chromium.org> > Signed-off-by: Bryan O'Donoghue <b...@kernel.org> > Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>
Patch committed. Thanks, Hans Verkuil drivers/media/platform/qcom/venus/vdec.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index fca27be61f4b..29b0d6a5303d 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -482,8 +482,7 @@ static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a) do_div(us_per_frame, timeperframe->denominator); us_per_frame = clamp(us_per_frame, 1, USEC_PER_SEC); - fps = (u64)USEC_PER_SEC; - do_div(fps, us_per_frame); + fps = USEC_PER_SEC / (u32)us_per_frame; fps = min(VENUS_MAX_FPS, fps); inst->fps = fps;