Cover Letter Detail
Show a cover letter.
GET /api/covers/26406/?format=api
{ "id": 26406, "url": "https://patchwork.libcamera.org/api/covers/26406/?format=api", "web_url": "https://patchwork.libcamera.org/cover/26406/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/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": "<20260401-mali-cru-v8-0-44c48f990e28@ideasonboard.com>", "date": "2026-04-01T16:25:49", "name": "[v8,0/8] libcamera: mali-c55: Add support for memory-to-memory", "submitter": { "id": 143, "url": "https://patchwork.libcamera.org/api/people/143/?format=api", "name": "Jacopo Mondi", "email": "jacopo.mondi@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/26406/mbox/", "series": [ { "id": 5864, "url": "https://patchwork.libcamera.org/api/series/5864/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5864", "date": "2026-04-01T16:25:49", "name": "libcamera: mali-c55: Add support for memory-to-memory", "version": 8, "mbox": "https://patchwork.libcamera.org/series/5864/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/26406/comments/", "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 33E5BBDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 1 Apr 2026 16:26:03 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 176A762D61;\n\tWed, 1 Apr 2026 18:26:02 +0200 (CEST)", "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 C97B262CCA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 1 Apr 2026 18:26:00 +0200 (CEST)", "from [100.93.44.16] (net-93-65-100-155.cust.vodafonedsl.it\n\t[93.65.100.155])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 65B45CE7;\n\tWed, 1 Apr 2026 18:24:37 +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=\"ati0rXHz\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1775060677;\n\tbh=ymrvY16Mno/32SuX/A4Rs+Zh0DsbpkRNcf5/PCF/fZI=;\n\th=From:Subject:Date:To:Cc:From;\n\tb=ati0rXHze/J5xxB1bYW0Rm0itYLoCK0ZkRMjJ6ATOIFBWz0GN3nKcBQX6NbybdrJu\n\tcSDsg5Alkk9nzswMqk6m3mXavwx6qc9tH5jd0tagH+HM+kPZL8bVKZ+xUtUHRsegh8\n\tdd6RvJ3SUjWO2p4I9Lt5tDeyvfJOwzt6yIJq4LSM=", "From": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>", "Subject": "[PATCH v8 0/8] libcamera: mali-c55: Add support for memory-to-memory", "Date": "Wed, 01 Apr 2026 18:25:49 +0200", "Message-Id": "<20260401-mali-cru-v8-0-44c48f990e28@ideasonboard.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-B4-Tracking": "v=1; b=H4sIAA1HzWkC/3XQTW7DIBAF4KtErEvFzGAbuuo9qi74GRqkxo5wa\n\t7WKfPfiSJVYhOUDvjcjbmLlknkVL6ebKLzlNS9zDebpJMLZzR8sc6xZoMIBUA3y4j6zDOVbMgI\n\tm4zwRsqjPr4VT/rlXvb3XfM7r11J+780bHKcPSjaQSkYD3g8p8UTuNUd26zL7xZX4HJaLOLo2b\n\tDyoxmP1jKNGiFyvfcdT623jqfqUbEqKtDLedrz+96MioMbr6oOK1gcTokm9/YeeH6rXJlliTYB\n\tWd/zYeGz/b6zew+hV0NaA7c2fGk/Q+OmYHxzHYKxxih/4fd//AH/hX9InAgAA", "X-Change-ID": "20251205-mali-cru-e212f8ab332e", "To": "Daniel Scally <dan.scally@ideasonboard.com>, \n\tlibcamera-devel@lists.libcamera.org", "Cc": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=3450;\n\ti=jacopo.mondi@ideasonboard.com; h=from:subject:message-id;\n\tbh=ymrvY16Mno/32SuX/A4Rs+Zh0DsbpkRNcf5/PCF/fZI=;\n\tb=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBpzUcWfJyH2FdHK5SV/4v8fO5oPpH5Kwc2dDryY\n\t+MNvnZ+ilWJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCac1HFgAKCRByNAaPFqFW\n\tPDjMD/9d7Ad9TgPiEmVzd+37qKTxBBsO04+Fc9SZTu7ZKiSGTSAD4ntTrMBW92+3ouWw4Zos6tB\n\tZJz9SAYXg1lDCKkWFhX0goHKT1CIKnFukOUHcpcisOKCDFoM9C7JQxmkSIEWNPQbpP3hOVmrSXj\n\tKsJ3RzRpXZ5TirvPR+dDBmNSJdcYy9vJjUw4vPh2t7FNCZU4++y9jXiFIEQdIWl9k7Tz6F8/GmE\n\tp5/X3WMcJDkGY+zLj+bTISTGRtH35Iswo9c5mrFVn/LQBlySTjdGh/8lWdDqtMq/vm2zkPPp+HK\n\trIvKM9+wP87B0qE/Puv+LbCh+ygZQlJKfkYuPyAAx7I6QjNNwFQFs3heg+6RFFmpgr0lF0MMRmz\n\tBFqHvuyS9wT8LNy02ao2kLdybluEw0LkzqobEp3uTj+ESfHtnVNYVM/mZukYesKv40pckHR6QML\n\tx2JwxPgs+lVrzM6FHpe4kmQzWzVtBDXlypHVJn5B7JzF+OEbtivVmn8Ibf2LKS4DSbilLrXF7mV\n\tMhoWtdn4WCNdQTeeObbqJFdFSV3+S3irVM8f/DGi4fEKvTeAmelVh4aA4Gl06oAcJ7uwbP1g3Nb\n\tGpJRE65XQ6qnzzy3TN0yhOJAQweYC2wPxA4mOlgQMsfOTEOu7NL4QFxTyVKCJYciSUG6Xy/QzE0\n\tJlqvqQqby96sS+w==", "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": "Add support for m2m camera operations in the mali-c55 pipeline handler.\n\nThe series targets SoCs like the Renesas RZ/V2H(P) one where the\nMali-C55 ISP is integrated in m2m mode. The CSI-2 receiver (CRU) saves\nimages to memory and the ISP is fed through a dedicated DMA engine that\nprovides memory interfacing capabilities.\n\nThe series starts by adding support for the RZG2LCRU class (named after\nthe media device name) and then plumbs memory-to-memory operations in\nthe pipeline handler.\n\nTested on RZ/V2H(P) EVK with imx708 camera sensor.\n\nDan, could you re-test with Inline mode please ?\nI should have collected your fix that restored proper operations with\nInline.\n\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\nChanges in v8:\n- Limit max in-flight requests to 8\n- Minor cosmetics\n\nChanges in v7:\n- Allocate the same number of buffers on Mali and CRU side:\n - Add a patch that defines the number of in-flight requests and use\n them to allocate buffers on the MaliC55 side\n - Make the number of CRU buffers to be allocated configurable\n - Now that the number of Requests in-flight matches the number of\n buffers available for stats, params and CRU, we can remove the\n pendingRequests_ queue and confidentially ASSERT() that we'll always\n have buffers available for capture\n- handle components set-up in registerMemoryInputCamera\n\nChanges in v6:\n- Address use-after-free errors reported by Barnabas by splitting CRU\n buffer release from device streamoff\n- Address proper handling of Camera::stop() when in m2m using ASan. I\n suspect inline would probably need fixes as well when run with ASan\n- Minor improvements to code style\n\nChanges in v5:\n- Use overloaded std::visit when possible\n- Adjust indentation\n\nChanges in v4:\n- Move the overloaded visitor helper to utils.h\n\nChanges in v3:\n- Drop dynamic polymorphism and use overloaded visitor in\n MaliC55CameraData. The result is neater in my opinion.\n- Address Barnabas' comments I missed in v2\n\nChanges in v2:\n- Almost a complete rework of the CameraData which is now a class\n hierarchy. I'm not sure the result is that much cleaner, but hey, I'm\n using templates and pattern with weird names, so it ought be better\n for sure\n\n---\nDaniel Scally (1):\n libcamera: mali-c55: Add RZG2LCRU class\n\nJacopo Mondi (7):\n libcamera: utils: Add overloaded visitor helpers\n libcamera: mali-c55: Split TPG and Inline camera handling\n libcamera: mali-c55: Register memory input camera\n libcamera: mali-c55: Configure camera in memory-to-memory\n libcamera: mali-c55: Do not rely on bufferCount\n libcamera: mali-c55: Implement capture for memory-to-memory\n libcamera: mali-c55: Fix sensor size computation\n\n include/libcamera/base/utils.h | 7 +\n src/libcamera/base/utils.cpp | 35 ++\n src/libcamera/pipeline/mali-c55/mali-c55.cpp | 670 +++++++++++++++++++-------\n src/libcamera/pipeline/mali-c55/meson.build | 3 +-\n src/libcamera/pipeline/mali-c55/rzg2l-cru.cpp | 253 ++++++++++\n src/libcamera/pipeline/mali-c55/rzg2l-cru.h | 70 +++\n src/libcamera/pipeline/virtual/virtual.cpp | 10 +-\n 7 files changed, 860 insertions(+), 188 deletions(-)\n---\nbase-commit: 2a1c75504c789b686b5b37ed8729f632ec81d2f0\nchange-id: 20251205-mali-cru-e212f8ab332e\n\nBest regards," }