Show a patch.

GET /api/1.1/patches/23841/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 23841,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/23841/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/23841/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/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": "<20250717125931.2848300-4-stefan.klug@ideasonboard.com>",
    "date": "2025-07-17T12:59:23",
    "name": "[v3,3/5] pipeline: rkisp1: Limit the maximum number of buffers queued in",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "b833e4feb0e399e27afd964ebc17c12f1e9cc91b",
    "submitter": {
        "id": 184,
        "url": "https://patchwork.libcamera.org/api/1.1/people/184/?format=api",
        "name": "Stefan Klug",
        "email": "stefan.klug@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/23841/mbox/",
    "series": [
        {
            "id": 5294,
            "url": "https://patchwork.libcamera.org/api/1.1/series/5294/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5294",
            "date": "2025-07-17T12:59:20",
            "name": "rkisp1: Allow usage of more than 4 buffers",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/5294/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/23841/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/23841/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 E93F5C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Jul 2025 12:59:46 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A872668F8C;\n\tThu, 17 Jul 2025 14:59:46 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4A89F68F81\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Jul 2025 14:59:44 +0200 (CEST)",
            "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:7b93:8acd:d82d:248d])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 5153021F2; \n\tThu, 17 Jul 2025 14:59:10 +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=\"mR7fuQr9\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1752757150;\n\tbh=leYeTMkyXLzD0Qchj+IHROvcS8R27QrAnfZW3CFZN/U=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=mR7fuQr9mVpDrmfxYvcnDFcnUiX0FCStoBMPhKEOrNoiSkFfQkt2TJ/M9lFxr+KQI\n\t5b/HA/MHgYTv7/HRUZUZB1Rqf/vsMLm6dNBoLcfsp+6Z6MlM0F1n4YB+n3H5DWuzUd\n\tRwcvkPp5eq3l8i/HmxA8KvKYUyy++ECkt1+XkDJo=",
        "From": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>, =?utf-8?q?Sven_P=C3=BCschel?=\n\t<s.pueschel@pengutronix.de>",
        "Subject": "[PATCH v3 3/5] pipeline: rkisp1: Limit the maximum number of buffers\n\tqueued in",
        "Date": "Thu, 17 Jul 2025 14:59:23 +0200",
        "Message-ID": "<20250717125931.2848300-4-stefan.klug@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.48.1",
        "In-Reply-To": "<20250717125931.2848300-1-stefan.klug@ideasonboard.com>",
        "References": "<20250717125931.2848300-1-stefan.klug@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "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>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "To keep the regulation of the algorithms as fast as possible and at the\nsame time allow more buffers to be allocated, limit the amount of\nbuffers that get queued into the device to the pipeline depth plus a\ntiny margin.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nTested-By: Sven Püschel<s.pueschel@pengutronix.de>\n\n---\n\nChanges in v3:\n- Collected tags\n- Renamed kPipelineDepth to kRkISP1MaxQueuedRequests and made it static\n  constexpr\n- Added comment to kRkISP1MaxQueuedRequests\n- Improved commit message\n\nChanges in v1:\n- Replaced function overload with constructor param\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 14 +++++++++++++-\n 1 file changed, 13 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 675f0a7490a6..7954ea82fd0d 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -155,6 +155,17 @@ private:\n \tTransform combinedTransform_;\n };\n \n+namespace {\n+\n+/*\n+ * Maximum number of requests that shall be queued into the pipeline to keep\n+ * the regulation fast. \\todo This needs revisiting as soon as buffers got\n+ * decoupled from requests and/or a fast path for controls was implemented.\n+ */\n+static constexpr unsigned int kRkISP1MaxQueuedRequests = 4;\n+\n+} // namespace\n+\n class PipelineHandlerRkISP1 : public PipelineHandler\n {\n public:\n@@ -684,7 +695,8 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()\n  */\n \n PipelineHandlerRkISP1::PipelineHandlerRkISP1(CameraManager *manager)\n-\t: PipelineHandler(manager), hasSelfPath_(true), useDewarper_(false)\n+\t: PipelineHandler(manager, kRkISP1MaxQueuedRequests),\n+\t  hasSelfPath_(true), useDewarper_(false)\n {\n }\n \n",
    "prefixes": [
        "v3",
        "3/5"
    ]
}