[{"id":36050,"web_url":"https://patchwork.libcamera.org/comment/36050/","msgid":"<20250930100607.GD25784@pendragon.ideasonboard.com>","date":"2025-09-30T10:06:07","subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hans,\n\nThank you for the patches.\n\nOn Sat, Sep 27, 2025 at 07:59:58PM +0200, Hans de Goede wrote:\n> Hi All,\n> \n> Due to a combination of not having correct control-delay information for\n> various sensors as well as the generic nature of the simple-pipeline +\n> software-ISP meaning that any pipeline delays are unknown it is impossible\n> to get reliable control-delay values.\n\nI'm fine with this patch series as a short term workaround for the time\nbeing. The next step is to turn the \"impossible\" into \"done\". Delay\ncharacterization of sensors is something we need to implement, and\nthat's just of matter of getting it done (i.e. a matter of time). What\nother issues are there to fix ?\n\n> Wrong control-delay values can lead to pretty bad oscilation. See the v1\n> cover-letter for more details.\n> \n> This series fixes some unrelated issues in the softIPA AGC algorithm and\n> in the last 2 patches addresses the oscillation issue. Note v2 and later\n> take a new approach to fixing the oscilation by only generating statistics\n> for every 4th frame and having the IPA only run its algorithms when there\n> actually are statistics. This saves CPU time, while at the same time\n> avoiding the oscillation issue.\n> \n> v3 has successfully passed CI, see:\n> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commit/76f37231527d10399bc123a546f8e252faaa8310/pipelines?ref=softisp-agc-oscillation-fixes-v3\n> \n> Changes in v3:\n> - Drop if (!stats_->valid) early exit from IPASoftSimple::processStats()\n> - Save last AGC calculated new gain and exposure values and re-use these\n>   for frames without statistics, this avoids delayedCtrl history underruns\n> - Improve SwIspStats.valid documentation\n> \n> Changes in v2:\n> - Skip running IPA algorithms when there are no statistics\n> - Only generate statistics for every 4th frame\n> \n> Note the speed of the AGC algorithm converges on the desired brightness\n> level is unchanged compared to v1 since in v1 the AGC algorithm would\n> skip 3 frames after every gain/exposure change.\n> \n> Regards,\n> \n> Hans\n> \n> \n> \n> Hans de Goede (6):\n>   ipa: software_isp: Fix context_.configuration.agc.againMin init\n>   ipa: software_isp: AGC: Do not lower gain below 1.0\n>   ipa: software_isp: AGC: Raise exposure or gain not both at the same\n>     time\n>   ipa: software_isp: AGC: Only use integers for exposure calculations\n>   libcamera: software_isp: Add valid flag to struct SwIspStats\n>   libcamera: software_isp: Run sw-statistics once every 4th frame\n> \n>  .../internal/software_isp/swisp_stats.h       |  5 ++++\n>  src/ipa/simple/algorithms/agc.cpp             | 26 ++++++++++---------\n>  src/ipa/simple/algorithms/awb.cpp             |  3 +++\n>  src/ipa/simple/algorithms/blc.cpp             |  3 +++\n>  src/ipa/simple/ipa_context.h                  |  2 +-\n>  src/ipa/simple/soft_simple.cpp                |  7 ++++-\n>  src/libcamera/software_isp/debayer_cpu.cpp    | 25 +++++++++++-------\n>  src/libcamera/software_isp/debayer_cpu.h      |  4 +--\n>  src/libcamera/software_isp/swstats_cpu.cpp    |  9 ++++++-\n>  src/libcamera/software_isp/swstats_cpu.h      |  5 +++-\n>  10 files changed, 61 insertions(+), 28 deletions(-)","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 238AAC324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Sep 2025 10:06:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CFD9D6B615;\n\tTue, 30 Sep 2025 12:06:15 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D446362C35\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Sep 2025 12:06:13 +0200 (CEST)","from pendragon.ideasonboard.com (85-76-43-108-nat.elisa-mobile.fi\n\t[85.76.43.108])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 44AEF228;\n\tTue, 30 Sep 2025 12:04:45 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"eDo/uu05\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1759226685;\n\tbh=xSt7ePxB0x3l9OTKVTtmVDOw2/bOc3yi06MRUzTatJw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=eDo/uu05WdJYQY2lclmbbwqGaT6i7400R2OGM1uAaKPBJs5IkTkH34IFgsPNvuNaK\n\t1/7qCuYYy0xk7Tx0N+MCVlJf2FO2OiRa3AvPWCsDYOdV0BXK7Ls6YxPpSjDx4Xxlur\n\tEQVG6bA8j9tob/bA8Be8Djs5be/xtYHLd40orF9s=","Date":"Tue, 30 Sep 2025 13:06:07 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hans de Goede <hansg@kernel.org>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","Message-ID":"<20250930100607.GD25784@pendragon.ideasonboard.com>","References":"<20250927180004.84620-1-hansg@kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20250927180004.84620-1-hansg@kernel.org>","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":36060,"web_url":"https://patchwork.libcamera.org/comment/36060/","msgid":"<89a425a3-b490-4b68-b852-87022bcddbb7@kernel.org>","date":"2025-09-30T14:04:13","subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","submitter":{"id":239,"url":"https://patchwork.libcamera.org/api/people/239/","name":"Hans de Goede","email":"hansg@kernel.org"},"content":"Hi,\n\nOn 30-Sep-25 12:06, Laurent Pinchart wrote:\n> Hans,\n> \n> Thank you for the patches.\n> \n> On Sat, Sep 27, 2025 at 07:59:58PM +0200, Hans de Goede wrote:\n>> Hi All,\n>>\n>> Due to a combination of not having correct control-delay information for\n>> various sensors as well as the generic nature of the simple-pipeline +\n>> software-ISP meaning that any pipeline delays are unknown it is impossible\n>> to get reliable control-delay values.\n> \n> I'm fine with this patch series as a short term workaround for the time\n> being. The next step is to turn the \"impossible\" into \"done\". Delay\n> characterization of sensors is something we need to implement, and\n> that's just of matter of getting it done (i.e. a matter of time). What\n> other issues are there to fix ?\n\nI have the feeling that with some CSI receivers when we get the SOF\nevent and apply new sensor controls the controls do not get applied\nto the frame we think it does.\n\nI think some existing handlers already modify the sensor delays\nbefore passing them to delayedctrls for similar reasons ?\n\nWe may need to do the same in the simple pipeline, adding\na per CSI2 receiver driver setting for this to the existing\nper CSI2-receiver parameters in the simple pipeline.\n\nRegards,\n\nHans\n\n\n\n\n>> Wrong control-delay values can lead to pretty bad oscilation. See the v1\n>> cover-letter for more details.\n>>\n>> This series fixes some unrelated issues in the softIPA AGC algorithm and\n>> in the last 2 patches addresses the oscillation issue. Note v2 and later\n>> take a new approach to fixing the oscilation by only generating statistics\n>> for every 4th frame and having the IPA only run its algorithms when there\n>> actually are statistics. This saves CPU time, while at the same time\n>> avoiding the oscillation issue.\n>>\n>> v3 has successfully passed CI, see:\n>> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commit/76f37231527d10399bc123a546f8e252faaa8310/pipelines?ref=softisp-agc-oscillation-fixes-v3\n>>\n>> Changes in v3:\n>> - Drop if (!stats_->valid) early exit from IPASoftSimple::processStats()\n>> - Save last AGC calculated new gain and exposure values and re-use these\n>>   for frames without statistics, this avoids delayedCtrl history underruns\n>> - Improve SwIspStats.valid documentation\n>>\n>> Changes in v2:\n>> - Skip running IPA algorithms when there are no statistics\n>> - Only generate statistics for every 4th frame\n>>\n>> Note the speed of the AGC algorithm converges on the desired brightness\n>> level is unchanged compared to v1 since in v1 the AGC algorithm would\n>> skip 3 frames after every gain/exposure change.\n>>\n>> Regards,\n>>\n>> Hans\n>>\n>>\n>>\n>> Hans de Goede (6):\n>>   ipa: software_isp: Fix context_.configuration.agc.againMin init\n>>   ipa: software_isp: AGC: Do not lower gain below 1.0\n>>   ipa: software_isp: AGC: Raise exposure or gain not both at the same\n>>     time\n>>   ipa: software_isp: AGC: Only use integers for exposure calculations\n>>   libcamera: software_isp: Add valid flag to struct SwIspStats\n>>   libcamera: software_isp: Run sw-statistics once every 4th frame\n>>\n>>  .../internal/software_isp/swisp_stats.h       |  5 ++++\n>>  src/ipa/simple/algorithms/agc.cpp             | 26 ++++++++++---------\n>>  src/ipa/simple/algorithms/awb.cpp             |  3 +++\n>>  src/ipa/simple/algorithms/blc.cpp             |  3 +++\n>>  src/ipa/simple/ipa_context.h                  |  2 +-\n>>  src/ipa/simple/soft_simple.cpp                |  7 ++++-\n>>  src/libcamera/software_isp/debayer_cpu.cpp    | 25 +++++++++++-------\n>>  src/libcamera/software_isp/debayer_cpu.h      |  4 +--\n>>  src/libcamera/software_isp/swstats_cpu.cpp    |  9 ++++++-\n>>  src/libcamera/software_isp/swstats_cpu.h      |  5 +++-\n>>  10 files changed, 61 insertions(+), 28 deletions(-)\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 48985C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Sep 2025 14:04:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 37F236B599;\n\tTue, 30 Sep 2025 16:04:22 +0200 (CEST)","from sea.source.kernel.org (sea.source.kernel.org\n\t[IPv6:2600:3c0a:e001:78e:0:1991:8:25])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3CE4662C35\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Sep 2025 16:04:19 +0200 (CEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 3AE6241ABB;\n\tTue, 30 Sep 2025 14:04:17 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 7D200C4CEF0;\n\tTue, 30 Sep 2025 14:04:16 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=kernel.org header.i=@kernel.org\n\theader.b=\"Mk/NE04F\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1759241057;\n\tbh=o3v9G9Z3XJEbFkQjHnS9G+PExhBji+okMF6eFVfqflY=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=Mk/NE04FD+bY3VF1YHW3A9ZsitmjCRnMGmglpcWk3GnLVsX18JoU/vOKRgcDRDai4\n\tjcGNw9ggSzCju7rVtEwiEUimV75Xw7wJmT8wFrkBSaXd/unBsfsHMf7v60wc9/WXVt\n\t/osMUY8ewGmyOpkr1BnLjEIg8Jry8vIwkt8AKf53d5OXqx/wAA5JGkJqqb1f1tsjtW\n\tPknbj5dVlDUvKYYMe20CzSSmWnlFrTrhCbm88oJrc6GIJDYBiIdYFuTgrHOg6wWbx5\n\tixG42RKthbpsV0/FXgwHokf9XQcYzwX1Jd77WfFvxQFW/1UjfM/8iMk/f+rLgItn+C\n\tT5iUy6hVPpUyw==","Message-ID":"<89a425a3-b490-4b68-b852-87022bcddbb7@kernel.org>","Date":"Tue, 30 Sep 2025 16:04:13 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20250927180004.84620-1-hansg@kernel.org>\n\t<20250930100607.GD25784@pendragon.ideasonboard.com>","From":"Hans de Goede <hansg@kernel.org>","Content-Language":"en-US, nl","In-Reply-To":"<20250930100607.GD25784@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","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":36066,"web_url":"https://patchwork.libcamera.org/comment/36066/","msgid":"<20251001131304.GD14600@pendragon.ideasonboard.com>","date":"2025-10-01T13:13:04","subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hans,\n\nOn Tue, Sep 30, 2025 at 04:04:13PM +0200, Hans de Goede wrote:\n> On 30-Sep-25 12:06, Laurent Pinchart wrote:\n> > On Sat, Sep 27, 2025 at 07:59:58PM +0200, Hans de Goede wrote:\n> >> Hi All,\n> >>\n> >> Due to a combination of not having correct control-delay information for\n> >> various sensors as well as the generic nature of the simple-pipeline +\n> >> software-ISP meaning that any pipeline delays are unknown it is impossible\n> >> to get reliable control-delay values.\n> > \n> > I'm fine with this patch series as a short term workaround for the time\n> > being. The next step is to turn the \"impossible\" into \"done\". Delay\n> > characterization of sensors is something we need to implement, and\n> > that's just of matter of getting it done (i.e. a matter of time). What\n> > other issues are there to fix ?\n> \n> I have the feeling that with some CSI receivers when we get the SOF\n> event and apply new sensor controls the controls do not get applied\n> to the frame we think it does.\n\nThe SOF interrupt should come at start of frame. If we apply controls\nright away, they should be applied on the next frame + sensor delays. I\nof course won't rule out bugs in CSI-2 receiver drivers that would for\ninstance cause the SOF signal to be delivered at end of frame. If that's\nthe case we should fix the drivers.\n\n> I think some existing handlers already modify the sensor delays\n> before passing them to delayedctrls for similar reasons ?\n\nEven if controls are applied when expected, what needs to be taken into\naccount is the consumption of the data by the IPA module. When a frame\nis captured and statstics are computed, the AGC algorithm needs to\nprocess those statistics with the sensor parameters that have been\napplied to the frame. That's an area where bugs can occur in pipeline\nhandlers and IPA modules, using the sensor parameters for the wrong\nframe.\n\n> We may need to do the same in the simple pipeline, adding\n> a per CSI2 receiver driver setting for this to the existing\n> per CSI2-receiver parameters in the simple pipeline.\n\nHopefully it won't need to be per CSI-2 receiver.\n\nThanks for the explanation. When Kieran (or someone else) will find time\nto finish the work he started to port the soft ISP to the AGC algorithm\nfrom libipa we'll have to revisit this issue. That will be a good time\nto drop the hack in the last patch of this series.\n\n> >> Wrong control-delay values can lead to pretty bad oscilation. See the v1\n> >> cover-letter for more details.\n> >>\n> >> This series fixes some unrelated issues in the softIPA AGC algorithm and\n> >> in the last 2 patches addresses the oscillation issue. Note v2 and later\n> >> take a new approach to fixing the oscilation by only generating statistics\n> >> for every 4th frame and having the IPA only run its algorithms when there\n> >> actually are statistics. This saves CPU time, while at the same time\n> >> avoiding the oscillation issue.\n> >>\n> >> v3 has successfully passed CI, see:\n> >> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commit/76f37231527d10399bc123a546f8e252faaa8310/pipelines?ref=softisp-agc-oscillation-fixes-v3\n> >>\n> >> Changes in v3:\n> >> - Drop if (!stats_->valid) early exit from IPASoftSimple::processStats()\n> >> - Save last AGC calculated new gain and exposure values and re-use these\n> >>   for frames without statistics, this avoids delayedCtrl history underruns\n> >> - Improve SwIspStats.valid documentation\n> >>\n> >> Changes in v2:\n> >> - Skip running IPA algorithms when there are no statistics\n> >> - Only generate statistics for every 4th frame\n> >>\n> >> Note the speed of the AGC algorithm converges on the desired brightness\n> >> level is unchanged compared to v1 since in v1 the AGC algorithm would\n> >> skip 3 frames after every gain/exposure change.\n> >>\n> >> Regards,\n> >>\n> >> Hans\n> >>\n> >> Hans de Goede (6):\n> >>   ipa: software_isp: Fix context_.configuration.agc.againMin init\n> >>   ipa: software_isp: AGC: Do not lower gain below 1.0\n> >>   ipa: software_isp: AGC: Raise exposure or gain not both at the same\n> >>     time\n> >>   ipa: software_isp: AGC: Only use integers for exposure calculations\n> >>   libcamera: software_isp: Add valid flag to struct SwIspStats\n> >>   libcamera: software_isp: Run sw-statistics once every 4th frame\n> >>\n> >>  .../internal/software_isp/swisp_stats.h       |  5 ++++\n> >>  src/ipa/simple/algorithms/agc.cpp             | 26 ++++++++++---------\n> >>  src/ipa/simple/algorithms/awb.cpp             |  3 +++\n> >>  src/ipa/simple/algorithms/blc.cpp             |  3 +++\n> >>  src/ipa/simple/ipa_context.h                  |  2 +-\n> >>  src/ipa/simple/soft_simple.cpp                |  7 ++++-\n> >>  src/libcamera/software_isp/debayer_cpu.cpp    | 25 +++++++++++-------\n> >>  src/libcamera/software_isp/debayer_cpu.h      |  4 +--\n> >>  src/libcamera/software_isp/swstats_cpu.cpp    |  9 ++++++-\n> >>  src/libcamera/software_isp/swstats_cpu.h      |  5 +++-\n> >>  10 files changed, 61 insertions(+), 28 deletions(-)","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 12B28C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Oct 2025 13:13:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E16A36B5AA;\n\tWed,  1 Oct 2025 15:13:11 +0200 (CEST)","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 EC7186B58E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Oct 2025 15:13:09 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 8EA76ED;\n\tWed,  1 Oct 2025 15:11:40 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RRLAw4vi\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1759324300;\n\tbh=Hfmm1DNaf8IqToTUwmN53KrjJK1KVXfNZltGFSwwoOs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RRLAw4viC/Vwm4827b07lAYBFeuiabon1G4no2LIos3Eh4T/+dqb9up0o6oNkRDDB\n\tM//zb1uEoyeZLUhi6c+ijg+ugPAxZNIr1PvYRid78WPXVGisDd4q5Y46q899jMSQo3\n\t61QLdFQ3kgHAGwEEiQ3Dcnx6QFoLhX+C+nxXU6mU=","Date":"Wed, 1 Oct 2025 16:13:04 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hans de Goede <hansg@kernel.org>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v3 0/6] ipa: software_isp: AGC: Fox AGC oscillation bug","Message-ID":"<20251001131304.GD14600@pendragon.ideasonboard.com>","References":"<20250927180004.84620-1-hansg@kernel.org>\n\t<20250930100607.GD25784@pendragon.ideasonboard.com>\n\t<89a425a3-b490-4b68-b852-87022bcddbb7@kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<89a425a3-b490-4b68-b852-87022bcddbb7@kernel.org>","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>"}}]