[PATCH] media: qcom: camss: vfe: Remove unused frame-skip

From: Loic Poulain

Date: Mon Sep 28 2026 - 05:15:31 EST


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>
---
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 319d191589884777bced456867e5a2a4211a2770..9d125d005c3bbbbd56bf61307e3b85e7e0e0f885 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);

---
base-commit: f49a343b305c0b6c19a3b50c0bbf10bcd0e2e8fd
change-id: 20260928-camss-misc-fixes-c5e4fb77de9b

Best regards,
--
Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>