[{"id":36329,"web_url":"https://patchwork.libcamera.org/comment/36329/","msgid":"<20251016184107.GF856714@ragnatech.se>","date":"2025-10-16T18:41:07","subject":"Re: [PATCH v3 0/4] ipa: Allow IPA creation by name","submitter":{"id":230,"url":"https://patchwork.libcamera.org/api/people/230/","name":"Niklas Söderlund","email":"niklas.soderlund+renesas@ragnatech.se"},"content":"Hi Jacopo,\n\nThanks for your series.\n\nOn 2025-10-15 17:55:23 +0200, Jacopo Mondi wrote:\n> It is getting more and more common for different pipeline handlers to\n> use the same IPA modules whose name differs from the pipeline's one.\n> \n> The first case has been the softISP, and now the in-review Renesas R-Car\n> V4H pipeline handler will re-use the RkISP1 IPA.\n> \n> Starting from Hans' patch https://patchwork.libcamera.org/patch/23359/\n> \"libcamera: ipa_manager: createIPA: Allow matching by IPA name instead\n> of by pipeline\" I here took a slightly different approach and addressed\n> the review comments on Hans' v1 by creating an overload for\n> IPAManager::createIPA() that allows pipelines to specify the IPA module\n> name. If they don't provide a name, the pipeline handler's name is used.\n> \n> As the next step, to further decouple IPAs from pipelines, remove the\n> pipelineName field from IPAModuleInfo that in all cases is identical to\n> the IPA name itself.\n> \n> Finaly, in v3, allow to build IPA modules whose name differs from the\n> pipeline. This is required for R-Car Gen4 which would otherwise require\n> to build the rkisp1 pipeline in to get the IPA.\n> \n> I have considered more complex approaches that do not require a map in\n> src/ipa/meson.build, like defining an 'auto' option for ipas, but it\n> would have required to\n> \n> \t-Dpipelines=rcar-gen4 -Dipas=rkisp1\n> \n> while a simple\n> \n> \t-Dpipelines=rcar-gen4\n> \n> which ropes in rkisp1 IPA I think it's preferrable for users.\n> \n> Tested on R-Car Gen4 and on Mali-C55.\n> \n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nI too tested this on R-Car Gen4 with the latest changes to the \nout-of-tree pipeline handler.\n\nTested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>\n\n> ---\n> Changes in v3:\n> - Add patches 3 and 4\n> \n> Changes in v2:\n> - Changed Hans authorship to different email address\n> - Removed stray blank line\n> - Collect tags\n> \n> ---\n> Hans de Goede (1):\n>       libcamera: ipa_manager: Create IPA by name\n> \n> Jacopo Mondi (3):\n>       ipa: ipa_module: Remove pipelineName\n>       ipa: meson.build: Remove duplicated variable\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>  test/ipa/ipa_module_test.cpp             |  3 ---\n>  14 files changed, 82 insertions(+), 47 deletions(-)\n> ---\n> base-commit: 05bfebed2657cc1d032c9796efd9041bfbdc881c\n> change-id: 20251002-ipa-match-by-name-82e6b34a23e9\n> \n> Best regards,\n> -- \n> Jacopo Mondi <jacopo.mondi@ideasonboard.com>\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 EE228BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 16 Oct 2025 18:41:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3ADB36069C;\n\tThu, 16 Oct 2025 20:41:13 +0200 (CEST)","from fout-b1-smtp.messagingengine.com\n\t(fout-b1-smtp.messagingengine.com [202.12.124.144])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DC268605D7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 16 Oct 2025 20:41:11 +0200 (CEST)","from phl-compute-01.internal (phl-compute-01.internal\n\t[10.202.2.41])\n\tby mailfout.stl.internal (Postfix) with ESMTP id 5E1991D00041;\n\tThu, 16 Oct 2025 14:41:10 -0400 (EDT)","from phl-mailfrontend-02 ([10.202.2.163])\n\tby phl-compute-01.internal (MEProxy); Thu, 16 Oct 2025 14:41:10 -0400","by mail.messagingengine.com (Postfix) with ESMTPA; Thu,\n\t16 Oct 2025 14:41:09 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=ragnatech.se header.i=@ragnatech.se\n\theader.b=\"MlB3YaES\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"rbg4Crze\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h=\n\tcc:cc:content-transfer-encoding:content-type:content-type:date\n\t:date:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm1; t=1760640070;\n\tx=1760726470; bh=fdQxkh14L0G3sazTIwOYEF8j446EOvNslwEa7QycHtM=; b=\n\tMlB3YaESXFfWF+tO7WvwgsdQIOYz4WOBD/0ZwALXvFq0zX8ZOI59sc+/HV7Goe4w\n\tN7k9A02BgsYhb/Xte2jQl72dGPKQNfa6TENy85+ljkmqXeWBF+zUurpJw5AnH6wM\n\t64nVOdo5prGm3OvAXHQDmjeOze0EIkXjfnsMPqq0Yvz3z/nPC1fhgQuic083WwRV\n\tfL+6zriCFpDen/tWCK33CYcKJRoD+OsmuYpVhDfwRf+DJRGNxLaKajY89SjYNZmL\n\t5ttXViPVjc67NEX1Lxe5os9irOnl/js77HZfcFvEh13aaEySYIpRCdWw8eeksJOg\n\tmO6/fBIE71JHuo8Ctucd0Q==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1760640070; x=\n\t1760726470; bh=fdQxkh14L0G3sazTIwOYEF8j446EOvNslwEa7QycHtM=; b=r\n\tbg4Crze5M5wdpoUdL7aZYS/P3r1Lkbn9PpW80xHdFsc2lAUGlUbWuFtd5RbH2hhh\n\tA8erwjHlbE2yNXiYiTuVaOiKFb0CdBLiqXcWUStMXmnxABHyy5Bc9DRk04esQTbV\n\tIlk8Hsksy86zQLN2yjScDeZAefjZSOw3DAFOsNkjNcZPhUuaeF8mgEv2CRKfpISz\n\t33dJJ64EKr2r2KiCJ/kUQQVWfith5nzG44xd+3oB+ArpZPH4sD8fkoAPPkdQY8ns\n\totavHe20ZtAuoEJKkzhvCyJyQtoqcv5//+I0djIu8fl8HYEKvG64ZXuJCTFMw8y2\n\tUr9QS0VEVetxgL6ajAErQ=="],"X-ME-Sender":"<xms:RTzxaLuxAPngim2M8xUgLE-xa-aErUDv4F5GeqQerpiHRGhowSdmWQ>\n\t<xme:RTzxaALwzp7f_Rv8fiD-7eFZJroZJRm5WwNWuO2wSjRYwqpYCprS3N8-M4huFr7KB\n\txUivf8jOgzP3A0P-CfHaAcMFOFaR5qPMQA1jOKTDHqjB9j1tSmx6rc>","X-ME-Received":"<xmr:RTzxaIlXWdC2hhgN-fGXHVzWbwVo-otuUpx97YYo3eqNWNX02XXaHy7yNI1IIF947P9rnp_oNLgMJnrnTGqmzda85P53VZ8>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdejtdefucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf\n\tgurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr\n\tshcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugdorhgvnhgvsh\n\tgrshesrhgrghhnrghtvggthhdrshgvqeenucggtffrrghtthgvrhhnpeduteffgfduleej\n\theeuudduteetffeivddtkefghfeftdfgieevueetjefhfeehteenucffohhmrghinheplh\n\thisggtrghmvghrrgdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep\n\tmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugdorhgvnhgvshgrshesrh\n\tgrghhnrghtvggthhdrshgvpdhnsggprhgtphhtthhopeeipdhmohguvgepshhmthhpohhu\n\tthdprhgtphhtthhopehjrggtohhpohdrmhhonhguihesihguvggrshhonhgsohgrrhgurd\n\tgtohhmpdhrtghpthhtoheplhhisggtrghmvghrrgdquggvvhgvlheslhhishhtshdrlhhi\n\tsggtrghmvghrrgdrohhrghdprhgtphhtthhopehhrghnshhgsehkvghrnhgvlhdrohhrgh\n\tdprhgtphhtthhopehmiigrmhgriigrlhesrhgvughhrghtrdgtohhmpdhrtghpthhtohep\n\tkhhivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtghomhdprhgtph\n\thtthhopegsrghrnhgrsggrshdrphhotgiivgesihguvggrshhonhgsohgrrhgurdgtohhm","X-ME-Proxy":"<xmx:RTzxaBLL6F7PH06_wK_1iuBE76a9HZJ69hqRNo8TEjcBemjbI-TO1g>\n\t<xmx:RTzxaN5xnsbOxW87laxV2zxKOsZEooDpSUn5TgnMD3RMrgKW77s-ZQ>\n\t<xmx:RTzxaF0OnPczazBCFh5gOPW00Sm9hltR5Eoy7ThhOmNGPGDOAsfvkA>\n\t<xmx:RTzxaDciHpRkyXR5fkpscJEvYgJbZESVhhU6t6Ggt9YuuGd5BYvIjQ>\n\t<xmx:RjzxaM13AkD4g0l6evPCfILfh11bGhOfWvQpm0qZ9YeuJ5zNlSPKtGw_>","Feedback-ID":"i80c9496c:Fastmail","Date":"Thu, 16 Oct 2025 20:41:07 +0200","From":"Niklas =?utf-8?q?S=C3=B6derlund?=\n\t<niklas.soderlund+renesas@ragnatech.se>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, Hans de Goede <hansg@kernel.org>,\n\tMilan Zamazal <mzamazal@redhat.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?=\n\t<barnabas.pocze@ideasonboard.com>","Subject":"Re: [PATCH v3 0/4] ipa: Allow IPA creation by name","Message-ID":"<20251016184107.GF856714@ragnatech.se>","References":"<20251015-ipa-match-by-name-v3-0-11f9c774c7fc@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20251015-ipa-match-by-name-v3-0-11f9c774c7fc@ideasonboard.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>"}}]