Show a patch.

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

{
    "id": 8493,
    "url": "https://patchwork.libcamera.org/api/patches/8493/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/8493/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20200628231934.29025-10-laurent.pinchart@ideasonboard.com>",
    "date": "2020-06-28T23:19:34",
    "name": "[libcamera-devel,v1,9/9] libcamera: pipeline: raspberrypi: Don't handle any actions in stop state",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "ada02c8ed4e9463b9e119b32ce9fc6195fed9a4c",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/8493/mbox/",
    "series": [
        {
            "id": 1054,
            "url": "https://patchwork.libcamera.org/api/series/1054/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1054",
            "date": "2020-06-28T23:19:25",
            "name": "Support passing custom data to IPA configure()",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/1054/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/8493/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/8493/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 962D1C2E66\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 28 Jun 2020 23:19:53 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5EADD609DF;\n\tMon, 29 Jun 2020 01:19:53 +0200 (CEST)",
            "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 D6C9F609E1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 29 Jun 2020 01:19:44 +0200 (CEST)",
            "from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5EEBD556;\n\tMon, 29 Jun 2020 01:19:44 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"DTAfhe3L\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1593386384;\n\tbh=mNlD8aOt+X77E88Mf8ShXjO4b3i+Jz5ItIjT+S1qv0c=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=DTAfhe3LH7A40GgSWhszMiA2KX2VNO9G/qNBngReE+Wff7DGFq2vNJEWf5Q0ufo5B\n\tHvjm+jsv0zFH/NpxJTJuJyYe0fR7Dw1wZvrhCDSp0BhkTqWBLeSnxrJD371kVLp/D8\n\twR2cJjNKrdtEMYLbZ/ivK59/cyt42XGu2TsDFm8E=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 29 Jun 2020 02:19:34 +0300",
        "Message-Id": "<20200628231934.29025-10-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20200628231934.29025-1-laurent.pinchart@ideasonboard.com>",
        "References": "<20200628231934.29025-1-laurent.pinchart@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v1 9/9] libcamera: pipeline: raspberrypi:\n\tDon't handle any actions in stop state",
        "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>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "The RPI_IPA_ACTION_V4L2_SET_ISP is handled regardless of the pipeline\nhandler state, but is only generated by the IPA when the pipeline is\nrunning. Don't handle it in the stopped state, which simplifies the\nhandling of actions.\n\nAdditionally, handleState() is a no-op when the state is State::Stopped,\nso don't call it in that case.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n .../pipeline/raspberrypi/raspberrypi.cpp      | 25 +++++++------------\n 1 file changed, 9 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\nindex 137e07379cf5..2a5d27fefe0c 100644\n--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n@@ -1190,24 +1190,12 @@ int RPiCameraData::configureIPA()\n void RPiCameraData::queueFrameAction(unsigned int frame, const IPAOperationData &action)\n {\n \t/*\n-\t * The following actions can be handled when the pipeline handler is in\n-\t * a stopped state.\n+\t * Actions are only handled when the pipeline handler is not in a\n+\t * stopped state.\n \t */\n-\tswitch (action.operation) {\n-\tcase RPI_IPA_ACTION_V4L2_SET_ISP: {\n-\t\tControlList controls = action.controls[0];\n-\t\tisp_[Isp::Input].dev()->setControls(&controls);\n-\t\tgoto done;\n-\t}\n-\t}\n-\n \tif (state_ == State::Stopped)\n-\t\tgoto done;\n+\t\treturn;\n \n-\t/*\n-\t * The following actions must not be handled when the pipeline handler\n-\t * is in a stopped state.\n-\t */\n \tswitch (action.operation) {\n \tcase RPI_IPA_ACTION_V4L2_SET_STAGGERED: {\n \t\tconst ControlList &controls = action.controls[0];\n@@ -1216,6 +1204,12 @@ void RPiCameraData::queueFrameAction(unsigned int frame, const IPAOperationData\n \t\tbreak;\n \t}\n \n+\tcase RPI_IPA_ACTION_V4L2_SET_ISP: {\n+\t\tControlList controls = action.controls[0];\n+\t\tisp_[Isp::Input].dev()->setControls(&controls);\n+\t\tbreak;\n+\t}\n+\n \tcase RPI_IPA_ACTION_STATS_METADATA_COMPLETE: {\n \t\tunsigned int bufferId = action.data[0];\n \t\tFrameBuffer *buffer = isp_[Isp::Stats].getBuffers()->at(bufferId).get();\n@@ -1253,7 +1247,6 @@ void RPiCameraData::queueFrameAction(unsigned int frame, const IPAOperationData\n \t\tbreak;\n \t}\n \n-done:\n \thandleState();\n }\n \n",
    "prefixes": [
        "libcamera-devel",
        "v1",
        "9/9"
    ]
}