From 8baa7b5eaab74282328b2d8ace84261bdab73acd Mon Sep 17 00:00:00 2001 From: Zhenke Fan Date: Tue, 29 Dec 2020 16:51:28 +0800 Subject: [PATCH] media: i2c: sc2310: fix bug for gain function error Signed-off-by: Zhenke Fan Change-Id: I839c0434eda11f66484a9b617cd1c5c346b3a204 --- drivers/media/i2c/sc2310.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/sc2310.c b/drivers/media/i2c/sc2310.c index f30bb282f323..96ec3324b9cd 100644 --- a/drivers/media/i2c/sc2310.c +++ b/drivers/media/i2c/sc2310.c @@ -81,7 +81,7 @@ #define SC2310_SF_REG_DGAIN_FINE 0x3e11 #define SC2310_GAIN_MIN 0x40 -#define SC2310_GAIN_MAX 0x8000 +#define SC2310_GAIN_MAX (44 * 32 * 64) #define SC2310_GAIN_STEP 1 #define SC2310_GAIN_DEFAULT 0x40 @@ -919,11 +919,11 @@ static void sc2310_get_gain_reg(u32 val, u32 *again_reg, u32 *again_fine_reg, u32 again = 0; u32 dgain = 0; - if (val <= 1024) { + if (val <= 2764) { again = val; dgain = 128; } else { - again = 1024; + again = 2764; dgain = val * 128 / again; }