From 8fd673deaf9beb2e9be9c81342f728c2b7b0513a Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Sun, 16 Jun 2024 00:34:16 +0300
Subject: ipa: rkisp1: agc: Fix initialization without metering modes

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@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
---
 src/ipa/rkisp1/algorithms/agc.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

(limited to 'src/ipa/rkisp1')

diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
index 87021451..0f60d08f 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) ==
-- 
cgit v1.2.1