Re: [PATCH] media: i2c: ov9282: Correct the exposure offset

From: Kieran Bingham
Date: Mon Dec 09 2024 - 10:05:27 EST


Quoting Dave Stevenson (2024-12-09 14:55:45)
> The datasheet lists that "Maximum exposure time is frame
> length -25 row periods, where frame length is set by
> registers {0x380E, 0x380F}".
> However this driver had OV9282_EXPOSURE_OFFSET set to 12
> which allowed that restriction to be violated, and would
> result in very under-exposed images.
>
> Correct the offset.
>
> Fixes: 14ea315bbeb7 ("media: i2c: Add ov9282 camera sensor driver")
> Signed-off-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
> ---
> This was picked up by one of our users noting that images were
> going dark for captures through libcamera. libcamera was resetting
> vblank and hblank to minimums for the capture, and that put us in
> the situation where it broke the datasheet requirement for
> exposure being at least 25 lines shorter than the frame length.
> ---
> drivers/media/i2c/ov9282.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
> index 9f52af6f047f..87e5d7ce5a47 100644
> --- a/drivers/media/i2c/ov9282.c
> +++ b/drivers/media/i2c/ov9282.c
> @@ -40,7 +40,7 @@
> /* Exposure control */
> #define OV9282_REG_EXPOSURE 0x3500
> #define OV9282_EXPOSURE_MIN 1
> -#define OV9282_EXPOSURE_OFFSET 12
> +#define OV9282_EXPOSURE_OFFSET 25

As I've looked this up in the datasheet:

Reviewed-by: Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx>

> #define OV9282_EXPOSURE_STEP 1
> #define OV9282_EXPOSURE_DEFAULT 0x0282
>
>
> ---
> base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
> change-id: 20241209-media-ov9282-fix-a1ec012f5272
>
> Best regards,
> --
> Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
>