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

Paul Elder paul.elder at ideasonboard.com
Mon Jun 17 12:10:00 CEST 2024


On Sun, Jun 16, 2024 at 07:38:59PM +0300, Laurent Pinchart wrote:
> 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>

Reviewed-by: Paul Elder <paul.elder 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) ==


More information about the libcamera-devel mailing list