mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/2] media: Fix CI warnings for 6.19
@ 2025-12-23 10:02 Ricardo Ribalda
  2025-12-23 10:02 ` [PATCH v3 1/2] media: iris: Document difference in size during allocation Ricardo Ribalda
  2025-12-23 10:02 ` [PATCH v3 2/2] media: iris: Fix fps calculation Ricardo Ribalda
  0 siblings, 2 replies; 4+ messages in thread
From: Ricardo Ribalda @ 2025-12-23 10:02 UTC (permalink / raw)
  To: Keke Li, Jacopo Mondi, Daniel Scally, Hans Verkuil,
	Laurent Pinchart, Vikash Garodia, Dikshita Agarwal,
	Abhinav Kumar, Bryan O'Donoghue, Mauro Carvalho Chehab
  Cc: Sakari Ailus, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

New kernel version, new warnings.

This series only introduces a new patch:
media: iris: Document difference in size during allocation

The other one has been already sent to linux-media or linux-next ML,
but they have not found their way into the tree.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Changes in v3:
- Fix fps calculation (Thanks Dikshita)
- Link to v2: https://lore.kernel.org/r/20251216-warnings-6-19-v2-0-12075e3dece7@chromium.org

Changes in v2:
- Remove already-landed patches
- Use ->inst in Document difference (Thanks Laurent)
- Simplify division (Thanks Dimitry)
- Link to v1: https://lore.kernel.org/r/20251203-warnings-6-19-v1-0-25308e136bca@chromium.org

---
Ricardo Ribalda (2):
      media: iris: Document difference in size during allocation
      media: iris: Fix fps calculation

 drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c |  7 ++++++-
 drivers/media/platform/qcom/iris/iris_venc.c             | 15 +++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)
---
base-commit: b70886ff5833cf499e77af77d2324ce8f68b60ce
change-id: 20251202-warnings-6-19-960d9b686cff

Best regards,
-- 
Ricardo Ribalda <ribalda@chromium.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3 1/2] media: iris: Document difference in size during allocation
  2025-12-23 10:02 [PATCH v3 0/2] media: Fix CI warnings for 6.19 Ricardo Ribalda
@ 2025-12-23 10:02 ` Ricardo Ribalda
  2026-01-14 22:20   ` Bryan O'Donoghue
  2025-12-23 10:02 ` [PATCH v3 2/2] media: iris: Fix fps calculation Ricardo Ribalda
  1 sibling, 1 reply; 4+ messages in thread
From: Ricardo Ribalda @ 2025-12-23 10:02 UTC (permalink / raw)
  To: Keke Li, Jacopo Mondi, Daniel Scally, Hans Verkuil,
	Laurent Pinchart, Vikash Garodia, Dikshita Agarwal,
	Abhinav Kumar, Bryan O'Donoghue, Mauro Carvalho Chehab
  Cc: Sakari Ailus, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

As we get ready for kzalloc checking for invalid sizes, let's add
documentation for the cases where the size is different but valid.

This patch fixes this cocci warning:
./platform/qcom/iris/iris_hfi_gen2_command.c:1215:9-25: WARNING: casting value returned by memory allocation function to (struct iris_inst *) is useless.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
index f9129553209922fda548ca320494ae6ae797854c..c120ea3594fb5d0f40d6b9a7c67ffc28c42109f0 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
@@ -1212,5 +1212,10 @@ void iris_hfi_gen2_command_ops_init(struct iris_core *core)
 
 struct iris_inst *iris_hfi_gen2_get_instance(void)
 {
-	return (struct iris_inst *)kzalloc(sizeof(struct iris_inst_hfi_gen2), GFP_KERNEL);
+	struct iris_inst_hfi_gen2 *out;
+
+	/* The allocation is intentionally larger than struct iris_inst. */
+	out = kzalloc(sizeof(*out), GFP_KERNEL);
+
+	return &out->inst;
 }

-- 
2.52.0.358.g0dd7633a29-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3 2/2] media: iris: Fix fps calculation
  2025-12-23 10:02 [PATCH v3 0/2] media: Fix CI warnings for 6.19 Ricardo Ribalda
  2025-12-23 10:02 ` [PATCH v3 1/2] media: iris: Document difference in size during allocation Ricardo Ribalda
