]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
media: atomisp: Propagate v4l2_mbus_framefmt.field to CSI port sink pad
authorHans de Goede <hdegoede@redhat.com>
Fri, 12 Apr 2024 14:27:53 +0000 (15:27 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 26 Apr 2024 09:53:15 +0000 (10:53 +0100)
Most sensor drivers report V4L2_FIELD_NONE as v4l2_mbus_framefmt.field
value. Propagate this to the v4l2_mbus_framefmt for the CSI port to pass
the link validation done by media_pipeline_start().

Keep the v4l2_mbus_framefmt.field for the source pad of the CSI port
as V4L2_FIELD_ANY to match the ISP sink pad.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_csi2.c

index 89118438a3b679ea803bec072df372d1332b8eeb..e939a09a279bbfe5ef4587af804f0ad707b52aeb 100644 (file)
@@ -107,9 +107,12 @@ int atomisp_csi2_set_ffmt(struct v4l2_subdev *sd,
                actual_ffmt->height = clamp_t(u32, ffmt->height,
                                              ATOM_ISP_MIN_HEIGHT,
                                              ATOM_ISP_MAX_HEIGHT);
+               actual_ffmt->field = ffmt->field;
 
                tmp_ffmt = *ffmt = *actual_ffmt;
 
+               /* Always use V4L2_FIELD_ANY to match the ISP sink pad */
+               tmp_ffmt.field = V4L2_FIELD_ANY;
                return atomisp_csi2_set_ffmt(sd, sd_state, which,
                                             CSI2_PAD_SOURCE,
                                             &tmp_ffmt);