{"id":19660,"url":"https://patchwork.libcamera.org/api/patches/19660/?format=json","web_url":"https://patchwork.libcamera.org/patch/19660/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240311123234.32925-5-jacopo.mondi@ideasonboard.com>","date":"2024-03-11T12:32:32","name":"[v2,4/4] libcamera: ipu3: Return Raw buffers on error","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":false,"hash":"3f25f1a30f3b0c326b37028099c0836f1dc7e608","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/?format=json","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19660/mbox/","series":[{"id":4211,"url":"https://patchwork.libcamera.org/api/series/4211/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4211","date":"2024-03-11T12:32:28","name":"libcamera: Replace IPU3/RkISP1FrameInfo","version":2,"mbox":"https://patchwork.libcamera.org/series/4211/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19660/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19660/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 CDB0BBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 11 Mar 2024 12:32:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E0F4B62C8D;\n\tMon, 11 Mar 2024 13:32:49 +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 E136462C8B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 Mar 2024 13:32:45 +0100 (CET)","from localhost.localdomain (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9E9C2C85;\n\tMon, 11 Mar 2024 13:32:24 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"AG787P3l\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1710160344;\n\tbh=sF0DrTYu2Cc+ovujEymNlCdkBtQrKRo8jyD5vbstFlw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=AG787P3l+lA6h/FaEp05MA5FjR6ptvpYruB3Mr3tZ1js6xAwi4eecilhl/dWzjS/j\n\tcBxEUAbSQ7cIvQnmJN8ymdOehjNBuYokLAkVexuuevHvmbCvbX4oH9dBS57lQftBPv\n\tHU3pcw0cGXFT+2Qt1002Uxriu40FvPIxd1pQOzE8=","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH v2 4/4] libcamera: ipu3: Return Raw buffers on error","Date":"Mon, 11 Mar 2024 13:32:32 +0100","Message-ID":"<20240311123234.32925-5-jacopo.mondi@ideasonboard.com>","X-Mailer":"git-send-email 2.43.2","In-Reply-To":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>","References":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"When a Request is cancelled, all its application-provided buffers\nare completed and the paramters and stats buffer are made available\nagain to the pipeline handler.\n\nIf the RAW buffer doesn't come from the application (no RAW stream\nrequested) it comes from the CIO2Device internal pool. Return it to\nthe CIO2 pool in case of error.\n\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\nReviewed-by: Daniel Scally <dan.scally@ideasonboard.com>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n 1 file changed, 3 insertions(+)","diff":"diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 0c9d3167d2e6..57d0d6ed4758 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -1384,6 +1384,9 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n \t\tavailableParamBuffers_.push(request->paramBuffer);\n \t\tavailableStatBuffers_.push(request->statBuffer);\n \n+\t\t/* Return RAW buffer to the CIO2. */\n+\t\tcio2_.tryReturnBuffer(buffer);\n+\n \t\tpipe()->completeRequest(request->_o<Request>());\n \t\treturn;\n \t}\n","prefixes":["v2","4/4"]}