Show a patch.

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

{
    "id": 8709,
    "url": "https://patchwork.libcamera.org/api/patches/8709/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/8709/",
    "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": "<20200709084128.5316-19-jacopo@jmondi.org>",
    "date": "2020-07-09T08:41:26",
    "name": "[libcamera-devel,v2,18/20] libcamera: ipu3: Calculate ImgU pipe configuration",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "7e6b126f9ea19a7b96d1b8b499c15f984625b197",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "delegate": {
        "id": 15,
        "url": "https://patchwork.libcamera.org/api/users/15/?format=api",
        "username": "jmondi",
        "first_name": "Jacopo",
        "last_name": "Mondi",
        "email": "jacopo@jmondi.org"
    },
    "mbox": "https://patchwork.libcamera.org/patch/8709/mbox/",
    "series": [
        {
            "id": 1091,
            "url": "https://patchwork.libcamera.org/api/series/1091/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1091",
            "date": "2020-07-09T08:41:08",
            "name": "libcamera: ipu3: Rework configuration",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/1091/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/8709/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/8709/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 5977ABDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Jul 2020 08:38:23 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 179FC61211;\n\tThu,  9 Jul 2020 10:38:23 +0200 (CEST)",
            "from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 664B261184\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Jul 2020 10:38:21 +0200 (CEST)",
            "from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id D7C60100002;\n\tThu,  9 Jul 2020 08:38:20 +0000 (UTC)"
        ],
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu,  9 Jul 2020 10:41:26 +0200",
        "Message-Id": "<20200709084128.5316-19-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20200709084128.5316-1-jacopo@jmondi.org>",
        "References": "<20200709084128.5316-1-jacopo@jmondi.org>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v2 18/20] libcamera: ipu3: Calculate ImgU\n\tpipe configuration",
        "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": "Collect the ImgU device desired pipe configuration while assigning\nstreams in the pipeline handler validate() function and ask the\nImgUDevice class to calculate the pipe configuration parameters.\n\nIf the requested pipe configuration results in a non-valid\nconfiguration, return an error from the validate() function.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 13 +++++++++++++\n 1 file changed, 13 insertions(+)",
    "diff": "diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 9a6e71514c90..72261d16e9f8 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -71,6 +71,7 @@ private:\n \tIPU3CameraData *data_;\n \n \tStreamConfiguration cio2Configuration_;\n+\tImgUDevice::PipeConfig pipeConfig_;\n };\n \n class PipelineHandlerIPU3 : public PipelineHandler\n@@ -179,6 +180,9 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \n \tLOG(IPU3, Debug) << \"CIO2 configuration: \" << cio2Configuration_.toString();\n \n+\tImgUDevice::Pipe pipe{};\n+\tpipe.input = cio2Configuration_.size;\n+\n \t/*\n \t * Adjust the configurations if needed and assign streams while\n \t * iterating them.\n@@ -250,11 +254,13 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \t\t    (oldCfg.size == yuvSize || outCount == 1)) {\n \t\t\tcfg.setStream(&data_->outStream_);\n \t\t\tmainOutputAvailable = false;\n+\t\t\tpipe.output = cfg.size;\n \n \t\t\tLOG(IPU3, Debug) << \"Assigned \" << cfg.toString()\n \t\t\t\t\t << \" to the main output\";\n \t\t} else {\n \t\t\tcfg.setStream(&data_->vfStream_);\n+\t\t\tpipe.viewfinder = cfg.size;\n \n \t\t\tLOG(IPU3, Debug) << \"Assigned \" << cfg.toString()\n \t\t\t\t\t << \" to the viewfinder output\";\n@@ -269,6 +275,13 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \t\t}\n \t}\n \n+\tpipeConfig_ = data_->imgu_->calculatePipeConfig(&pipe);\n+\tif (pipeConfig_.isNull()) {\n+\t\tLOG(IPU3, Error) << \"Failed to calculate pipe configuration: \"\n+\t\t\t\t << \"unsupported resolutions.\";\n+\t\treturn Invalid;\n+\t}\n+\n \treturn status;\n }\n \n",
    "prefixes": [
        "libcamera-devel",
        "v2",
        "18/20"
    ]
}