[libcamera-devel] [PATCH v2 0/5] libcamera: control serializer fixes
Jacopo Mondi
jacopo at jmondi.org
Tue Sep 7 13:10:33 CEST 2021
This series has started from investigating an error triggered by running
consecutive capture sessions with the IPU3 IPA module running in isolation.
>From there a few more fixes/improvements have lead me to be capable to running
CTS with isolated IPA with a single failure (the flaky recording tests).
Patch 1 is a small cleanup of the IPU3 IPA interface.
Patches 2, 3 and 4 fix issues in the control serializer, most of them went not
noticed as the IPA is seldom run isolated for the moment.
Patch 5 is new and replaces "libcamera: control_serializer: Keep handles in
sync" from v1 and represents the most relevant change.
As the v1 version still allowed conflicts to happen, this new version adds a
'seed' to the ControlSerializer and partitions the handles numerical space on
the two sides of the IPC boundary so that the Proxy and the ProxyWorker will
never use the same handles.
All patches reviewed except the new one.
Thanks
j
Jacopo Mondi (5):
libcamera: ipu3: Drop entityControls map
ipa: proxy_worker: Reset ControlSerializer on worker
libcamera: control_serializer: Use the right idmap
libcamera: control_serializer: Serialize info::def()
libcamera: control_serializer: Separate the handles space
include/libcamera/controls.h | 1 +
.../libcamera/internal/control_serializer.h | 8 +-
include/libcamera/ipa/ipu3.mojom | 2 +-
src/ipa/ipu3/ipu3.cpp | 6 +-
src/libcamera/control_serializer.cpp | 117 +++++++++++++++---
src/libcamera/controls.cpp | 8 ++
src/libcamera/ipa_controls.cpp | 14 ++-
src/libcamera/pipeline/ipu3/ipu3.cpp | 2 +-
test/serialization/control_serialization.cpp | 4 +-
.../ipa_data_serializer_test.cpp | 26 ++--
.../module_ipa_proxy.cpp.tmpl | 6 +-
.../module_ipa_proxy.h.tmpl | 2 +-
.../module_ipa_proxy_worker.cpp.tmpl | 16 ++-
.../libcamera_templates/proxy_functions.tmpl | 4 +-
14 files changed, 168 insertions(+), 48 deletions(-)
--
2.32.0
More information about the libcamera-devel
mailing list