From patchwork Wed Mar 25 15:13:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 26368 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 94B28C3307 for ; Wed, 25 Mar 2026 15:15:56 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 3090362CD2; Wed, 25 Mar 2026 16:15:56 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="vF0yjSK7"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B6C0662CD5 for ; Wed, 25 Mar 2026 16:15:54 +0100 (CET) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:b16a:5ed9:4ada:a95a]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id C3DB31ADE; Wed, 25 Mar 2026 16:14:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774451676; bh=fjxxuf012oHI0Q2/ChKYB5utpY/hbRP/Lqf0OVZX0Io=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vF0yjSK7kaM/DrsXGY5bO7Y6pg1YByWEMkYiCLk+lpJNd6oJBlUMFwl6ETtUeUbMe RpUPMcl49zrUp2PDQf2NdBv2PBX0/L2hNRhMZXO2TJwuNXQ1MKuS+RiVRNoQ6uPQvh CIo9Lbh8yMeYmy1Z7rjw+0IZGW2xmyrrskbpTnjY= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH v2 26/32] pipline: rkisp1: Reinstantiate maxQueuedRequestsDevice limit Date: Wed, 25 Mar 2026 16:13:58 +0100 Message-ID: <20260325151416.2114564-27-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260325151416.2114564-1-stefan.klug@ideasonboard.com> References: <20260325151416.2114564-1-stefan.klug@ideasonboard.com> MIME-Version: 1.0 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" With the pipeline rework, the maxQueuedRequestsDevice should not be necessary anymore, as prepare() and therefore the calculation for the ISP regulation is called only as late as possible when a params buffer was dequeued. However with unlimited maxQueuedRequestsDevice all the incoming requests get immediately queued to the ipa with the sensor sequence number that was anticipated for that request at queueRequestDevice time. Now when the correction tries to mitigate dropped sequence numbers, it will call computeParams() with sensor frame numbers that were not anticipated for the requests queued to the IPA. There still might be a better solution to this, but reinstantiating the limit reduces the effect. Signed-off-by: Stefan Klug --- Changes in v2: - Added this patch --- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index f3e0ee5d3028..46c157526ea1 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -730,7 +730,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate() */ PipelineHandlerRkISP1::PipelineHandlerRkISP1(CameraManager *manager) - : PipelineHandler(manager), hasSelfPath_(true) + : PipelineHandler(manager, kRkISP1MinBufferCount), hasSelfPath_(true) { }