[v2,8/8] camera, ipa: all: Remove AeEnable handling
diff mbox series

Message ID 20250703114225.2074071-9-paul.elder@ideasonboard.com
State New
Headers show
Series
  • Add Layers support
Related show

Commit Message

Paul Elder July 3, 2025, 11:42 a.m. UTC
Remove AeEnable handling from the Camera and all IPAs, as it is now
handled by the inject_controls layer.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

---
The mali-c55 IPA needs to support AnalogueGainMode and ExposureTimeMode,
but that is out of scope for this series.

No change in v2
---
 src/ipa/mali-c55/algorithms/agc.cpp          |  1 +
 src/ipa/rkisp1/algorithms/agc.cpp            |  2 --
 src/ipa/rpi/common/ipa_base.cpp              |  2 --
 src/libcamera/camera.cpp                     | 19 -------------------
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp |  5 -----
 5 files changed, 1 insertion(+), 28 deletions(-)

Patch
diff mbox series

diff --git a/src/ipa/mali-c55/algorithms/agc.cpp b/src/ipa/mali-c55/algorithms/agc.cpp
index 70667db34f1e..818cea35afa9 100644
--- a/src/ipa/mali-c55/algorithms/agc.cpp
+++ b/src/ipa/mali-c55/algorithms/agc.cpp
@@ -137,6 +137,7 @@  int Agc::init(IPAContext &context, const YamlObject &tuningData)
 	if (ret)
 		return ret;
 
+	/* \todo Support AnalogueGainMode and ExposureTimeMode */
 	context.ctrlMap[&controls::AeEnable] = ControlInfo(false, true);
 	context.ctrlMap[&controls::DigitalGain] = ControlInfo(
 		static_cast<float>(kMinDigitalGain),
diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
index 137a0750017b..8a890d387efb 100644
--- a/src/ipa/rkisp1/algorithms/agc.cpp
+++ b/src/ipa/rkisp1/algorithms/agc.cpp
@@ -155,8 +155,6 @@  int Agc::init(IPAContext &context, const YamlObject &tuningData)
 		ControlInfo({ { ControlValue(controls::AnalogueGainModeAuto),
 				ControlValue(controls::AnalogueGainModeManual) } },
 			    ControlValue(controls::AnalogueGainModeAuto));
-	/* \todo Move this to the Camera class */
-	context.ctrlMap[&controls::AeEnable] = ControlInfo(false, true, true);
 	context.ctrlMap.merge(controls());
 
 	return 0;
diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
index 6565f5366312..059b1bd5942e 100644
--- a/src/ipa/rpi/common/ipa_base.cpp
+++ b/src/ipa/rpi/common/ipa_base.cpp
@@ -55,8 +55,6 @@  constexpr Duration controllerMinFrameDuration = 1.0s / 30.0;
 
 /* List of controls handled by the Raspberry Pi IPA */
 const ControlInfoMap::Map ipaControls{
-	/* \todo Move this to the Camera class */
-	{ &controls::AeEnable, ControlInfo(false, true, true) },
 	{ &controls::ExposureTimeMode,
 	  ControlInfo({ { ControlValue(controls::ExposureTimeModeAuto),
 			  ControlValue(controls::ExposureTimeModeManual) } },
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index 665fc5157349..3d0782a9eed2 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -1374,25 +1374,6 @@  int Camera::queueRequest(Request *request)
 		}
 	}
 
-	/* Pre-process AeEnable. */
-	ControlList &controls = request->controls();
-	const auto &aeEnable = controls.get(controls::AeEnable);
-	if (aeEnable) {
-		if (_d()->controlInfo_.count(controls::AnalogueGainMode.id()) &&
-		    !controls.contains(controls::AnalogueGainMode.id())) {
-			controls.set(controls::AnalogueGainMode,
-				     *aeEnable ? controls::AnalogueGainModeAuto
-					       : controls::AnalogueGainModeManual);
-		}
-
-		if (_d()->controlInfo_.count(controls::ExposureTimeMode.id()) &&
-		    !controls.contains(controls::ExposureTimeMode.id())) {
-			controls.set(controls::ExposureTimeMode,
-				     *aeEnable ? controls::ExposureTimeModeAuto
-					       : controls::ExposureTimeModeManual);
-		}
-	}
-
 	LayerManager *layerManager = d->pipe()->cameraManager()->_d()->layerManager();
 	layerManager->queueRequest(this, request);
 
diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
index 4b5816dfdde0..ab12d5b5ae9a 100644
--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
@@ -607,11 +607,6 @@  int UVCCameraData::init(MediaDevice *media)
 		addControl(cid, info, &ctrls);
 	}
 
-	if (autoExposureMode_ && manualExposureMode_) {
-		/* \todo Move this to the Camera class */
-		ctrls[&controls::AeEnable] = ControlInfo(false, true, true);
-	}
-
 	controlInfo_ = ControlInfoMap(std::move(ctrls), controls::controls);
 
 	/*