Hi Laurent On Tue, Feb 01, 2022 at 09:05:55PM +0200, Laurent Pinchart wrote: > Hi Jacopo, > > Thank you for the patch. > > On Mon, Jan 31, 2022 at 03:32:32PM +0100, Jacopo Mondi wrote: > > The per-mode register tables are not sorted by size. Fix it. > > > > Cosmetic change only. > > > > Signed-off-by: Jacopo Mondi <jacopo@xxxxxxxxxx> > > --- > > drivers/media/i2c/ov5640.c | 18 +++++++++--------- > > 1 file changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c > > index bd14e2ad22f6..d966cca78e92 100644 > > --- a/drivers/media/i2c/ov5640.c > > +++ b/drivers/media/i2c/ov5640.c > > @@ -428,7 +428,7 @@ static const struct reg_value ov5640_init_setting_30fps_VGA[] = { > > {0x3a1f, 0x14, 0, 0}, {0x3008, 0x02, 0, 0}, {0x3c00, 0x04, 0, 300}, > > }; > > > > -static const struct reg_value ov5640_setting_VGA_640_480[] = { > > +static const struct reg_value ov5640_setting_QQVGA_160_120[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > @@ -439,11 +439,10 @@ static const struct reg_value ov5640_setting_VGA_640_480[] = { > > {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0}, > > {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0}, > > {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, > > - {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0}, > > - {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, > > + {0x4407, 0x04, 0, 0}, {0x5001, 0xa3, 0, 0}, > > }; > > > > -static const struct reg_value ov5640_setting_XGA_1024_768[] = { > > +static const struct reg_value ov5640_setting_QCIF_176_144[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > @@ -473,7 +472,7 @@ static const struct reg_value ov5640_setting_QVGA_320_240[] = { > > {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, > > }; > > > > -static const struct reg_value ov5640_setting_QQVGA_160_120[] = { > > +static const struct reg_value ov5640_setting_VGA_640_480[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > @@ -484,10 +483,11 @@ static const struct reg_value ov5640_setting_QQVGA_160_120[] = { > > {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0}, > > {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0}, > > {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, > > - {0x4407, 0x04, 0, 0}, {0x5001, 0xa3, 0, 0}, > > + {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0}, > > + {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, > > }; > > > > -static const struct reg_value ov5640_setting_QCIF_176_144[] = { > > +static const struct reg_value ov5640_setting_NTSC_720_480[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > @@ -502,7 +502,7 @@ static const struct reg_value ov5640_setting_QCIF_176_144[] = { > > {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, > > }; > > > > -static const struct reg_value ov5640_setting_NTSC_720_480[] = { > > +static const struct reg_value ov5640_setting_PAL_720_576[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > @@ -517,7 +517,7 @@ static const struct reg_value ov5640_setting_NTSC_720_480[] = { > > {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, > > }; > > > > -static const struct reg_value ov5640_setting_PAL_720_576[] = { > > +static const struct reg_value ov5640_setting_XGA_1024_768[] = { > > {0x3c07, 0x08, 0, 0}, > > {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0}, > > {0x3814, 0x31, 0, 0}, > > Is it me, or does this mean that ov5640_setting_XGA_1024_768, > ov5640_setting_QCIF_176_144, ov5640_setting_PAL_720_576 and > ov5640_setting_NTSC_720_480 are all identical ? > Ah! Fun, I didn't realize! meaning I've not re-looked at this patch after I formatted it :D yes they are! There likely are more opportunities to remove more black magic tables then. I wonder in what the other modes differ now. I'll investigate, I wish we could remove the ov5640_setting_XXX tables completely, that would be great if we can almost fully control the sensor programming sequence and not rely on opaque tables! > -- > Regards, > > Laurent Pinchart