Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4151791rdb; Mon, 11 Dec 2023 10:11:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IEj6L/Cw0aReo/HQMQMAGg8qilCeuLoKk+IxjR8SnoRXRUpKmN0DHFfmZ62Ke9j50A5+Nzw X-Received: by 2002:a17:90b:1487:b0:288:67fb:8930 with SMTP id js7-20020a17090b148700b0028867fb8930mr3587065pjb.29.1702318318830; Mon, 11 Dec 2023 10:11:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702318318; cv=none; d=google.com; s=arc-20160816; b=Nb8Tgrdb+frxquBaG2OH0UkrKen435SMnYEh8wYkmWl2QI2Z0SoIgTr5tIb430Lmng dYVXNJlve8NUr12Z9E2G2w/iem+CgvujNPnxI0U2jP+OxaH1tqAD/RMn9tVF+t3zH7aM r2qNqy0vEtqIzVyMne+u3L7iMPN3gKHJ+3rVTGu7ZKUfPbvnM2nrSArPPGg59c4jobAT 49XVqmuWrRuxn1K3fgH8GThLqhiGRG7+CcEARscIsiFG25uFHx5wpuLo45OuJEUwtK1O zxCOVPT5EVLN4PtvjnxI/Z4GVmn3D0IUXR+lPPy38kcINf9df4Z5JabCH7SlC34hlty0 e1XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=C8ms8F7k0NXCfmlzwYez/s/zI46ReVdXdnxZQippwWo=; fh=jqTWrQ5bCH5SYcBidMUA87AoUf4V55L1bAZhntpQF1g=; b=nTxXozyC+lFzUHVI9Xf2oQVPyEWz2OV3KYE+nWFwN9fZ/mBjK9gahYKRDQY0+xSvbo 5vkn0KH2s0WKX9q3cebKI3LqSCKkB87GkHWOvC/zybMCisdcdJ/0g4tFzpOsX3HnHXzu Z81GW0/aVOdSncu8ybh6x0AOtLJe6TBhGqamqyatfcniNe6JtNUxatUN2S1f3ew0BQ2+ aEgAERGs2a8mB65kOJhNJaoOyGQl0stQ/P49a25NNrjAVBk7zAnefBZrNrxLUDJlIqdo 05pW4TSyE39/DT8h9LaTGdPkd6aYalWREikjzzr69HYkf/Wl87tIL/a7QGNkAzMIrivQ XTJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=isKlb227; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id lb11-20020a17090b4a4b00b00286ae823308si6436535pjb.73.2023.12.11.10.11.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 10:11:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=isKlb227; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 5181C8093D58; Mon, 11 Dec 2023 10:11:56 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345261AbjLKSLn (ORCPT + 99 others); Mon, 11 Dec 2023 13:11:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345257AbjLKSLm (ORCPT ); Mon, 11 Dec 2023 13:11:42 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A43FC95; Mon, 11 Dec 2023 10:11:48 -0800 (PST) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2964AC58; Mon, 11 Dec 2023 19:11:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1702318263; bh=iyuo6d2Ac26yQfhw96gW7KS6Y5R6Sy0Mk/XyqYwpjkY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=isKlb227rd7Xhnd9dr7S8UmV4whYM5BqcCv/PCHFyaDRkrqKy+Ob4kMKQpbbvmNjE JBWxpq4lwWnb3XKmRXgfbMKtCRTv3Jpa8Z1Cbvv7GVls4MoI37YYHf30/6dA+Ayoge vGMeZHdX/yL0KrCUzRqbKOqonhToUNMiGA0B4yI0= Date: Mon, 11 Dec 2023 20:11:54 +0200 From: Laurent Pinchart To: Mikhail Rudenko Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Sakari Ailus , Jacopo Mondi , Tommaso Merciai , Christophe JAILLET , Dave Stevenson , Mauro Carvalho Chehab Subject: Re: [PATCH 06/19] media: i2c: ov4689: Set gain in one 16 bit write Message-ID: <20231211181154.GE27535@pendragon.ideasonboard.com> References: <20231211175023.1680247-1-mike.rudenko@gmail.com> <20231211175023.1680247-7-mike.rudenko@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231211175023.1680247-7-mike.rudenko@gmail.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 11 Dec 2023 10:11:56 -0800 (PST) On Mon, Dec 11, 2023 at 08:50:09PM +0300, Mikhail Rudenko wrote: > According to the datasheet, bits 0-7 of the AEC LONG GAIN > register (0x3508) map to bits 8-15 of the gain value and no masking is > required. Thus set analogue gain in a single 16-bit write instead of > two 8-bit writes. > > Signed-off-by: Mikhail Rudenko You could squash it with patch 03/19. Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/ov4689.c | 15 ++------------- > 1 file changed, 2 insertions(+), 13 deletions(-) > > diff --git a/drivers/media/i2c/ov4689.c b/drivers/media/i2c/ov4689.c > index 42700ecfbe0e..5392f650960c 100644 > --- a/drivers/media/i2c/ov4689.c > +++ b/drivers/media/i2c/ov4689.c > @@ -32,11 +32,7 @@ > #define OV4689_EXPOSURE_STEP 1 > #define OV4689_VTS_MAX 0x7fff > > -#define OV4689_REG_GAIN_H CCI_REG8(0x3508) > -#define OV4689_REG_GAIN_L CCI_REG8(0x3509) > -#define OV4689_GAIN_H_MASK 0x07 > -#define OV4689_GAIN_H_SHIFT 8 > -#define OV4689_GAIN_L_MASK 0xff > +#define OV4689_REG_GAIN CCI_REG16(0x3508) > #define OV4689_GAIN_STEP 1 > #define OV4689_GAIN_DEFAULT 0x80 > > @@ -613,14 +609,7 @@ static int ov4689_set_ctrl(struct v4l2_ctrl *ctrl) > break; > case V4L2_CID_ANALOGUE_GAIN: > ret = ov4689_map_gain(ov4689, val, &sensor_gain); > - > - cci_write(regmap, OV4689_REG_GAIN_H, > - (sensor_gain >> OV4689_GAIN_H_SHIFT) & > - OV4689_GAIN_H_MASK, &ret); > - > - cci_write(regmap, OV4689_REG_GAIN_L, > - sensor_gain & OV4689_GAIN_L_MASK, > - &ret); > + cci_write(regmap, OV4689_REG_GAIN, sensor_gain, &ret); > break; > case V4L2_CID_VBLANK: > cci_write(regmap, OV4689_REG_VTS, -- Regards, Laurent Pinchart