@@ -330,6 +330,9 @@  int PipelineHandlerVimc::queueRequest(Camera *camera, Request *request)
 		return -ENOENT;
 	}
 
+	if (ipa_)
+		ipa_->queueRequest(request->controls());
+
 	int ret = processControls(data, request);
 	if (ret < 0)
 		return ret;
@@ -371,6 +374,9 @@  bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
 	if (data->init(media))
 		return false;
 
+	if (ipa_)
+		ipa_->initControls(data->controlInfo_);
+
 	/* Create and register the camera. */
 	std::set<Stream *> streams{ &data->stream_ };
 	std::shared_ptr<Camera> camera = Camera::create(this, "VIMC Sensor B",
 
  
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- src/libcamera/pipeline/vimc.cpp | 6 ++++++ 1 file changed, 6 insertions(+)