44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
From 4e0e8f87b81ed1dfa9876e0ce4492cc8f64c935a Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Fri, 26 Jun 2020 18:11:49 +0100
|
|
Subject: [PATCH] media: i2c: imx290: Switch set_hmax to use
|
|
imx290_write_buffered_reg
|
|
|
|
imx290_set_hmax was using two independent writes to set up hmax,
|
|
when all other multi-register writes were using imx290_write_buffered_reg
|
|
which claims the group hold first.
|
|
|
|
Switch imx290_set_hmax to using imx290_write_buffered_reg too.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
drivers/media/i2c/imx290.c | 15 ++++-----------
|
|
1 file changed, 4 insertions(+), 11 deletions(-)
|
|
|
|
--- a/drivers/media/i2c/imx290.c
|
|
+++ b/drivers/media/i2c/imx290.c
|
|
@@ -568,19 +568,12 @@ static int imx290_set_hmax(struct imx290
|
|
u32 hmax = val + imx290->current_mode->width;
|
|
int ret;
|
|
|
|
- ret = imx290_write_reg(imx290, IMX290_HMAX_LOW, (hmax & 0xff));
|
|
- if (ret) {
|
|
+ ret = imx290_write_buffered_reg(imx290, IMX290_HMAX_LOW, 2,
|
|
+ hmax);
|
|
+ if (ret)
|
|
dev_err(imx290->dev, "Error setting HMAX register\n");
|
|
- return ret;
|
|
- }
|
|
|
|
- ret = imx290_write_reg(imx290, IMX290_HMAX_HIGH, ((hmax >> 8) & 0xff));
|
|
- if (ret) {
|
|
- dev_err(imx290->dev, "Error setting HMAX register\n");
|
|
- return ret;
|
|
- }
|
|
-
|
|
- return 0;
|
|
+ return ret;
|
|
}
|
|
|
|
static int imx290_set_vmax(struct imx290 *imx290, u32 val)
|