[{"id":21555,"web_url":"https://patchwork.libcamera.org/comment/21555/","msgid":"<7033ade4-9a21-fa95-e15d-6923b85717be@ideasonboard.com>","date":"2021-12-02T17:26:10","subject":"Re: [libcamera-devel] [PATCH v7 5/5] ipu3: ipa: Allow IPA to apply\n\tcontrols to the lens device","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi,\n\nOn 12/2/21 7:33 PM, Han-Lin Chen wrote:\n> Allow IPA to apply controls to the lens device.\n>\n> Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n> ---\n>   src/libcamera/pipeline/ipu3/ipu3.cpp | 13 +++++++++++--\n>   1 file changed, 11 insertions(+), 2 deletions(-)\n>\n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index c65afdb2..d26c8a2e 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -24,6 +24,7 @@\n>   #include <libcamera/stream.h>\n>   \n>   #include \"libcamera/internal/camera.h\"\n> +#include \"libcamera/internal/camera_lens.h\"\n>   #include \"libcamera/internal/camera_sensor.h\"\n>   #include \"libcamera/internal/delayed_controls.h\"\n>   #include \"libcamera/internal/device_enumerator.h\"\n> @@ -1238,8 +1239,16 @@ void IPU3CameraData::queueFrameAction(unsigned int id,\n>   {\n>   \tswitch (action.op) {\n>   \tcase ipa::ipu3::ActionSetSensorControls: {\n> -\t\tconst ControlList &controls = action.sensorControls;\n> -\t\tdelayedCtrls_->push(controls);\n> +\t\tconst ControlList &sensorControls = action.sensorControls;\n> +\t\tdelayedCtrls_->push(sensorControls);\n> +\n> +\t\tconst ControlList lensControls = action.lensControls;\n> +\t\tconst ControlValue &focusValue =\n> +\t\t\tlensControls.get(V4L2_CID_FOCUS_ABSOLUTE);\n> +\n> +\t\tCameraLens *lens = cio2_.sensor()->lens();\n> +\t\tif (lens && !focusValue.isNone())\n> +\t\t\tlens->setFocusPostion(focusValue.get<int32_t>());\n>   \t\tbreak;\n>   \t}\n>   \tcase ipa::ipu3::ActionParamFilled: {","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5C267BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  2 Dec 2021 17:26:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A92C46082A;\n\tThu,  2 Dec 2021 18:26:17 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4A3DC6011A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  2 Dec 2021 18:26:16 +0100 (CET)","from [192.168.1.106] (unknown [103.251.226.170])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 475022A5;\n\tThu,  2 Dec 2021 18:26:14 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"nHnwfFp9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1638465976;\n\tbh=+0QKkkptZXHnCqXHOscQcoHIU+eWjMBm1flMIFjD+9c=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=nHnwfFp9hXrZ2HpFegkwnipsd94bhStPJ7dHyiBkVvC3rGu7eqCoGAM2p4mF/vLPp\n\tl6ajf59n8OIltsSUEapGFyW2XJ4ZpS+xVgO5dRxp9ZEZkWakZImGxTL3wsJi35ODBV\n\tzgvuCgrlTRZ9UQpzadfVhQRjUqvqbnPlUbsBixC8=","To":"Han-Lin Chen <hanlinchen@chromium.org>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20211202140317.3118364-1-hanlinchen@chromium.org>\n\t<20211202140317.3118364-6-hanlinchen@chromium.org>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<7033ade4-9a21-fa95-e15d-6923b85717be@ideasonboard.com>","Date":"Thu, 2 Dec 2021 22:56:10 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20211202140317.3118364-6-hanlinchen@chromium.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v7 5/5] ipu3: ipa: Allow IPA to apply\n\tcontrols to the lens device","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21559,"web_url":"https://patchwork.libcamera.org/comment/21559/","msgid":"<YalrNSB+W+SjoniK@pendragon.ideasonboard.com>","date":"2021-12-03T00:56:21","subject":"Re: [libcamera-devel] [PATCH v7 5/5] ipu3: ipa: Allow IPA to apply\n\tcontrols to the lens device","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Han-lin,\n\nThank you for the patch.\n\nOn Thu, Dec 02, 2021 at 10:03:17PM +0800, Han-Lin Chen wrote:\n> Allow IPA to apply controls to the lens device.\n> \n> Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/libcamera/pipeline/ipu3/ipu3.cpp | 13 +++++++++++--\n>  1 file changed, 11 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index c65afdb2..d26c8a2e 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -24,6 +24,7 @@\n>  #include <libcamera/stream.h>\n>  \n>  #include \"libcamera/internal/camera.h\"\n> +#include \"libcamera/internal/camera_lens.h\"\n>  #include \"libcamera/internal/camera_sensor.h\"\n>  #include \"libcamera/internal/delayed_controls.h\"\n>  #include \"libcamera/internal/device_enumerator.h\"\n> @@ -1238,8 +1239,16 @@ void IPU3CameraData::queueFrameAction(unsigned int id,\n>  {\n>  \tswitch (action.op) {\n>  \tcase ipa::ipu3::ActionSetSensorControls: {\n> -\t\tconst ControlList &controls = action.sensorControls;\n> -\t\tdelayedCtrls_->push(controls);\n> +\t\tconst ControlList &sensorControls = action.sensorControls;\n> +\t\tdelayedCtrls_->push(sensorControls);\n> +\n> +\t\tconst ControlList lensControls = action.lensControls;\n> +\t\tconst ControlValue &focusValue =\n> +\t\t\tlensControls.get(V4L2_CID_FOCUS_ABSOLUTE);\n> +\n> +\t\tCameraLens *lens = cio2_.sensor()->lens();\n> +\t\tif (lens && !focusValue.isNone())\n> +\t\t\tlens->setFocusPostion(focusValue.get<int32_t>());\n>  \t\tbreak;\n>  \t}\n>  \tcase ipa::ipu3::ActionParamFilled: {","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C25A9BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  3 Dec 2021 00:56:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3FDBD60592;\n\tFri,  3 Dec 2021 01:56:50 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7BCEF60118\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  3 Dec 2021 01:56:48 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 031F6A59;\n\tFri,  3 Dec 2021 01:56:47 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Ys3a4YJe\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1638493008;\n\tbh=Kay87lfmbEAItAnTPMPt0rEyFrkwukBJyq+rfPZxMbQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Ys3a4YJe/9VFgeqsSRq6eLV+HqbyWNguFrnMKtRaFf6rWFWolf09vLZTZD43Yx8NV\n\tfiCBx+I17h4/CCts+//zGoxZxL0lKVR/JjUUT/tP/F/fIP1wfNdMCE4yTizyjWmIyB\n\tEP/uIv9BrUtgC6jQUA6Yegu83yX7RA7xOlqvJHwc=","Date":"Fri, 3 Dec 2021 02:56:21 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Han-Lin Chen <hanlinchen@chromium.org>","Message-ID":"<YalrNSB+W+SjoniK@pendragon.ideasonboard.com>","References":"<20211202140317.3118364-1-hanlinchen@chromium.org>\n\t<20211202140317.3118364-6-hanlinchen@chromium.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211202140317.3118364-6-hanlinchen@chromium.org>","Subject":"Re: [libcamera-devel] [PATCH v7 5/5] ipu3: ipa: Allow IPA to apply\n\tcontrols to the lens device","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]