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: 35233938ee ("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>
This commit is contained in:
Laurent Pinchart 2024-06-16 00:34:16 +03:00
parent 01a33fedf6
commit 8fd673deaf

View file

@ -42,11 +42,9 @@ LOG_DEFINE_CATEGORY(RkISP1Agc)
int Agc::parseMeteringModes(IPAContext &context, const YamlObject &tuningData) int Agc::parseMeteringModes(IPAContext &context, const YamlObject &tuningData)
{ {
if (!tuningData.isDictionary()) { if (!tuningData.isDictionary())
LOG(RkISP1Agc, Error) LOG(RkISP1Agc, Warning)
<< "'AeMeteringMode' parameter not found in tuning file"; << "'AeMeteringMode' parameter not found in tuning file";
return -EINVAL;
}
for (const auto &[key, value] : tuningData.asDict()) { for (const auto &[key, value] : tuningData.asDict()) {
if (controls::AeMeteringModeNameValueMap.find(key) == if (controls::AeMeteringModeNameValueMap.find(key) ==