[{"id":38561,"web_url":"https://patchwork.libcamera.org/comment/38561/","msgid":"<addZVyhpTDw1uudn@zed>","date":"2026-04-09T07:53:24","subject":"Re: [PATCH v4 0/4] ipa: Allow IPA creation by name","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Hans\n\nOn Wed, Apr 08, 2026 at 01:56:02PM +0200, Hans de Goede wrote:\n> Hi All,\n>\n> This is v4 of Jacopo's v3 \"ipa: Allow IPA creation by name\" series:\n> https://patchwork.libcamera.org/project/libcamera/list/?series=5505\n> With that v3 itself being based on my original attempt to address this:\n> https://patchwork.libcamera.org/patch/23359/\n>\n> Since the new camss pipeline handler will use the softISP as a fallback\n> on platforms where there is no hardware ISP support yet (so most platforms)\n> it needs to be able to load the \"simple\" IPA from a pipeline-handler named\n> \"camss\" requiring something like this series. This is the first of 3 series\n> which together introduce the camss pipeline-handler. Here is a branch with\n> all 3 series:\n> https://github.com/jwrdegoede/libcamera/commits/camss_pipeline_v1/\n>\n> I hope to get this prep series merged while work continues on the camss\n> pipeline handler itself.\n>\n> Other use-cases for this are using the rkips1 IPA with the rcar-gen4\n> pipeline handler and using the simple IPA with the atomisp pipeline\n> handler.\n>\n> This has been tested by Jacopo on R-Car Gen4 and on Mali-C55 and by me\n> on Qualcomm Agetti and Hamoa SoCs with both the simple and camss pipeline\n> handlers.\n\nThanks for re-proposing this.\n\nI still think this is desirable and doesn't introduce major drawbacks.\nIf instead, there are compelling reasons why we should do this I would\nlike them to be clearly listed. I have gone through previous versions\nof the series and I didn't find any email clearly stating why this has\nbeen refused.\n\nOne note: for R-Car Gen4 we won't probably need it anymore in the\nfuture, it will get a dedicated IPA. Nonethless what appears clear to\nme is that we have IPAs that support a specific ISP and pipelines that\nare instead dedicated to the that integrates that ISP. Once multiple\nplatforms integrate the same ISP but change the integration model,\nwe'll need this patch.\n\nOne example: the mali-c55 pipeline is RZ/V2H specific (at least for\nits m2m mode). Once another platform integrates a Mali-C55 and will\nhave a different integration we'll maybe need a new pipeline handler\nbut the IPA should remain the same.\n\nI think, going forward, this situation will be not that uncommon\n(hopefully, as it mean we'll support a lot of new platforms :)\n\n>\n> Changes in v4:\n> - Rebase, change author of first patch to my new email address\n>\n> Changes in v3:\n> - Add \"ipa: Allow pipelines to have differently named IPA\" patch\n>\n> Changes in v2:\n> - Update tags, fix stray blank line\n>\n> Changes in v1 from Hans' original patch:\n> - Slightly different approach addressing the review comments on Hans' v1 by\n>   creating an overload for IPAManager::createIPA() that allows pipelines to\n>   specify the IPA module name.\n>\n> Jacopo's original v3 cover-letter:\n> https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053821.html\n>\n> Regards,\n>\n> Hans\n>\n>\n> Hans de Goede (2):\n>   libcamera: ipa_manager: Create IPA by name\n>   libcamera: software_isp: Explicitly load \"simple\" IPA\n>\n> Jacopo Mondi (2):\n>   ipa: ipa_module: Remove pipelineName\n>   ipa: Allow pipelines to have differently named IPA\n>\n>  include/libcamera/internal/ipa_manager.h    | 13 +++++--\n>  include/libcamera/internal/ipa_module.h     |  4 +--\n>  include/libcamera/ipa/ipa_module_info.h     |  1 -\n>  src/ipa/ipu3/ipu3.cpp                       |  1 -\n>  src/ipa/mali-c55/mali-c55.cpp               |  1 -\n>  src/ipa/meson.build                         | 40 +++++++++++++++------\n>  src/ipa/rkisp1/rkisp1.cpp                   |  1 -\n>  src/ipa/rpi/pisp/pisp.cpp                   |  1 -\n>  src/ipa/rpi/vc4/vc4.cpp                     |  1 -\n>  src/ipa/simple/soft_simple.cpp              |  1 -\n>  src/ipa/vimc/vimc.cpp                       |  1 -\n>  src/libcamera/ipa_manager.cpp               | 34 ++++++++++++++----\n>  src/libcamera/ipa_module.cpp                | 27 +++++++-------\n>  src/libcamera/software_isp/software_isp.cpp |  2 +-\n>  test/ipa/ipa_module_test.cpp                |  3 --\n>  15 files changed, 84 insertions(+), 47 deletions(-)\n>\n> --\n> 2.53.0\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9F0D1BDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Apr 2026 07:53:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AD3F062E3E;\n\tThu,  9 Apr 2026 09:53:30 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9C8A06271A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Apr 2026 09:53:28 +0200 (CEST)","from ideasonboard.com (net-93-65-100-155.cust.vodafonedsl.it\n\t[93.65.100.155])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BDD96121A;\n\tThu,  9 Apr 2026 09:51:59 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"JDQajdrY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1775721119;\n\tbh=W6GfeBzY4agoKNilSl5ojC5/D6x6EY1rhbKkKQ+gU5Y=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=JDQajdrYnHUVbqGaDQHNnjhzpTXKWJC5Rf9rtlJVDVCekkFtn1CODtOxIr4jHii9Y\n\tcxJZvWmWrZv2qHGUOmLoWwuQMH41viokUOHAe9zzVBIHZA1gqWHiTxsHjYaat9dtCH\n\ttq+kEUszSjHltm9zCLvZXcq+TCbgscdXSHYuDgOw=","Date":"Thu, 9 Apr 2026 09:53:24 +0200","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Hans de Goede <johannes.goede@oss.qualcomm.com>","Cc":"libcamera-devel@lists.libcamera.org, \n\tLoic Poulain <loic.poulain@oss.qualcomm.com>","Subject":"Re: [PATCH v4 0/4] ipa: Allow IPA creation by name","Message-ID":"<addZVyhpTDw1uudn@zed>","References":"<20260408115606.12417-1-johannes.goede@oss.qualcomm.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20260408115606.12417-1-johannes.goede@oss.qualcomm.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]