On Mon Jun 22 14:23:40 2026 +0300, Sakari Ailus wrote:
> The step for the LINE_LENGTH_A register on imx219 is 8. Take this into
> account in creating and modifying the horizontal blanking control. The
> minimum line length in pixels as well as the horizontal blanking values
> are already divisible by 8.
> 
> Fixes: cd5e2fd89923 ("media: i2c: imx219: make HBLANK r/w to allow longer 
> exposures")
> Cc: [email protected]
> Signed-off-by: Sakari Ailus <[email protected]>
> Reviewed-by: Dave Stevenson <[email protected]>
> Reviewed-by: Laurent Pinchart <[email protected]>

Patch committed.

Thanks,
Sakari Ailus

 drivers/media/i2c/imx219.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
index b1f29037af74..05717b1e3224 100644
--- a/drivers/media/i2c/imx219.c
+++ b/drivers/media/i2c/imx219.c
@@ -78,6 +78,7 @@
 #define IMX219_LLP_MIN                 0x0d78
 #define IMX219_BINNED_LLP_MIN          0x0de8
 #define IMX219_LLP_MAX                 0x7ff0
+#define IMX219_LLP_STEP                        8
 
 #define IMX219_REG_X_ADD_STA_A         CCI_REG16(0x0164)
 #define IMX219_REG_X_ADD_END_A         CCI_REG16(0x0166)
@@ -593,7 +594,8 @@ static int imx219_init_controls(struct imx219 *imx219)
        imx219->hblank = v4l2_ctrl_new_std(ctrl_hdlr, &imx219_ctrl_ops,
                                           V4L2_CID_HBLANK,
                                           IMX219_LLP_MIN - mode->width,
-                                          IMX219_LLP_MAX - mode->width, 1,
+                                          IMX219_LLP_MAX - mode->width,
+                                          IMX219_LLP_STEP,
                                           IMX219_LLP_MIN - mode->width);
        exposure_max = mode->fll_def - IMX219_EXPOSURE_OFFSET;
        exposure_def = (exposure_max < IMX219_EXPOSURE_DEFAULT) ?
@@ -935,7 +937,8 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
                                  IMX219_BINNED_LLP_MIN : IMX219_LLP_MIN;
                ret = __v4l2_ctrl_modify_range(imx219->hblank,
                                               llp_min - mode->width,
-                                              IMX219_LLP_MAX - mode->width, 1,
+                                              IMX219_LLP_MAX - mode->width,
+                                              IMX219_LLP_STEP,
                                               llp_min - mode->width);
                if (ret)
                        return ret;
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to