[v5,0/4] ipa: Allow IPA creation by name
mbox series

Message ID 20260512175340.115153-1-johannes.goede@oss.qualcomm.com
Headers show
Series
  • ipa: Allow IPA creation by name
Related show

Message

Hans de Goede May 12, 2026, 5:53 p.m. UTC
Hi All,

This is v5 of my / Jacopo's "ipa: Allow IPA creation by name" series:
https://patchwork.libcamera.org/project/libcamera/list/?series=5505

Since the new camss pipeline handler will use the softISP as a fallback
on platforms where there is no hardware ISP support yet (so most platforms)
it needs to be able to load the "simple" IPA from a pipeline-handler named
"camss" requiring something like this series.

I hope to get this prep series merged while work continues on the camss
pipeline handler itself.

Other use-cases for this are using the rkips1 IPA with the rcar-gen4
pipeline handler and using the simple IPA with the atomisp pipeline
handler.

This has been tested by Jacopo on R-Car Gen4 and on Mali-C55 and by me
on Qualcomm Agetti and Hamoa SoCs with both the simple and camss pipeline
handlers.

Changes in v5:
- Rebase on top of db998e618aaa ("libcamera: pipeline_handler: Add
  createIPA() function") which moved the createIPA() wrapper for
  pipeline-handlers into the PipelineHandler class

Changes in v4:
- Rebase, change author of first patch to my new email address

Changes in v3:
- Add "ipa: Allow pipelines to have differently named IPA" patch

Changes in v2:
- Update tags, fix stray blank line

Changes in v1 from Hans' original patch:
- Slightly different approach addressing the review comments on Hans' v1 by
  creating an overload for IPAManager::createIPA() that allows pipelines to
  specify the IPA module name.

Jacopo's original v3 cover-letter:
https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053821.html

Regards,

Hans


Hans de Goede (2):
  libcamera: Create IPA by name
  libcamera: software_isp: Explicitly load "simple" IPA

Jacopo Mondi (2):
  ipa: ipa_module: Remove pipelineName
  ipa: Allow pipelines to have differently named IPA

 include/libcamera/internal/ipa_manager.h      |  6 +--
 include/libcamera/internal/ipa_module.h       |  4 +-
 include/libcamera/internal/pipeline_handler.h |  9 ++++-
 include/libcamera/ipa/ipa_module_info.h       |  1 -
 src/ipa/ipu3/ipu3.cpp                         |  1 -
 src/ipa/mali-c55/mali-c55.cpp                 |  1 -
 src/ipa/meson.build                           | 40 ++++++++++++++-----
 src/ipa/rkisp1/rkisp1.cpp                     |  1 -
 src/ipa/rpi/pisp/pisp.cpp                     |  1 -
 src/ipa/rpi/vc4/vc4.cpp                       |  1 -
 src/ipa/simple/soft_simple.cpp                |  1 -
 src/ipa/vimc/vimc.cpp                         |  1 -
 src/libcamera/ipa_manager.cpp                 |  8 ++--
 src/libcamera/ipa_module.cpp                  | 29 ++++++--------
 src/libcamera/pipeline_handler.cpp            | 25 +++++++++++-
 src/libcamera/software_isp/software_isp.cpp   |  2 +-
 test/ipa/ipa_module_test.cpp                  |  3 --
 17 files changed, 84 insertions(+), 50 deletions(-)