[libcamera-devel,v5,0/8] Raspberry Pi: Efficient start/stop/start sequences
mbox series

Message ID 20220325090903.880311-1-naush@raspberrypi.com
Headers show
Series
  • Raspberry Pi: Efficient start/stop/start sequences
Related show

Message

Naushir Patuck March 25, 2022, 9:08 a.m. UTC
Hi,

Version 5 of this series changes the following:

- In patch 6/8 use -ESHUTDOWN instead of -EPERM.
- In patch 6/8 reference the function directly in the doxygen comments.

Patch 6/8 needs one more R-B tag, then this series should be ready for merging.

Regards,
Naush

Naushir Patuck (8):
  pipeline: raspberrypi: Avoid over-allocation for ISP Output 1
  pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class
  pipeline: raspberrypi: Free buffers in the RPiCamera destructor and
    re-configure
  pipeline: raspberrypi: Repurpose RPi::Stream::reset()
  libcamera: v4l2_videodevice: Better tracking of the device state
  libcamera: v4l2_videodevice: Do not allow buffer queueing in stopping
    state
  libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on
    streamOff()
  test: Test V4L2BufferCache::isEmpty() member function

 include/libcamera/internal/v4l2_videodevice.h |  4 +-
 .../pipeline/raspberrypi/raspberrypi.cpp      | 56 ++++++++++++-------
 .../pipeline/raspberrypi/rpi_stream.cpp       | 13 ++---
 .../pipeline/raspberrypi/rpi_stream.h         |  2 +-
 src/libcamera/v4l2_videodevice.cpp            | 34 +++++++++--
 test/v4l2_videodevice/buffer_cache.cpp        | 36 ++++++++++++
 6 files changed, 112 insertions(+), 33 deletions(-)

Comments

Laurent Pinchart March 27, 2022, 11:13 p.m. UTC | #1
Hi Naush,

On Fri, Mar 25, 2022 at 09:08:55AM +0000, Naushir Patuck via libcamera-devel wrote:
> Hi,
> 
> Version 5 of this series changes the following:
> 
> - In patch 6/8 use -ESHUTDOWN instead of -EPERM.
> - In patch 6/8 reference the function directly in the doxygen comments.
> 
> Patch 6/8 needs one more R-B tag, then this series should be ready for merging.

The series is now fully reviewed. If you agree with my review of 5/8 I
can update that patch when applying.

> Naushir Patuck (8):
>   pipeline: raspberrypi: Avoid over-allocation for ISP Output 1
>   pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class
>   pipeline: raspberrypi: Free buffers in the RPiCamera destructor and
>     re-configure
>   pipeline: raspberrypi: Repurpose RPi::Stream::reset()
>   libcamera: v4l2_videodevice: Better tracking of the device state
>   libcamera: v4l2_videodevice: Do not allow buffer queueing in stopping
>     state
>   libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on
>     streamOff()
>   test: Test V4L2BufferCache::isEmpty() member function
> 
>  include/libcamera/internal/v4l2_videodevice.h |  4 +-
>  .../pipeline/raspberrypi/raspberrypi.cpp      | 56 ++++++++++++-------
>  .../pipeline/raspberrypi/rpi_stream.cpp       | 13 ++---
>  .../pipeline/raspberrypi/rpi_stream.h         |  2 +-
>  src/libcamera/v4l2_videodevice.cpp            | 34 +++++++++--
>  test/v4l2_videodevice/buffer_cache.cpp        | 36 ++++++++++++
>  6 files changed, 112 insertions(+), 33 deletions(-)
>
Naushir Patuck March 28, 2022, 7:22 a.m. UTC | #2
Hi Laurent,

Thanks for the feedback!

On Mon, 28 Mar 2022 at 00:13, Laurent Pinchart <
laurent.pinchart@ideasonboard.com> wrote:

