[PATCH 3/3] ipa: rksip1: Remove setControls(0) to reduce startup oscillations

Stefan Klug stefan.klug at ideasonboard.com
Wed Mar 5 10:51:15 CET 2025


Hi Kieran

Thank you for the review.

On Tue, Mar 04, 2025 at 09:22:02PM +0000, Kieran Bingham wrote:
> Quoting Stefan Klug (2025-02-28 12:55:55)
> > The call to setControls(0) is counter productive. At start() time, no
> > requests were queued and no stats were received. So setControls(0)
> > accesses a zeroed frame context and in turn sends 0 as gain, exposure
> > and vblank to the pipeline handler and DelayedControls. This leads to
> > strong oscillations on every start of the camera.
> > 
> > A proper fix for handling the startup controls still needs to be done
> > and was already started in [1] and [2].
> > 
> > From a DelayedControls point of view the call to setControls(0) is also
> > unnecessary as DelayedControls treat frame 0 as already being queued in
> > after initialization.
> > 
> > So it is save to just remove it and the removal fixes the zero
> 
> s/save/safe/
> 
> > effectiveExposureValue discussed in the previous patch for rkisp1.
> > 
> > [1]: https://patchwork.libcamera.org/patch/21708/
> > [2]: https://patchwork.libcamera.org/patch/22445/
> > 
> > Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
> > ---
> >  src/ipa/rkisp1/rkisp1.cpp | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> > index 5f1583e8219b..b09dd6efdf08 100644
> > --- a/src/ipa/rkisp1/rkisp1.cpp
> > +++ b/src/ipa/rkisp1/rkisp1.cpp
> > @@ -211,8 +211,6 @@ int IPARkISP1::init(const IPASettings &settings, unsigned int hwRevision,
> >  
> >  int IPARkISP1::start()
> >  {
> > -       setControls(0);
> > -
> 
> Aha, I thought I had recollection of this being added here more recently
> but this dates all the way back to 2021
> (1456efe7d51a3a0c6b57db4310f75b2a08ab1756) ... so I don't think it
> tramples on any active development of AGC.
> 
> 
> The above makes enough sense to me so:
> 
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> 
> 
> Though - now I check through patchwork - I see:
> 
> https://patchwork.libcamera.org/patch/21708/
> 
> from https://patchwork.libcamera.org/project/libcamera/list/?series=4728
> also touches code here. Have you reviewed that series? Does anything
> there need to be also considered or reviewed ?
> 

Yes, I'm aware of that series (that's why I mentioned it in the commit
message above). Time wise those changes overlapped with similar changes
I did to improve regulation in rkisp1. I'll continue to push on that and
will pull in changes from Mikhail as fit.

This series is just a tiny step in that direction and makes upcoming
changes easier.

Best regards,
Stefan

> --
> Kieran
> 
> 
> >         return 0;
> >  }
> >  
> > -- 
> > 2.43.0
> >


More information about the libcamera-devel mailing list