Show a patch.

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

{
    "id": 24948,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/24948/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/24948/",
    "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": "<20251102-rkisp1-vblank-v1-1-fa8f8bb3e396@ideasonboard.com>",
    "date": "2025-11-02T19:54:33",
    "name": "libcamera: rkisp1: Mark VBLANK as priority",
    "commit_ref": "6af90deaf224711ec36cf99fcc817372b11e0295",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "64915e1564ef0434282464ae49bd9528b17c179b",
    "submitter": {
        "id": 143,
        "url": "https://patchwork.libcamera.org/api/1.1/people/143/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo.mondi@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/24948/mbox/",
    "series": [
        {
            "id": 5554,
            "url": "https://patchwork.libcamera.org/api/1.1/series/5554/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5554",
            "date": "2025-11-02T19:54:33",
            "name": "libcamera: rkisp1: Mark VBLANK as priority",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5554/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/24948/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/24948/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 C1CD2C3241\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  2 Nov 2025 19:54:49 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7EA476096B;\n\tSun,  2 Nov 2025 20:54: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 EA9F3606E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun,  2 Nov 2025 20:54:47 +0100 (CET)",
            "from [100.93.44.16] (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9769599F;\n\tSun,  2 Nov 2025 20:52:55 +0100 (CET)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"m+8Mvudw\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762113175;\n\tbh=6Op2FXYq7Evafhkdv/yc3AsXzhrPljFNNeX1SkNKI8s=;\n\th=From:Date:Subject:To:Cc:From;\n\tb=m+8MvudwXsnPYJQcr/+1BYlOv10EnEU2SAOgDCVFJoK4vKlC8ps+jejU26p2ypy6Y\n\txD9QqRayecIwBIAQPNhEjRli2FROv3j2oE6ftfT/iYByxeLkqtq9z/bwRprumE3Br1\n\tevNU7y7N8bZXBfEaWZzk5gmRbbhaYArvYz26jIoA=",
        "From": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>",
        "Date": "Sun, 02 Nov 2025 20:54:33 +0100",
        "Subject": "[PATCH] libcamera: rkisp1: Mark VBLANK as priority",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20251102-rkisp1-vblank-v1-1-fa8f8bb3e396@ideasonboard.com>",
        "X-B4-Tracking": "v=1; b=H4sIAPi2B2kC/3XMQQ7CIBCF4as0sxbTIRSrq97DdDEUtJMqNGCIp\n\tuHuYvcu/5e8b4PkIrsEl2aD6DInDr4GHhqYZvJ3J9jWBtnKDrGVIi6cVhTZPMgvwpBse6WVNnS\n\tC+lmju/F7965j7ZnTK8TPzmf8rf+kjAKFlVarrtdnTTSwdZSCN4GiPU7hCWMp5QtKujnpsQAAA\n\tA==",
        "X-Change-ID": "20251102-rkisp1-vblank-ba2084646ba7",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>",
        "X-Mailer": "b4 0.14.2",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2076;\n\ti=jacopo.mondi@ideasonboard.com; h=from:subject:message-id;\n\tbh=6Op2FXYq7Evafhkdv/yc3AsXzhrPljFNNeX1SkNKI8s=;\n\tb=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBpB7cHZCrxgBjDgnK3Q96V4E+V8W+Z8mmQ2Utk8\n\tTq04v6KkRyJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCaQe3BwAKCRByNAaPFqFW\n\tPHbgD/93CyXF/V/puNeMaSvba8mOdN+r1UfszLuMEPgFewhxiD57f/0YmM5F4sRhtws1jYE7+Iq\n\tyFuvtXMGYHeimOqVOPvQ657MPfUfBH7w1z8au55Hlz91dZJX83xV8YVnkFSMyMZfT02nHBh+lVp\n\tJI3eImwdPDtvPGf5b34+B0af/CMeS7Mw8MWeTWi4gXlOF/nKwb7qePBG/ETyNJoZNaoPGYRkDWG\n\tr3/CvK7iTMWGuhX85jp/if20S2nr4b7WqkUFn2YnHGvw6moL3lfZ0a2wdQr5Eqod6+Th+aZYysZ\n\tMmVem1tG6lRqiF8DUY5g/QTeDB2w6uLPPb776RE360k+pLmEynQuctwPtsir5z0IAUOZG5PMc2U\n\tbl2PTQgSCLC6pSwgUj6cWeKs8NJTH+WA/Ny8/Ag3QGp1t9pE48CVqsQeNcoHfBwJrZT4KFQw1vG\n\taQyCnD7LB3oL+l/O0cN2++auHRGjqS91Qfld6O3v0xxXajFB9Fy8gry44xmD3arRt0sa6OEvuJM\n\tqmKflQ13Prunvkt1ytdBLOKbGwb6OAFKAXCb4WQ4vDr6g9an6KJKbm4TYkFHaSyeB5NXPPtRiKY\n\tIdp0onaDAZXWNRHOQh0i82fnz21FkgHgLrfXfS+Z2PEfT2yKV85iZVRfr5zbqvEBNAmBfIijWuP\n\tsQTml7oikB4BNQA==",
        "X-Developer-Key": "i=jacopo.mondi@ideasonboard.com; a=openpgp;\n\tfpr=72392EDC88144A65C701EA9BA5826A2587AD026B",
        "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": "The DelayedControls class works around a limitation of the V4L2 controls\nAPI by assigning to controls that modify the limits of other controls a\n'priority' flag.\n\n'Priority' controls are written to the device before others to make sure\nthe limits of dependent controls are correctly updated.\n\nA typical example of a priority control is VBLANK, whose value changes the\nlimits of the EXPOSURE control. This doesn't apply to a specific hardware\nplatform but to all V4L2 sensors.\n\nThe RkISP1 pipeline handler doesn't mark VBLANK as a priority control, an\nissue which might result in the exposure being clamped to an outdated frame\nlength.\n\nFix the rkisp1 pipeline by marking VBLANK as a priority control.\n\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\nA simpler version of \"libcamera: delayed_controls: Make VBLANK priority\nby default\" as automatically setting VBLANK would save pipeline handlers\nfrom doing it, but if anyone has to support HBLANK, in example, it has\nto modify DelayedControls, not sure what's better, so I'm sending both.\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\n\n---\nbase-commit: b1f09c013a01a82c739f0e30b71fd8d000ef5655\nchange-id: 20251102-rkisp1-vblank-ba2084646ba7\n\nBest regards,",
    "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex ecd13831539fdf5cb79da2ea4b33a353514328ae..d7195b6c484d091857a91de709e0e060810c7c32 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -1348,7 +1348,7 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)\n \tstd::unordered_map<uint32_t, DelayedControls::ControlParams> params = {\n \t\t{ V4L2_CID_ANALOGUE_GAIN, { delays.gainDelay, false } },\n \t\t{ V4L2_CID_EXPOSURE, { delays.exposureDelay, false } },\n-\t\t{ V4L2_CID_VBLANK, { delays.vblankDelay, false } },\n+\t\t{ V4L2_CID_VBLANK, { delays.vblankDelay, true } },\n \t};\n \n \tdata->delayedCtrls_ =\n",
    "prefixes": []
}