<div dir="ltr">Gentle ping for review.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 21, 2021 at 3:48 PM Hirokazu Honda <<a href="mailto:hiroh@chromium.org">hiroh@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">PipelineHandler originally discards a request with ENOBUFS or<br>
ENOMEM when a buffer is not available. The request will be<br>
successful if enough buffers are available. This patch series<br>
enables to process requests even if no buffer is available then<br>
by storing the requests and retry queuing later.<br>
<br>
Change in v4:<br>
- Squash 1/3 and 3/3<br>
- Use FrameBuffer::cancel() introduced by Kieran's patch series<br>
- Address comments by Laurent<br>
<br>
Change in v3:<br>
- Cancel pending buffers correctly upon PipelineHandlerIPU3::stop()<br>
<br>
Change in v2:<br>
- Move a queue of pending requests to IPU3CameraData<br>
- Pass queuePendingRequests() as signal to CIO2Device and<br>
  IPU3Frame and invoke it from them.<br>
<br>
Hirokazu Honda (2):<br>
  pipeline: ipu3: Store requests in the case a buffer shortage<br>
  libcamera: ipu3: Try queuing pending requests if a buffer is available<br>
<br>
 src/libcamera/pipeline/ipu3/cio2.cpp   |  4 +-<br>
 src/libcamera/pipeline/ipu3/cio2.h     |  2 +<br>
 src/libcamera/pipeline/ipu3/frames.cpp |  6 +-<br>
 src/libcamera/pipeline/ipu3/frames.h   |  4 ++<br>
 src/libcamera/pipeline/ipu3/ipu3.cpp   | 77 +++++++++++++++++++-------<br>
 5 files changed, 70 insertions(+), 23 deletions(-)<br>
<br>
--<br>
2.31.1.368.gbe11c130af-goog<br>
</blockquote></div>