lkml.org 
[lkml]   [2021]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 050/109] media: imx258: Limit the max analogue gain to 480
    Date
    From: Umang Jain <umang.jain@ideasonboard.com>

    [ Upstream commit f809665ee75fff3f4ea8907f406a66d380aeb184 ]

    The range for analog gain mentioned in the datasheet is [0, 480].
    The real gain formula mentioned in the datasheet is:

    Gain = 512 / (512 – X)

    Hence, values larger than 511 clearly makes no sense. The gain
    register field is also documented to be of 9-bits in the datasheet.

    Certainly, it is enough to infer that, the kernel driver currently
    advertises an arbitrary analog gain max. Fix it by rectifying the
    value as per the data sheet i.e. 480.

    Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/i2c/imx258.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/media/i2c/imx258.c b/drivers/media/i2c/imx258.c
    index 5f5e50c01b12..ffaa4a91e571 100644
    --- a/drivers/media/i2c/imx258.c
    +++ b/drivers/media/i2c/imx258.c
    @@ -46,7 +46,7 @@
    /* Analog gain control */
    #define IMX258_REG_ANALOG_GAIN 0x0204
    #define IMX258_ANA_GAIN_MIN 0
    -#define IMX258_ANA_GAIN_MAX 0x1fff
    +#define IMX258_ANA_GAIN_MAX 480
    #define IMX258_ANA_GAIN_STEP 1
    #define IMX258_ANA_GAIN_DEFAULT 0x0

    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-09 15:07    [W:3.295 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site