[1/2] ipa: mali-c55: Retain Camera::controls() after ipa->configure()
diff mbox series

Message ID 20260122-ipa-controls-v1-1-b8c4c345f7ae@ideasonboard.com
State New
Headers show
Series
  • ipa: Retain Camera::controls() after ipa->configure()
Related show

Commit Message

Jacopo Mondi Jan. 22, 2026, 5:48 p.m. UTC
Similar to what commit acfd60276763 ("ipa: rkisp1: Fix algorithm controls
vanish after configure") did for the RkISP1 IPA, replace the usage of
unordered_map::merge() at updateControls() time with
unordered_map::insert().

As unordered_map::merge moves items from the source map, it deletes
controls registered at algorithms initialization time in the
ipaContext.ctrlMap. As at configure() time updateControls() is called
again and the list of Camera controls is refreshed, the controls
registered at algorithms initialization time are lost.

Fixes: fe989ee51498 ("ipa: mali-c55: Add Mali-C55 ISP IPA module")
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 src/ipa/mali-c55/mali-c55.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/src/ipa/mali-c55/mali-c55.cpp b/src/ipa/mali-c55/mali-c55.cpp
index 1d2a4f75cf8c..c626e246643b 100644
--- a/src/ipa/mali-c55/mali-c55.cpp
+++ b/src/ipa/mali-c55/mali-c55.cpp
@@ -264,7 +264,7 @@  void IPAMaliC55::updateControls(const IPACameraSensorInfo &sensorInfo,
 	 * Merge in any controls that we support either statically or from the
 	 * algorithms.
 	 */
-	ctrlMap.merge(context_.ctrlMap);
+	ctrlMap.insert(context_.ctrlMap.begin(), context_.ctrlMap.end());
 
 	*ipaControls = ControlInfoMap(std::move(ctrlMap), controls::controls);
 }