[v7,4/8] pipeline: rpi: Explictly pass pipe()->name() when creating IPA
diff mbox series

Message ID 20260812184912.287894-5-johannes.goede@oss.qualcomm.com
State New
Headers show
Series
  • ipa: Allow IPA creation by name
Related show

Commit Message

Hans de Goede Aug. 12, 2026, 6:49 p.m. UTC
Switch to explicitly specifying the pipeline-name as the name of the IPA
to create.

This is a preparation patch for switching the default IPA creation to
matching IPA by IPA proxy type, which does not work for rpi because
the same IPAProxyRPi type is used for both the rpi/vc4 and rpi/pisp
pipeline handlers.

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
---
Changes in v7:
- Add a comment explaining why pipe()->name() is used when creating the IPA

Changes in v6:
- New patch in v6 of this patch-series
---
 src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
index 5a5acf6a1..802b2b3c7 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
@@ -1165,7 +1165,13 @@  int CameraData::loadIPA(ipa::RPi::InitResult *result)
 {
 	int ret;
 
-	ipa_ = pipe()->createIPA<ipa::RPi::IPAProxyRPi>(1, 1);
+	/*
+	 * Explicitly pass pipe()->name() to select the IPA to create.
+	 * The default behavior of creating the IPA by the IPA proxy type name
+	 * does not work because the same IPAProxyRPi type is used for both
+	 * the rpi/vc4 and rpi/pisp pipeline handlers.
+	 */
+	ipa_ = pipe()->createIPA<ipa::RPi::IPAProxyRPi>(pipe()->name(), 1, 1);
 
 	if (!ipa_)
 		return -ENOENT;