On Mon Jun 16 15:29:17 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 with cocci: > drivers/media/platform/qcom/venus/venc.c:418: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> > 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/venc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c index b9ccee870c3d..c0a0ccdded80 100644 --- a/drivers/media/platform/qcom/venus/venc.c +++ b/drivers/media/platform/qcom/venus/venc.c @@ -412,8 +412,7 @@ static int venc_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->timeperframe = *timeperframe;