[{"id":15918,"web_url":"https://patchwork.libcamera.org/comment/15918/","msgid":"<20210326022209.GB2040@pyrite.rasen.tech>","date":"2021-03-26T02:22:09","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Sebastian,\n\nOn Thu, Mar 25, 2021 at 06:42:54PM +0100, Sebastian Fricke wrote:\n> The configure operation is synchronous and should not send events back\n> to the pipeline handler.\n\nThe reason why the events shouldn't be sent from the IPA to the pipeline\nhandler is not because configure is synchronous, it's because start()\nhasn't been called yet, so the IPA thread hasn't started running yet.\n\nIt just happens that all calls before start() are synchronous, and all\ncalls after start() are asynchronous, so the rules regarding events also\nline up :)\n\n> \n> If information needs to be returned from configure it should be handled\n> through the interface directly.\n\nI think s/handled through the interface/returned/ ?\n\n> \n> Move the initial call to setControls() out of configure() and into the\n> start() method which is called after the IPA running_ state is updated.\n> \n> Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n>  1 file changed, 8 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index d2a10bb9..b0698903 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n>  {\n>  public:\n>  \tint init(unsigned int hwRevision) override;\n> -\tint start() override { return 0; }\n> +\tint start() override;\n>  \tvoid stop() override {}\n>  \n>  \tint configure(const CameraSensorInfo &info,\n> @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n>  \treturn 0;\n>  }\n>  \n> +int IPARkISP1::start()\n> +{\n> +        setControls(0);\n> +\n> +        return 0;\n> +}\n> +\n>  /**\n>   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n>   * if the connected sensor does not provide enough information to properly\n> @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n>  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n>  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n>  \n> -\tsetControls(0);\n>  \treturn 0;\n>  }\n>  \n> -- \n> 2.25.1\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 4BF5FC32EA\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 02:22:20 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 89F386084F;\n\tFri, 26 Mar 2021 03:22:19 +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 0D28F602E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 03:22:18 +0100 (CET)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 77E32B6F;\n\tFri, 26 Mar 2021 03:22:16 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Yvyh2LZc\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616725337;\n\tbh=7mKffm4eZpZdLCPDya1BiIjdSIaFi4GR3r4aI6wcQ80=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Yvyh2LZcYuqNmn+VSDc8jf27Y+a8kFEX9bqW/gordkzPiOrjB83nmJETIaHTQ9JOf\n\t8ehTUMGGv/9QDdbyVaRumkVQk8t6BoSzARxla9NzckQBZoFs0SLnv1dr4viRpU1tOP\n\t86FR+9kJvHgUsc6cbnujZg9Yvw4a2VRvntMe7JDI=","Date":"Fri, 26 Mar 2021 11:22:09 +0900","From":"paul.elder@ideasonboard.com","To":"Sebastian Fricke <sebastian.fricke@posteo.net>","Message-ID":"<20210326022209.GB2040@pyrite.rasen.tech>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15926,"web_url":"https://patchwork.libcamera.org/comment/15926/","msgid":"<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","date":"2021-03-26T03:00:45","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sebastian,\n\nThank you for the patch.\n\nOn Thu, Mar 25, 2021 at 06:42:54PM +0100, Sebastian Fricke wrote:\n> The configure operation is synchronous and should not send events back\n> to the pipeline handler.\n> \n> If information needs to be returned from configure it should be handled\n> through the interface directly.\n> \n> Move the initial call to setControls() out of configure() and into the\n> start() method which is called after the IPA running_ state is updated.\n> \n> Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n>  1 file changed, 8 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index d2a10bb9..b0698903 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n>  {\n>  public:\n>  \tint init(unsigned int hwRevision) override;\n> -\tint start() override { return 0; }\n> +\tint start() override;\n>  \tvoid stop() override {}\n>  \n>  \tint configure(const CameraSensorInfo &info,\n> @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n>  \treturn 0;\n>  }\n>  \n> +int IPARkISP1::start()\n> +{\n> +        setControls(0);\n\nThe IPA will send the queueFrameAction event to the pipeline handler\nbefore the start() function completes. This will cause different\nbehaviours in the isolated and non-isolated cases.\n\nIn the isolated case, the message corresponding to queueFrameAction will\nbe send to the pipeline handler before the response to start(), and will\nthus be processed first. In the non-isolated case, the deferred call\nrelated to queueFrameAction will be queued to the pipeline handler\nthread, but will only be processed once control returns to the event\nloop, which will happen after start() completes.\n\nI'm OK with this patch as a short term fix, as it fixes a real issue and\nwe only run the rkisp1 IPA without isolation at this point.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nWe however need to figure out a correct fix for the IPC case. Paul,\nwhat's your opinion on this, how should we handle it ?\n\n> +\n> +        return 0;\n> +}\n> +\n>  /**\n>   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n>   * if the connected sensor does not provide enough information to properly\n> @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n>  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n>  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n>  \n> -\tsetControls(0);\n>  \treturn 0;\n>  }\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 8BDA5BDC66\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 03:01:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A16BE6084F;\n\tFri, 26 Mar 2021 04:01:29 +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 E71A0602E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 04:01:28 +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 5DABD443;\n\tFri, 26 Mar 2021 04:01:28 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"VzdPCRmD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616727688;\n\tbh=eaoQmvTdsDfKQIEHU8zey/9gN5q3mQVFqBeYrbKx8qk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=VzdPCRmDne2xBE/6HWg3H5xEv2FXpzBNrRhe3PGVr5xX706DQmIOw2aVEMfkfNtkV\n\teuzoHPSlU0bsHftpEKwmelJBxF2SKY1haxDK11NYHyKGS05jqftIUIGaFUzajV2J5I\n\tyEo+NsbWeA4ps9hT5KWup8EjifzjXydlePavJqpk=","Date":"Fri, 26 Mar 2021 05:00:45 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sebastian Fricke <sebastian.fricke@posteo.net>","Message-ID":"<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15927,"web_url":"https://patchwork.libcamera.org/comment/15927/","msgid":"<YF1PW07zSfw25ixn@pendragon.ideasonboard.com>","date":"2021-03-26T03:04:59","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sebastian,\n\nOne more comment.\n\nOn Fri, Mar 26, 2021 at 05:00:46AM +0200, Laurent Pinchart wrote:\n> On Thu, Mar 25, 2021 at 06:42:54PM +0100, Sebastian Fricke wrote:\n> > The configure operation is synchronous and should not send events back\n> > to the pipeline handler.\n> > \n> > If information needs to be returned from configure it should be handled\n> > through the interface directly.\n> > \n> > Move the initial call to setControls() out of configure() and into the\n> > start() method which is called after the IPA running_ state is updated.\n> > \n> > Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n> > ---\n> >  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n> >  1 file changed, 8 insertions(+), 2 deletions(-)\n> > \n> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> > index d2a10bb9..b0698903 100644\n> > --- a/src/ipa/rkisp1/rkisp1.cpp\n> > +++ b/src/ipa/rkisp1/rkisp1.cpp\n> > @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n> >  {\n> >  public:\n> >  \tint init(unsigned int hwRevision) override;\n> > -\tint start() override { return 0; }\n> > +\tint start() override;\n> >  \tvoid stop() override {}\n> >  \n> >  \tint configure(const CameraSensorInfo &info,\n> > @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n> >  \treturn 0;\n> >  }\n> >  \n> > +int IPARkISP1::start()\n> > +{\n> > +        setControls(0);\n\nTabs for indentation. Didn't checkstyle.py warn you ?\n\n> \n> The IPA will send the queueFrameAction event to the pipeline handler\n> before the start() function completes. This will cause different\n> behaviours in the isolated and non-isolated cases.\n> \n> In the isolated case, the message corresponding to queueFrameAction will\n> be send to the pipeline handler before the response to start(), and will\n> thus be processed first. In the non-isolated case, the deferred call\n> related to queueFrameAction will be queued to the pipeline handler\n> thread, but will only be processed once control returns to the event\n> loop, which will happen after start() completes.\n> \n> I'm OK with this patch as a short term fix, as it fixes a real issue and\n> we only run the rkisp1 IPA without isolation at this point.\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> We however need to figure out a correct fix for the IPC case. Paul,\n> what's your opinion on this, how should we handle it ?\n> \n> > +\n> > +        return 0;\n> > +}\n> > +\n> >  /**\n> >   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n> >   * if the connected sensor does not provide enough information to properly\n> > @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n> >  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n> >  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n> >  \n> > -\tsetControls(0);\n> >  \treturn 0;\n> >  }\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 72FBFC32EA\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 03:05:45 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B220F6084F;\n\tFri, 26 Mar 2021 04:05:44 +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 67507602E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 04:05:43 +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 CC5B8443;\n\tFri, 26 Mar 2021 04:05:42 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"D8rfuNc/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616727943;\n\tbh=fBsyUt9Y4HOS6+PTidXkDFcVn+tDiN9g0ySd6Nve0nc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=D8rfuNc/kWMSeOPuSUfxnqZ93NqBAKgcWJsLx4aLFV160ux4rF+IZQC/a9Tqhbh1M\n\tl0ZS4jj7lVcA07U/t8JciZKZ2e6hDuKMxVqaK41Q8Ny/td6xx1az7FTpTCNxC9Eobg\n\tjnmwcB45qMjkBzZ5XvYNryDrDZIhi26gfsiVu458=","Date":"Fri, 26 Mar 2021 05:04:59 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sebastian Fricke <sebastian.fricke@posteo.net>","Message-ID":"<YF1PW07zSfw25ixn@pendragon.ideasonboard.com>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>\n\t<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15930,"web_url":"https://patchwork.libcamera.org/comment/15930/","msgid":"<20210326031923.GE2040@pyrite.rasen.tech>","date":"2021-03-26T03:19:23","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Laurent,\n\nOn Fri, Mar 26, 2021 at 05:00:45AM +0200, Laurent Pinchart wrote:\n> Hi Sebastian,\n> \n> Thank you for the patch.\n> \n> On Thu, Mar 25, 2021 at 06:42:54PM +0100, Sebastian Fricke wrote:\n> > The configure operation is synchronous and should not send events back\n> > to the pipeline handler.\n> > \n> > If information needs to be returned from configure it should be handled\n> > through the interface directly.\n> > \n> > Move the initial call to setControls() out of configure() and into the\n> > start() method which is called after the IPA running_ state is updated.\n> > \n> > Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n> > ---\n> >  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n> >  1 file changed, 8 insertions(+), 2 deletions(-)\n> > \n> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> > index d2a10bb9..b0698903 100644\n> > --- a/src/ipa/rkisp1/rkisp1.cpp\n> > +++ b/src/ipa/rkisp1/rkisp1.cpp\n> > @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n> >  {\n> >  public:\n> >  \tint init(unsigned int hwRevision) override;\n> > -\tint start() override { return 0; }\n> > +\tint start() override;\n> >  \tvoid stop() override {}\n> >  \n> >  \tint configure(const CameraSensorInfo &info,\n> > @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n> >  \treturn 0;\n> >  }\n> >  \n> > +int IPARkISP1::start()\n> > +{\n> > +        setControls(0);\n> \n> The IPA will send the queueFrameAction event to the pipeline handler\n> before the start() function completes. This will cause different\n> behaviours in the isolated and non-isolated cases.\n> \n> In the isolated case, the message corresponding to queueFrameAction will\n> be send to the pipeline handler before the response to start(), and will\n> thus be processed first. In the non-isolated case, the deferred call\n> related to queueFrameAction will be queued to the pipeline handler\n> thread, but will only be processed once control returns to the event\n> loop, which will happen after start() completes.\n> \n> I'm OK with this patch as a short term fix, as it fixes a real issue and\n> we only run the rkisp1 IPA without isolation at this point.\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> We however need to figure out a correct fix for the IPC case. Paul,\n> what's your opinion on this, how should we handle it ?\n\nAs we discussed on irc, I think a good solution would be to disallow\nemitting signals from start(). We've allowed custom return values from\nstart(), which competes with emitting signals from start(). So I think\nif somebody wants to emit signals from the IPA during start(), they\nshould instead return the values directly, and then the pipeline handler\ncan call the signal handler on the return values (or partially\nreimplment the signal handler).\n\nI guess I'll have to add this to the IPA guide and we'll have to add\nsome more assertions (with a Starting state?).\n\n\nThanks,\n\nPaul\n\n> > +\n> > +        return 0;\n> > +}\n> > +\n> >  /**\n> >   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n> >   * if the connected sensor does not provide enough information to properly\n> > @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n> >  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n> >  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n> >  \n> > -\tsetControls(0);\n> >  \treturn 0;\n> >  }\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 1D308C32EA\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 03:19:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 728ED6084F;\n\tFri, 26 Mar 2021 04:19:33 +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 AF8A0602E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 04:19:31 +0100 (CET)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id ABE35443;\n\tFri, 26 Mar 2021 04:19:29 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"kl/Af3rl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616728771;\n\tbh=uhzz4LXYrFvU/LSxzvgyCuXHMuxM0k8B9XuPxyJoeqI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=kl/Af3rlRp7Cwpab3BBxqmc78anMBE+nKdWsgwmblFDNBTyRhFQPLSZL7QRXKWm8e\n\tQ+fLgKLDAj17nXhWPiYXUYXiEnzL/J66IFlyBdtJ2Ltf+CZ/lP6OIyQTfVAR3Di416\n\tGZdR4IziQucMECCc3LujVaZihS2Y5buKTGFGfxDs=","Date":"Fri, 26 Mar 2021 12:19:23 +0900","From":"paul.elder@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210326031923.GE2040@pyrite.rasen.tech>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>\n\t<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15935,"web_url":"https://patchwork.libcamera.org/comment/15935/","msgid":"<20210326045807.57yf44k6mfzrczzk@basti-TUXEDO-Book-XA1510>","date":"2021-03-26T04:58:07","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":78,"url":"https://patchwork.libcamera.org/api/people/78/","name":"Sebastian Fricke","email":"sebastian.fricke@posteo.net"},"content":"Hey Laurent,\n\nOn 26.03.2021 05:04, Laurent Pinchart wrote:\n>Hi Sebastian,\n>\n>One more comment.\n>\n>On Fri, Mar 26, 2021 at 05:00:46AM +0200, Laurent Pinchart wrote:\n>> On Thu, Mar 25, 2021 at 06:42:54PM +0100, Sebastian Fricke wrote:\n>> > The configure operation is synchronous and should not send events back\n>> > to the pipeline handler.\n>> >\n>> > If information needs to be returned from configure it should be handled\n>> > through the interface directly.\n>> >\n>> > Move the initial call to setControls() out of configure() and into the\n>> > start() method which is called after the IPA running_ state is updated.\n>> >\n>> > Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n>> > ---\n>> >  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n>> >  1 file changed, 8 insertions(+), 2 deletions(-)\n>> >\n>> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n>> > index d2a10bb9..b0698903 100644\n>> > --- a/src/ipa/rkisp1/rkisp1.cpp\n>> > +++ b/src/ipa/rkisp1/rkisp1.cpp\n>> > @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n>> >  {\n>> >  public:\n>> >  \tint init(unsigned int hwRevision) override;\n>> > -\tint start() override { return 0; }\n>> > +\tint start() override;\n>> >  \tvoid stop() override {}\n>> >\n>> >  \tint configure(const CameraSensorInfo &info,\n>> > @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n>> >  \treturn 0;\n>> >  }\n>> >\n>> > +int IPARkISP1::start()\n>> > +{\n>> > +        setControls(0);\n>\n>Tabs for indentation. Didn't checkstyle.py warn you ?\n\nAh... I have set up a new image on my board and forgot to insert the git\nhooks. Sorry ... I will fix that right away. I should probably add that\nto my ansible playbook, so that the hook is set up automatically.\n\n>\n>>\n>> The IPA will send the queueFrameAction event to the pipeline handler\n>> before the start() function completes. This will cause different\n>> behaviours in the isolated and non-isolated cases.\n>>\n>> In the isolated case, the message corresponding to queueFrameAction will\n>> be send to the pipeline handler before the response to start(), and will\n>> thus be processed first. In the non-isolated case, the deferred call\n>> related to queueFrameAction will be queued to the pipeline handler\n>> thread, but will only be processed once control returns to the event\n>> loop, which will happen after start() completes.\n>>\n>> I'm OK with this patch as a short term fix, as it fixes a real issue and\n>> we only run the rkisp1 IPA without isolation at this point.\n>>\n>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>>\n>> We however need to figure out a correct fix for the IPC case. Paul,\n>> what's your opinion on this, how should we handle it ?\n>>\n>> > +\n>> > +        return 0;\n>> > +}\n>> > +\n>> >  /**\n>> >   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n>> >   * if the connected sensor does not provide enough information to properly\n>> > @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n>> >  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n>> >  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n>> >\n>> > -\tsetControls(0);\n>> >  \treturn 0;\n>> >  }\n>> >\n>\n>-- \n>Regards,\n>\n>Laurent Pinchart","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 90A4FC32EA\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 04:58:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D342F6084F;\n\tFri, 26 Mar 2021 05:58:11 +0100 (CET)","from mout01.posteo.de (mout01.posteo.de [185.67.36.65])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C8021602E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 05:58:09 +0100 (CET)","from submission (posteo.de [89.146.220.130]) \n\tby mout01.posteo.de (Postfix) with ESMTPS id F3D9F16005C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 05:58:08 +0100 (CET)","from customer (localhost [127.0.0.1])\n\tby submission (posteo.de) with ESMTPSA id 4F68qh2yTPz6tmG;\n\tFri, 26 Mar 2021 05:58:08 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=posteo.net header.i=@posteo.net\n\theader.b=\"nFwFYrKA\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;\n\tt=1616734689; bh=wtImDtukk+jPnV6wM+VBCXe/A0Dlb6wjR6rvWjwKHY4=;\n\th=Date:From:To:Cc:Subject:From;\n\tb=nFwFYrKAuZcr5sgLxTRd702I0PPOrsiwYfXzMIreNMkaMblwanZv7O9ThY/DRuTdP\n\tZPe6bl9LauT9ne422zeFsqzeEg9yT5DKvysXUCQBnT8mGLmN8x/Y2P8mqO0GtbcRVH\n\tw26+2zynGe8xBnsJTKCdJMqqbXppN55anlfyourd1f6gcVpkw6dhzWUHmNRmQq99qn\n\t72P3RmV6zbWxdOobinMURAVURCkTDFriHjJ0Fu62x1cHnaHdZttRbIUrPZ89mzOH/c\n\tnBI2mJ903Q9aXmucGR+QBX9j96+VnLNQ9GJH610eonAz3j/5ER/j/fr8QSWLNAlEfk\n\t3HSKsUMkZxBoQ==","Date":"Fri, 26 Mar 2021 05:58:07 +0100","From":"Sebastian Fricke <sebastian.fricke@posteo.net>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210326045807.57yf44k6mfzrczzk@basti-TUXEDO-Book-XA1510>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>\n\t<YF1OXQZ2ErW91+B7@pendragon.ideasonboard.com>\n\t<YF1PW07zSfw25ixn@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<YF1PW07zSfw25ixn@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15958,"web_url":"https://patchwork.libcamera.org/comment/15958/","msgid":"<d07c59e3-a3ac-fa5e-13d3-acb21d5b1c2c@ideasonboard.com>","date":"2021-03-26T16:36:36","subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"On 25/03/2021 17:42, Sebastian Fricke wrote:\n> The configure operation is synchronous and should not send events back\n> to the pipeline handler.\n> \n> If information needs to be returned from configure it should be handled\n> through the interface directly.\n> \n> Move the initial call to setControls() out of configure() and into the\n> start() method which is called after the IPA running_ state is updated.\n> \n> Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>\n\nGiven that this matches the IPU3 implementation, and it's known that we\nneed to update this soon, I think this should be merged.\n\nWith the whitespace issues corrected.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nNiklas, as this has just hit you, could you apply this and fix the\nwhitespace and apply after testing please?\n\n\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++--\n>  1 file changed, 8 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index d2a10bb9..b0698903 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface\n>  {\n>  public:\n>  \tint init(unsigned int hwRevision) override;\n> -\tint start() override { return 0; }\n> +\tint start() override;\n>  \tvoid stop() override {}\n>  \n>  \tint configure(const CameraSensorInfo &info,\n> @@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)\n>  \treturn 0;\n>  }\n>  \n> +int IPARkISP1::start()\n> +{\n> +        setControls(0);\n> +\n> +        return 0;\n> +}\n> +\n>  /**\n>   * \\todo The RkISP1 pipeline currently provides an empty CameraSensorInfo\n>   * if the connected sensor does not provide enough information to properly\n> @@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,\n>  \t\t<< \"Exposure: \" << minExposure_ << \"-\" << maxExposure_\n>  \t\t<< \" Gain: \" << minGain_ << \"-\" << maxGain_;\n>  \n> -\tsetControls(0);\n>  \treturn 0;\n>  }\n>  \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 7924EC32EA\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Mar 2021 16:36:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C6ACD68D6B;\n\tFri, 26 Mar 2021 17:36:40 +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 E26F96051A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Mar 2021 17:36:39 +0100 (CET)","from [192.168.0.20]\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 51D08443;\n\tFri, 26 Mar 2021 17:36:39 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"JCLgRkCb\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616776599;\n\tbh=BQLnW6Mcha7uQH8PQga7Zg30ifQOwE6g4J7ApNFx08w=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=JCLgRkCbAu11M783XRROUWbxc4CrujQLTWDtt7Sr+atcfiZWQaar9KkrgvCDlmF/s\n\tk0a4qkN+BXslv/Qnptzkb81GZpkmXPs7poYRxNwmqyb/47Qfx5CNWtIDM7TZhZ0BCB\n\tBOb1RK+hDZW4Xa38qqsxSCTclQzpelXWxsZrD08o=","To":"Sebastian Fricke <sebastian.fricke@posteo.net>,\n\tlibcamera-devel@lists.libcamera.org, =?utf-8?q?Niklas_S=C3=B6derlund?=\n\t<niklas.soderlund@ragnatech.se>","References":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<d07c59e3-a3ac-fa5e-13d3-acb21d5b1c2c@ideasonboard.com>","Date":"Fri, 26 Mar 2021 16:36:36 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20210325174254.7977-1-sebastian.fricke@posteo.net>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH] ipa: rkisp1: Do not set controls\n\tduring configure","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>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]