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

From: Dave Stevenson
Date: Mon Dec 09 2024 - 09:58:24 EST


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
#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>