From patchwork Fri Feb 19 11:22:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 11344 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 1361ABD1F6 for ; Fri, 19 Feb 2021 11:22:43 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A9F54689C8; Fri, 19 Feb 2021 12:22:42 +0100 (CET) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 47E3F602F5 for ; Fri, 19 Feb 2021 12:22:41 +0100 (CET) X-Originating-IP: 93.34.118.233 Received: from uno.lan (93-34-118-233.ip49.fastwebnet.it [93.34.118.233]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 008F460008 for ; Fri, 19 Feb 2021 11:22:40 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Fri, 19 Feb 2021 12:22:57 +0100 Message-Id: <20210219112257.53307-1-jacopo@jmondi.org> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH] libcamera: ipu3: Do not over-write metadata X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" When a Request is completed upon receiving the IPA produced metadata, the metadata associated with the Request are over-written, deleting the information set, in example, at ImgU output buffer completion time. If any additional Request metadata should be registered by inspecting the IPA produced metadata it has to be done without deleting the already registered entries. Fix this by replacing the metadata over-write with a todo entry. This change fixes CTS which was broken due to missing metadata in the completed requests. Fixes: 9708f49fecf2 ("libcamera: ipu3: Share parameter and statistic buffers with IPA") Signed-off-by: Jacopo Mondi Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/libcamera/pipeline/ipu3/ipu3.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.30.0 diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 2aed826a892a..9e867ab2e98a 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -1101,8 +1101,11 @@ void IPU3CameraData::queueFrameAction(unsigned int id, if (!info) break; + /* + * \todo Parse the value of the controls returned by the IPA + * in action.controls to register additional request metadata. + */ Request *request = info->request; - request->metadata() = action.controls; info->metadataProcessed = true; if (frameInfos_.tryComplete(info)) pipe_->completeRequest(request);