[{"id":20722,"web_url":"https://patchwork.libcamera.org/comment/20722/","msgid":"<163638568772.275423.14533333622696313490@Monstersaurus>","date":"2021-11-08T15:34:47","subject":"Re: [libcamera-devel] [PATCH 11/22] ipu3: Populate the\n\tEventProcessCall with the sensor controls","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jean-Michel Hautbois (2021-11-08 13:13:39)\n> When EventProcessCall is to be sent, we populate the controls and notify\n> the IPA. Add the sensor controls in the event to notify their values for\n> the given frame.\n\nProcessControls (I think) is where the IPA has the opportunity to handle\nany controls from the request that has come in for a new frame. Is that\nright?\n\nDoes that operation 'need' the sensor controls? or is it just an\nearliest opportunity to update the IPA with the current/known sensor\ncontrol list?\n\nEither way, it feels like this needs more explaining, either here in the\ncommit message, or as a comment when adding it.\n\nAlthough, of course reading the title of the operation,\n'ProcessControls' perhaps processing the sensor controls is part of\nthat ...\n\nLooking at how this occurs in queuePendingRequests() it feels really\nwrong to be calling into delayedCtrls_ here ... but maybe I'm missing\nsomething.\n\nThis 'operation' is about queueing up a new request. We might queue up 4\nrequests in quick succession, so I don't think the sensorControls list\nwould be accurate at this point...\n\n\n\n\n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> ---\n>  src/libcamera/pipeline/ipu3/ipu3.cpp | 1 +\n>  1 file changed, 1 insertion(+)\n> \n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index 3fcfa777..5d87f6e5 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -862,6 +862,7 @@ void IPU3CameraData::queuePendingRequests()\n>                 ev.op = ipa::ipu3::EventProcessControls;\n>                 ev.frame = info->id;\n>                 ev.controls = request->controls();\n> +               ev.sensorControls = delayedCtrls_->get(ev.frame);\n>                 ipa_->processEvent(ev);\n>  \n>                 pendingRequests_.pop();\n> -- \n> 2.32.0\n>","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 2E3C4BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  8 Nov 2021 15:34:53 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8EC426034A;\n\tMon,  8 Nov 2021 16:34:52 +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 2B11F6032C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  8 Nov 2021 16:34:51 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 57FB7110E;\n\tMon,  8 Nov 2021 16:34:50 +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=\"s1TeNYlc\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1636385690;\n\tbh=O9Oa1Mm7TPpjEvHRik1fxwguTcxYsG+dMfh89CgAMro=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=s1TeNYlcLIIcEsuiCR3p32emaHjaspmfH7rqAz4wxOI6KWY+eGdQJdLvY99ZJQPgn\n\t4zOPP3Pzbrno92C7Gafu8Kw/O8YQPV/eMpA4u7ESP36Xjz6ljLUY8y+HnHTtwswuNw\n\t83S97US5MxLFysO92bCIF3dqNZIciiTWQw+fJUOA=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20211108131350.130665-12-jeanmichel.hautbois@ideasonboard.com>","References":"<20211108131350.130665-1-jeanmichel.hautbois@ideasonboard.com>\n\t<20211108131350.130665-12-jeanmichel.hautbois@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 08 Nov 2021 15:34:47 +0000","Message-ID":"<163638568772.275423.14533333622696313490@Monstersaurus>","User-Agent":"alot/0.9.1","Subject":"Re: [libcamera-devel] [PATCH 11/22] ipu3: Populate the\n\tEventProcessCall with the sensor controls","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>"}}]