@ 2025-12-23 10:02 ` Ricardo Ribalda
  1 sibling, 0 replies; 4+ messages in thread
From: Ricardo Ribalda @ 2025-12-23 10:02 UTC (permalink / raw)
  To: Keke Li, Jacopo Mondi, Daniel Scally, Hans Verkuil,
	Laurent Pinchart, Vikash Garodia, Dikshita Agarwal,
	Abhinav Kumar, Bryan O'Donoghue, Mauro Carvalho Chehab
  Cc: Sakari Ailus, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

iris_venc_s_param() uses do_div to divide two 64 bits operators, this is
wrong. Luckily for us, both of the operators fit in 32 bits, so we can use
a normal division.

Now that we are at it, mark the fps smaller than 1 as invalid, the code
does not seem to handle them properly.

The following cocci warning is fixed with this patch:
./platform/qcom/iris/iris_venc.c:378:1-7: WARNING: do_div() does a 64-by-32 division, please consider using div64_u64 instead

Fixes: 4ff586ff28e3 ("media: iris: Add support for G/S_PARM for encoder video device")
Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/iris/iris_venc.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/media/platform/qcom/iris/iris_venc.c b/drivers/media/platform/qcom/iris/iris_venc.c
index 5830eba93c68b27fa9db87bac63a691eaca338d2..0ed5018f9fe3326f5bcc1678e854589c65e8a954 100644
--- a/drivers/media/platform/qcom/iris/iris_venc.c
+++ b/drivers/media/platform/qcom/iris/iris_venc.c
@@ -382,8 +382,7 @@ int iris_venc_s_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm)
 	struct v4l2_fract *timeperframe = NULL;
 	u32 default_rate = DEFAULT_FPS;
 	bool is_frame_rate = false;
-	u64 us_per_frame, fps;
-	u32 max_rate;
+	u32 fps, max_rate;
 
 	int ret = 0;
 
@@ -405,23 +404,19 @@ int iris_venc_s_param(struct iris_inst *inst, struct v4l2_streamparm *s_parm)
 			timeperframe->denominator = default_rate;
 	}
 
-	us_per_frame = timeperframe->numerator * (u64)USEC_PER_SEC;
-	do_div(us_per_frame, timeperframe->denominator);
-
-	if (!us_per_frame)
+	fps = timeperframe->denominator / timeperframe->numerator;
+	if (!fps)
 		return -EINVAL;
 
-	fps = (u64)USEC_PER_SEC;
-	do_div(fps, us_per_frame);
 	if (fps > max_rate) {
 		ret = -ENOMEM;
 		goto reset_rate;
 	}
 
 	if (is_frame_rate)
-		inst->frame_rate = (u32)fps;
+		inst->frame_rate = fps;
 	else
-		inst->operating_rate = (u32)fps;
+		inst->operating_rate = fps;
 
 	if ((s_parm->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && vb2_is_streaming(src_q)) ||
 	    (s_parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE && vb2_is_streaming(dst_q))) {

-- 
2.52.0.358.g0dd7633a29-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3 1/2] media: iris: Document difference in size during allocation
  2025-12-23 10:02 ` [PATCH v3 1/2] media: iris: Document difference in size during allocation Ricardo Ribalda
@ 2026-01-14 22:20   ` Bryan O'Donoghue
  0 siblings, 0 replies; 4+ messages in thread
From: Bryan O'Donoghue @ 2026-01-14 22:20 UTC (permalink / raw)
  To: Ricardo Ribalda, Keke Li, Jacopo Mondi, Daniel Scally,
	Hans Verkuil, Laurent Pinchart, Vikash Garodia, Dikshita Agarwal,
	Abhinav Kumar, Mauro Carvalho Chehab
  Cc: Sakari Ailus, linux-media, linux-kernel, linux-arm-msm

On 23/12/2025 10:02, Ricardo Ribalda wrote:
> As we get ready for kzalloc checking for invalid sizes, let's add
> documentation for the cases where the size is different but valid.
> 
> This patch fixes this cocci warning:
> ./platform/qcom/iris/iris_hfi_gen2_command.c:1215:9-25: WARNING: casting value returned by memory allocation function to (struct iris_inst *) is useless.
> 
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
> ---
>   drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
> index f9129553209922fda548ca320494ae6ae797854c..c120ea3594fb5d0f40d6b9a7c67ffc28c42109f0 100644
> --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
> +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
> @@ -1212,5 +1212,10 @@ void iris_hfi_gen2_command_ops_init(struct iris_core *core)
> 
>   struct iris_inst *iris_hfi_gen2_get_instance(void)
>   {
> -	return (struct iris_inst *)kzalloc(sizeof(struct iris_inst_hfi_gen2), GFP_KERNEL);
> +	struct iris_inst_hfi_gen2 *out;
> +
> +	/* The allocation is intentionally larger than struct iris_inst. */
> +	out = kzalloc(sizeof(*out), GFP_KERNEL);
> +
> +	return &out->inst;
>   }
> 
> --
> 2.52.0.358.g0dd7633a29-goog
> 
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

---
bod

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-01-14 22:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-23 10:02 [PATCH v3 0/2] media: Fix CI warnings for 6.19 Ricardo Ribalda
2025-12-23 10:02 ` [PATCH v3 1/2] media: iris: Document difference in size during allocation Ricardo Ribalda
2026-01-14 22:20   ` Bryan O'Donoghue
2025-12-23 10:02 ` [PATCH v3 2/2] media: iris: Fix fps calculation Ricardo Ribalda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®