[PATCH 01/12] ipa: rkisp1: agc: Fix initialization without metering modes

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Jun 16 18:38:59 CEST 2024


When no metering modes are specified in the tuning file, the AGC
initialzation fails with

[0:00:46.148508875] [209] ERROR RkISP1Agc agc.cpp:46 'AeMeteringMode' parameter not found in tuning file

which results in a camera initialization failure. Fix it by downgrading
the error into a warning, and continuing the AGC initialization with the
default metering mode.

Fixes: 35233938ee5d ("ipa: rkisp1: agc: Read histogram weights from tuning file")
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/ipa/rkisp1/algorithms/agc.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
index 8702145187c7..0f60d08fd41c 100644
--- a/src/ipa/rkisp1/algorithms/agc.cpp
+++ b/src/ipa/rkisp1/algorithms/agc.cpp
@@ -42,11 +42,9 @@ LOG_DEFINE_CATEGORY(RkISP1Agc)
 
 int Agc::parseMeteringModes(IPAContext &context, const YamlObject &tuningData)
 {
-	if (!tuningData.isDictionary()) {
-		LOG(RkISP1Agc, Error)
+	if (!tuningData.isDictionary())
+		LOG(RkISP1Agc, Warning)
 			<< "'AeMeteringMode' parameter not found in tuning file";
-		return -EINVAL;
-	}
 
 	for (const auto &[key, value] : tuningData.asDict()) {
 		if (controls::AeMeteringModeNameValueMap.find(key) ==
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list