Hi Jacopo, Thank you for the patch. On Mon, Jan 31, 2022 at 03:32:28PM +0100, Jacopo Mondi wrote: > Associate the bit depth to each format supported by the sensor. > > The bpp will be used to calculate the line length. > > Signed-off-by: Jacopo Mondi <jacopo@xxxxxxxxxx> > --- > drivers/media/i2c/ov5640.c | 39 ++++++++++++++++++++++++-------------- > 1 file changed, 25 insertions(+), 14 deletions(-) > > diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c > index fc3e4f61709c..8322b99eb2b7 100644 > --- a/drivers/media/i2c/ov5640.c > +++ b/drivers/media/i2c/ov5640.c > @@ -165,24 +165,35 @@ enum ov5640_format_mux { > OV5640_FMT_MUX_RAW_CIP, > }; > > -struct ov5640_pixfmt { > +static const struct ov5640_pixfmt { > u32 code; > u32 colorspace; > + u8 bpp; > +} ov5640_formats[] = { > + { MEDIA_BUS_FMT_JPEG_1X8, V4L2_COLORSPACE_JPEG, 16}, s/}/ }/ and possibly { .code = MEDIA_BUS_FMT_JPEG_1X8, .colorspace = V4L2_COLORSPACE_JPEG, .bpp = 16, }, One day we'll have centralized data... Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > + { MEDIA_BUS_FMT_UYVY8_2X8, V4L2_COLORSPACE_SRGB, 16}, > + { MEDIA_BUS_FMT_UYVY8_1X16, V4L2_COLORSPACE_SRGB, 16}, > + { MEDIA_BUS_FMT_YUYV8_2X8, V4L2_COLORSPACE_SRGB, 16}, > + { MEDIA_BUS_FMT_YUYV8_1X16, V4L2_COLORSPACE_SRGB, 16,}, > + { MEDIA_BUS_FMT_RGB565_2X8_LE, V4L2_COLORSPACE_SRGB, 16}, > + { MEDIA_BUS_FMT_RGB565_2X8_BE, V4L2_COLORSPACE_SRGB, 16}, > + { MEDIA_BUS_FMT_SBGGR8_1X8, V4L2_COLORSPACE_SRGB, 8}, > + { MEDIA_BUS_FMT_SGBRG8_1X8, V4L2_COLORSPACE_SRGB, 8}, > + { MEDIA_BUS_FMT_SGRBG8_1X8, V4L2_COLORSPACE_SRGB, 8}, > + { MEDIA_BUS_FMT_SRGGB8_1X8, V4L2_COLORSPACE_SRGB, 8}, > }; > > -static const struct ov5640_pixfmt ov5640_formats[] = { > - { MEDIA_BUS_FMT_JPEG_1X8, V4L2_COLORSPACE_JPEG, }, > - { MEDIA_BUS_FMT_UYVY8_2X8, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_UYVY8_1X16, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_YUYV8_2X8, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_YUYV8_1X16, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_RGB565_2X8_LE, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_RGB565_2X8_BE, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_SBGGR8_1X8, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_SGBRG8_1X8, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_SGRBG8_1X8, V4L2_COLORSPACE_SRGB, }, > - { MEDIA_BUS_FMT_SRGGB8_1X8, V4L2_COLORSPACE_SRGB, }, > -}; > +static u32 ov5640_code_to_bpp(u32 code) > +{ > + unsigned int i; > + > + for (i = 0; i < ARRAY_SIZE(ov5640_formats); ++i) { > + if (ov5640_formats[i].code == code) > + return ov5640_formats[i].bpp; > + } > + > + return 0; > +} > > /* > * FIXME: remove this when a subdev API becomes available -- Regards, Laurent Pinchart