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

Dave Stevenson posted 1 patch 1 year ago
drivers/media/i2c/ov9282.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] media: i2c: ov9282: Correct the exposure offset
Posted by Dave Stevenson 1 year ago
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@raspberrypi.com>
---
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
 #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@raspberrypi.com>
Re: [PATCH] media: i2c: ov9282: Correct the exposure offset
Posted by Kieran Bingham 1 year ago
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@raspberrypi.com>
> ---
> 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@ideasonboard.com>

>  #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@raspberrypi.com>
>