> Hi Naush,
>
> On Fri, Mar 25, 2022 at 09:08:55AM +0000, Naushir Patuck via
> libcamera-devel wrote:
> > Hi,
> >
> > Version 5 of this series changes the following:
> >
> > - In patch 6/8 use -ESHUTDOWN instead of -EPERM.
> > - In patch 6/8 reference the function directly in the doxygen comments.
> >
> > Patch 6/8 needs one more R-B tag, then this series should be ready for
> merging.
>
> The series is now fully reviewed. If you agree with my review of 5/8 I
> can update that patch when applying.
>

Oops, sorry I forgot to add those changes to my last revision.
I'm happy with your suggestions, so feel free to update when applying :-)

Regards,
Naush


>
> > Naushir Patuck (8):
> >   pipeline: raspberrypi: Avoid over-allocation for ISP Output 1
> >   pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class
> >   pipeline: raspberrypi: Free buffers in the RPiCamera destructor and
> >     re-configure
> >   pipeline: raspberrypi: Repurpose RPi::Stream::reset()
> >   libcamera: v4l2_videodevice: Better tracking of the device state
> >   libcamera: v4l2_videodevice: Do not allow buffer queueing in stopping
> >     state
> >   libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on
> >     streamOff()
> >   test: Test V4L2BufferCache::isEmpty() member function
> >
> >  include/libcamera/internal/v4l2_videodevice.h |  4 +-
> >  .../pipeline/raspberrypi/raspberrypi.cpp      | 56 ++++++++++++-------
> >  .../pipeline/raspberrypi/rpi_stream.cpp       | 13 ++---
> >  .../pipeline/raspberrypi/rpi_stream.h         |  2 +-
> >  src/libcamera/v4l2_videodevice.cpp            | 34 +++++++++--
> >  test/v4l2_videodevice/buffer_cache.cpp        | 36 ++++++++++++
> >  6 files changed, 112 insertions(+), 33 deletions(-)
> >
>
> --
> Regards,
>
> Laurent Pinchart
>
Laurent Pinchart March 28, 2022, 7:30 a.m. UTC | #3
Hi Naush,

On Mon, Mar 28, 2022 at 07:22:42AM +0000, Naushir Patuck wrote:
> On Mon, 28 Mar 2022 at 00:13, Laurent Pinchart wrote:
> > On Fri, Mar 25, 2022 at 09:08:55AM +0000, Naushir Patuck via
> > libcamera-devel wrote:
> > > Hi,
> > >
> > > Version 5 of this series changes the following:
> > >
> > > - In patch 6/8 use -ESHUTDOWN instead of -EPERM.
> > > - In patch 6/8 reference the function directly in the doxygen comments.
> > >
> > > Patch 6/8 needs one more R-B tag, then this series should be ready for merging.
> >
> > The series is now fully reviewed. If you agree with my review of 5/8 I
> > can update that patch when applying.
> 
> Oops, sorry I forgot to add those changes to my last revision.
> I'm happy with your suggestions, so feel free to update when applying :-)

Done, and pushed.

> > > Naushir Patuck (8):
> > >   pipeline: raspberrypi: Avoid over-allocation for ISP Output 1
> > >   pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class
> > >   pipeline: raspberrypi: Free buffers in the RPiCamera destructor and
> > >     re-configure
> > >   pipeline: raspberrypi: Repurpose RPi::Stream::reset()
> > >   libcamera: v4l2_videodevice: Better tracking of the device state
> > >   libcamera: v4l2_videodevice: Do not allow buffer queueing in stopping
> > >     state
> > >   libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on
> > >     streamOff()
> > >   test: Test V4L2BufferCache::isEmpty() member function
> > >
> > >  include/libcamera/internal/v4l2_videodevice.h |  4 +-
> > >  .../pipeline/raspberrypi/raspberrypi.cpp      | 56 ++++++++++++-------
> > >  .../pipeline/raspberrypi/rpi_stream.cpp       | 13 ++---
> > >  .../pipeline/raspberrypi/rpi_stream.h         |  2 +-
> > >  src/libcamera/v4l2_videodevice.cpp            | 34 +++++++++--
> > >  test/v4l2_videodevice/buffer_cache.cpp        | 36 ++++++++++++
> > >  6 files changed, 112 insertions(+), 33 deletions(-)