Patch Detail
Show a patch.
GET /api/1.1/patches/25944/?format=api
{ "id": 25944, "url": "https://patchwork.libcamera.org/api/1.1/patches/25944/?format=api", "web_url": "https://patchwork.libcamera.org/patch/25944/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260122-ipa-controls-v1-1-b8c4c345f7ae@ideasonboard.com>", "date": "2026-01-22T17:48:28", "name": "[1/2] ipa: mali-c55: Retain Camera::controls() after ipa->configure()", "commit_ref": "202e330789f7bfcf0c6d32bcc0041f664f892b02", "pull_url": null, "state": "accepted", "archived": false, "hash": "ee40fd20dfe4c12913e5e18fb031ea077b357ee4", "submitter": { "id": 143, "url": "https://patchwork.libcamera.org/api/1.1/people/143/?format=api", "name": "Jacopo Mondi", "email": "jacopo.mondi@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/25944/mbox/", "series": [ { "id": 5735, "url": "https://patchwork.libcamera.org/api/1.1/series/5735/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5735", "date": "2026-01-22T17:48:27", "name": "ipa: Retain Camera::controls() after ipa->configure()", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5735/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/25944/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/25944/checks/", "tags": {}, "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 ABEA9BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Jan 2026 17:48:43 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 321B461FC5;\n\tThu, 22 Jan 2026 18:48:41 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5EAB461FC3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 Jan 2026 18:48:39 +0100 (CET)", "from [192.168.1.105] (mob-5-90-62-9.net.vodafone.it [5.90.62.9])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7F04063B;\n\tThu, 22 Jan 2026 18:48:06 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"rnwXiCfK\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769104086;\n\tbh=w+Mc17C0QWwpzUKD6yQdZd0NzEjKBuR6eG69HEmNjmg=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:From;\n\tb=rnwXiCfKPM+qlUMY5JovFT9OvViW2HxXpt72rUmhVLes/qT0R05EYNGBKkQKs6AV4\n\t3cZNNf3Uig8HYaJJvemofIXNNjjoCT4tE4VLZWhh8TdKlSKGBRf4GfPdAQg8jMOZ/5\n\tKj4jSWikmva4Leg7nB8vXAOtAMJIZ5EAKl8w72PM=", "From": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>", "Date": "Thu, 22 Jan 2026 18:48:28 +0100", "Subject": "[PATCH 1/2] ipa: mali-c55: Retain Camera::controls() after\n\tipa->configure()", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260122-ipa-controls-v1-1-b8c4c345f7ae@ideasonboard.com>", "References": "<20260122-ipa-controls-v1-0-b8c4c345f7ae@ideasonboard.com>", "In-Reply-To": "<20260122-ipa-controls-v1-0-b8c4c345f7ae@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=1360;\n\ti=jacopo.mondi@ideasonboard.com; h=from:subject:message-id;\n\tbh=w+Mc17C0QWwpzUKD6yQdZd0NzEjKBuR6eG69HEmNjmg=;\n\tb=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBpcmL1DEhw/9Rch/hu4VAngGnSVgxFbq6jLj2qo\n\t7Lg4VLuozaJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCaXJi9QAKCRByNAaPFqFW\n\tPBujD/wPnMvjjGYZQDxtm6LZR05f+BjKb2cm/bRL/1ch733IIRRE3rra30uo7IGaBdxpYWpuQgq\n\t6isOl2U8obNbn1E0YPpQrY0EykxrQul7oraWteR1/eaQhg51labIfkFZlu2liuI/lMR5WYJxSQJ\n\tMn30FfOpDFqS27ZZi9xGYCtAOWrUfyo2/8vJ2bdE6FN9ApTa+B1DES2/yWxj7XmwBa7UNNGh7bn\n\tr9EFgz/Jw8GEEMr1WoExDsHcn3KaCNOGESskzc0IiLBfi5nCsDLV1YeaNdZnSiuxTDwNNkdiHZa\n\teZ4c0ZWjvQYxu3JCAuyJYe1kznGIGhXCdcgiYU3cFJF5N+ALPos2T4xe9aiHI0OlSpNOfko6d+w\n\tQbgFj7oa7k7xTe3pV7Z4x7hG1+T52yoludYq5tp6Ybr4l/gtEpHei2CM2Fh+HUO+82j5NuOA5kK\n\tFmGochVgzBK4x6PSBGZsKlCFVeRFOX6nqW26ialKBKV+nfTM5MWwiXs0UrO5cJDTDd9P3z34776\n\th/06+s98DfCPBERJpXZTODygNkLab6aFooFt6uIE/kOu1HleCIs1NxW+IQo3ryINeiCq0mzo7ZP\n\tpNnVYuDi37pTJkMz+CRxJH1MuqKof27nGwZAtBYnemtfb9XmrrdPdSByzE5skNS4gf6Z9W9K0ye\n\t2rncv1EPb8PLFOg==", "X-Developer-Key": "i=jacopo.mondi@ideasonboard.com; a=openpgp;\n\tfpr=72392EDC88144A65C701EA9BA5826A2587AD026B", "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>" }, "content": "Similar to what commit acfd60276763 (\"ipa: rkisp1: Fix algorithm controls\nvanish after configure\") did for the RkISP1 IPA, replace the usage of\nunordered_map::merge() at updateControls() time with\nunordered_map::insert().\n\nAs unordered_map::merge moves items from the source map, it deletes\ncontrols registered at algorithms initialization time in the\nipaContext.ctrlMap. As at configure() time updateControls() is called\nagain and the list of Camera controls is refreshed, the controls\nregistered at algorithms initialization time are lost.\n\nFixes: fe989ee51498 (\"ipa: mali-c55: Add Mali-C55 ISP IPA module\")\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\n src/ipa/mali-c55/mali-c55.cpp | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)", "diff": "diff --git a/src/ipa/mali-c55/mali-c55.cpp b/src/ipa/mali-c55/mali-c55.cpp\nindex 1d2a4f75cf8c..c626e246643b 100644\n--- a/src/ipa/mali-c55/mali-c55.cpp\n+++ b/src/ipa/mali-c55/mali-c55.cpp\n@@ -264,7 +264,7 @@ void IPAMaliC55::updateControls(const IPACameraSensorInfo &sensorInfo,\n \t * Merge in any controls that we support either statically or from the\n \t * algorithms.\n \t */\n-\tctrlMap.merge(context_.ctrlMap);\n+\tctrlMap.insert(context_.ctrlMap.begin(), context_.ctrlMap.end());\n \n \t*ipaControls = ControlInfoMap(std::move(ctrlMap), controls::controls);\n }\n", "prefixes": [ "1/2" ] }