Show a patch.

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

{
    "id": 11854,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/11854/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/11854/",
    "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": "<20210406182335.85847-4-nfraprado@collabora.com>",
    "date": "2021-04-06T18:23:35",
    "name": "[libcamera-devel,3/3] libcamera: pipeline: rkisp1: Allow requests to be cancelled",
    "commit_ref": "e51926f07bfe26db6ae68b72bc64f1523968742d",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "749dc677085b5ee315ac41fb9a0edf03d1f16189",
    "submitter": {
        "id": 84,
        "url": "https://patchwork.libcamera.org/api/1.1/people/84/?format=api",
        "name": "Nícolas F. R. A. Prado",
        "email": "nfraprado@collabora.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/11854/mbox/",
    "series": [
        {
            "id": 1897,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1897/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1897",
            "date": "2021-04-06T18:23:32",
            "name": "libcamera: pipeline: rkisp1: Fix issues exposed by lc-compliance",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/1897/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/11854/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/11854/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 C0A7CC0DA3\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  6 Apr 2021 18:24:29 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8AB05687A0;\n\tTue,  6 Apr 2021 20:24:29 +0200 (CEST)",
            "from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 181636084F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  6 Apr 2021 20:24:28 +0200 (CEST)",
            "from localhost.localdomain (unknown\n\t[IPv6:2804:14c:1a0:2f63:ddd7:19a9:2dbb:5548])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits))\n\t(No client certificate requested) (Authenticated sender: nfraprado)\n\tby bhuna.collabora.co.uk (Postfix) with ESMTPSA id 4E63A1F445EB;\n\tTue,  6 Apr 2021 19:24:25 +0100 (BST)"
        ],
        "From": "=?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= <nfraprado@collabora.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Tue,  6 Apr 2021 15:23:35 -0300",
        "Message-Id": "<20210406182335.85847-4-nfraprado@collabora.com>",
        "X-Mailer": "git-send-email 2.31.1",
        "In-Reply-To": "<20210406182335.85847-1-nfraprado@collabora.com>",
        "References": "<20210406182335.85847-1-nfraprado@collabora.com>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH 3/3] libcamera: pipeline: rkisp1: Allow\n\trequests to be cancelled",
        "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>",
        "Cc": "Collabora Kernel ML <kernel@collabora.com>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Previously when a frame got cancelled, the frameInfo flags\nmetadataProcessed and paramDequeued wouldn't get set, meaning that the\nrequest wasn't able to be completed and cancelled.\n\nMake sure that these flags are set when the frame gets cancelled so that\nthe request can be cancelled.\n\nThis issue happened while running lc-compliance.\n\nSuggested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nSigned-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 12 ++++++------\n 1 file changed, 6 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 3c8d9dfe6f87..549f4a4e61a8 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -1073,9 +1073,6 @@ void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)\n \n void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)\n {\n-\tif (buffer->metadata().status == FrameMetadata::FrameCancelled)\n-\t\treturn;\n-\n \tASSERT(activeCamera_);\n \tRkISP1CameraData *data = cameraData(activeCamera_);\n \n@@ -1087,9 +1084,6 @@ void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)\n \n void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)\n {\n-\tif (buffer->metadata().status == FrameMetadata::FrameCancelled)\n-\t\treturn;\n-\n \tASSERT(activeCamera_);\n \tRkISP1CameraData *data = cameraData(activeCamera_);\n \n@@ -1097,6 +1091,12 @@ void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)\n \tif (!info)\n \t\treturn;\n \n+\tif (buffer->metadata().status == FrameMetadata::FrameCancelled) {\n+\t\tinfo->metadataProcessed = true;\n+\t\ttryCompleteRequest(info->request);\n+\t\treturn;\n+\t}\n+\n \tif (data->frame_ <= buffer->metadata().sequence)\n \t\tdata->frame_ = buffer->metadata().sequence + 1;\n \n",
    "prefixes": [
        "libcamera-devel",
        "3/3"
    ]
}