[libcamera-devel,v3,0/6] IPU3 Stability
mbox series

Message ID 20210324150125.1318325-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • IPU3 Stability
Related show

Message

Kieran Bingham March 24, 2021, 3:01 p.m. UTC
A reduced set of patches from the previous iteration of the IPU3
Stability developments.


Patches [1/6] and [2/6] are split from a test patch provided to me by
Laurent, where I have added the commit messages.

These ensure that messages sent by the IPA are handled correctly and do
not race at stop() time

Patch [3/6] was identified by valgrind and fixes an issue related to
uninitialised accesses on the buffers. It has been reworked since v2.

Patch [4/6] fixes the ordering of stopping the IPA and video devices,
with [5/6] fixing an issue which previously completed requests (and
associated frame info) before all buffers had completed.

Finally patch [6/6] moves an asynchronous callback out of the
synchronous configure() call, and into start(). This is not expected to
be a substantial change in functionality currently, but should be
considered in follow on developments with the IPA.

Kieran Bingham (4):
  libcamera: buffer: Initialise status
  libcamera: pipeline: ipu3: Stop IPA before stopping devices
  libcamera: pipeline: ipu3: Do not mark metadata complete early
  ipa: ipu3: Do not set controls during configure

Laurent Pinchart (2):
  utils: ipc: proxy: Assert asynchronous calls execute in the running
    state
  utils: ipc: proxy: Process pending messages

 include/libcamera/buffer.h                            |  2 +-
 src/ipa/ipu3/ipu3.cpp                                 | 11 ++++++++---
 src/libcamera/pipeline/ipu3/ipu3.cpp                  |  7 ++-----
 src/libcamera/request.cpp                             |  9 +++++++--
 .../libcamera_templates/module_ipa_proxy.cpp.tmpl     |  2 ++
 .../libcamera_templates/proxy_functions.tmpl          |  6 ++++--
 6 files changed, 24 insertions(+), 13 deletions(-)