ipa: Do not modify the sensor limits

The driver is responsible for setting the proper limits for its
controls.

The IMX219 has an analogue gain of 1.0 when the gain code is set to 0,
therefore we can not clamp to a minimum gain code of 1.

Rework this for both IPU3 and RkISP1, for both Exposure and Gain
controls.

Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Jean-Michel Hautbois 2021-11-22 14:59:13 +01:00
parent 90da3af347
commit ed1cb19e76
2 changed files with 4 additions and 4 deletions

View file

@ -444,11 +444,11 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo,
return -EINVAL;
}
minExposure_ = std::max(itExp->second.min().get<int32_t>(), 1);
minExposure_ = itExp->second.min().get<int32_t>();
maxExposure_ = itExp->second.max().get<int32_t>();
exposure_ = minExposure_;
minGain_ = std::max(itGain->second.min().get<int32_t>(), 1);
minGain_ = itGain->second.min().get<int32_t>();
maxGain_ = itGain->second.max().get<int32_t>();
gain_ = minGain_;

View file

@ -139,11 +139,11 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info,
autoExposure_ = true;
minExposure_ = std::max<uint32_t>(itExp->second.min().get<int32_t>(), 1);
minExposure_ = itExp->second.min().get<int32_t>();
maxExposure_ = itExp->second.max().get<int32_t>();
exposure_ = minExposure_;
minGain_ = std::max<uint32_t>(itGain->second.min().get<int32_t>(), 1);
minGain_ = itGain->second.min().get<int32_t>();
maxGain_ = itGain->second.max().get<int32_t>();
gain_ = minGain_;