[libcamera-devel] [PATCH v3 0/5] libcamera: control serializer fixes
Jacopo Mondi
jacopo at jmondi.org
Fri Sep 24 19:25:20 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.
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 | 120 +++++++++++++++---
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 | 6 +-
.../module_ipa_proxy.cpp.tmpl | 3 +-
.../module_ipa_proxy_worker.cpp.tmpl | 7 +-
12 files changed, 146 insertions(+), 35 deletions(-)
--
2.32.0
More information about the libcamera-devel
mailing list