From patchwork Sun Oct 12 14:20:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Robert Mader X-Patchwork-Id: 24597 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 CE6EEC3264 for ; Sun, 12 Oct 2025 14:21:31 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 054AD60448; Sun, 12 Oct 2025 16:21:31 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=collabora.com header.i=robert.mader@collabora.com header.b="Ba7MqWmE"; dkim-atps=neutral Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 695D5603ED for ; Sun, 12 Oct 2025 16:21:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; t=1760278884; cv=none; d=zohomail.com; s=zohoarc; b=c4fGGDcAc8Bb1msb5b944AD+JTUWG3dsHQXGafV9ewwD76oSehgpuJmLe9RuboY8Cs6ValP6K3GsVNwNtaqocld6kXRiSsnguK4Pz0HXirRz/zPU88m9DGwTdogjQE3ZKZH24dbf0HTeV3DrrgBeUo7ifgtpOD+VMIDEzaIl6+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760278884; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=eD++56ezFeHc76bmVc8rSqAjz/JrJETUCJxii0+Wbws=; b=NMCscxgAx/VyBlDIwFbk9p5LqEu1Td4DMufaHyBcywElxYCL4RB9eURp6/4RwtneKscF8cOANP9Mxznmx12z/yka2sVyyJB37z8zfBDueFnQb7tm9WWdWc5A/soe+Tj1jWCOvFyFyPaF8Fgo7bRX3zJ8dAk1gHQiRaC9nuEY6yw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=robert.mader@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1760278884; s=zohomail; d=collabora.com; i=robert.mader@collabora.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=eD++56ezFeHc76bmVc8rSqAjz/JrJETUCJxii0+Wbws=; b=Ba7MqWmE630UuQKEf2KyeiB3f7E+annt+TcmJFmCtNt+r845RLRIMdm3s9MbrhDM QJI33NjYoOpX3gwSOZK1Jky7eBHmSvGn1IsMDeNTNS8MSChc9dJ2ouArLXFd4WDmIFi 8jjq+sURU6yXhtW8+id71+9pN098wl/DVnEXJoC4= Received: by mx.zohomail.com with SMTPS id 176027888398845.66199855487878; Sun, 12 Oct 2025 07:21:23 -0700 (PDT) From: Robert Mader To: libcamera-devel@lists.libcamera.org Cc: Robert Mader , =?utf-8?q?Barnab=C3=A1s_P?= =?utf-8?b?xZFjemU=?= , Kieran Bingham Subject: [PATCH v5 1/3] pipeline: simple: Initialize maxQueuedRequestsDevice to 4 Date: Sun, 12 Oct 2025 16:20:50 +0200 Message-ID: <20251012142052.90611-2-robert.mader@collabora.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012142052.90611-1-robert.mader@collabora.com> References: <20251012142052.90611-1-robert.mader@collabora.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" In order to prepare for the pipeline handler to support higher buffer counts than 4, limit the number of queued requests to this number as apps otherwise may exhaust the limit of frame contexts (see ipa::soft::kMaxFrameContexts => 16). Suggested-by: Barnabás Pőcze Signed-off-by: Robert Mader Reviewed-by: Kieran Bingham Tested-by: Barnabás Pőcze --- src/libcamera/pipeline/simple/simple.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp index c816cffc9..6e8271346 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp @@ -417,6 +417,7 @@ protected: int queueRequestDevice(Camera *camera, Request *request) override; private: + static constexpr unsigned int kMaxQueuedRequestsDevice = 4; static constexpr unsigned int kNumInternalBuffers = 3; struct EntityData { @@ -1273,7 +1274,8 @@ CameraConfiguration::Status SimpleCameraConfiguration::validate() */ SimplePipelineHandler::SimplePipelineHandler(CameraManager *manager) - : PipelineHandler(manager), converter_(nullptr) + : PipelineHandler(manager, kMaxQueuedRequestsDevice), + converter_(nullptr) { }