[PATCH v5 4/6] media: qcom: camss: vfe: Remove unused frame-skip
From: Hitesh Patel
Date: Mon Sep 28 2026 - 08:26:07 EST
From: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
The frame_skip logic originates from older VFE implementations where it
was used to program the hardware frame-drop mechanism during stream
startup. The Gen2 path neither consumes the returned value nor programs
any corresponding frame-drop configuration, making the sensor lookup and
g_skip_frames() useless.
Remove the unused code and associated local variables.
Furthermore, startup frame filtering is generally better handled in
userspace camera stacks, which can discard unstable frames as needed
without relying on driver-specific mechanisms.
Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
Signed-off-by: Hitesh Patel <hitesh@xxxxxxxxxxxxxx>
---
drivers/media/platform/qcom/camss/camss-vfe.c | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index d20cd4dfb9..9c1b1b85d9 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -507,22 +507,9 @@ int vfe_enable_output_v2(struct vfe_line *line)
struct vfe_device *vfe = to_vfe(line);
struct vfe_output *output = &line->output;
const struct vfe_hw_ops *ops = vfe->res->hw_ops;
- struct media_pad *sensor_pad;
unsigned long flags;
- unsigned int frame_skip = 0;
unsigned int i;
- sensor_pad = camss_find_sensor_pad(&line->subdev.entity);
- if (sensor_pad) {
- struct v4l2_subdev *subdev =
- media_entity_to_v4l2_subdev(sensor_pad->entity);
-
- v4l2_subdev_call(subdev, sensor, g_skip_frames, &frame_skip);
- /* Max frame skip is 29 frames */
- if (frame_skip > VFE_FRAME_DROP_VAL - 1)
- frame_skip = VFE_FRAME_DROP_VAL - 1;
- }
-
spin_lock_irqsave(&vfe->output_lock, flags);
ops->reg_update_clear(vfe, line->id);
--
2.43.0