Show a cover letter.

GET /api/1.1/covers/10724/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 10724,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/10724/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/10724/",
    "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": "<20201224081613.41662-1-paul.elder@ideasonboard.com>",
    "date": "2020-12-24T08:16:02",
    "name": "[libcamera-devel,v6,00/11] IPA isolation: Part 2: Conversion and plumbing",
    "submitter": {
        "id": 17,
        "url": "https://patchwork.libcamera.org/api/1.1/people/17/?format=api",
        "name": "Paul Elder",
        "email": "paul.elder@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/10724/mbox/",
    "series": [
        {
            "id": 1547,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1547/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1547",
            "date": "2020-12-24T08:16:02",
            "name": "IPA isolation: Part 2: Conversion and plumbing",
            "version": 6,
            "mbox": "https://patchwork.libcamera.org/series/1547/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/10724/comments/",
    "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 36B82C0F1A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 24 Dec 2020 08:16:24 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 05DED615B2;\n\tThu, 24 Dec 2020 09:16:24 +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 D09DB615AF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 24 Dec 2020 09:16:22 +0100 (CET)",
            "from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 60BA5A1D;\n\tThu, 24 Dec 2020 09:16:21 +0100 (CET)"
        ],
        "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=\"OfaxFQX2\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1608797782;\n\tbh=XabP+/os1UVHmvNbACiNuBPdFyaJC4Sa1xhACY3nHrA=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=OfaxFQX2VHzrhxJKTn4zGWjxyhZ3wwY9wzigTdfV0n8NzovkR3aW/vDgR/junHyX/\n\t81cw7sS2/OgiRxHocf0Tsj/t46NHgLuI4Y/CP/YAJVt6eSxYNBGYh97lL7NgnemNCb\n\twJrAmYbVQdIhBRTJ8v4RhHTp0t7fRezIbOJn0Qqc=",
        "From": "Paul Elder <paul.elder@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 24 Dec 2020 17:16:02 +0900",
        "Message-Id": "<20201224081613.41662-1-paul.elder@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v6 00/11] IPA isolation: Part 2:\n\tConversion and plumbing",
        "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": "v6 is split in three parts, core components, conversion + plumbing, and\ntests + documentation.\n\nThis is part 2, and implements the plumbing for IPA isolation.\n\nPatches 4/9 to 11/11 must be squashed together to avoid bisection\nbreakage.\n\nPatch 8/11 may be of interest, as it shows how one would write the\ninterface and data definition. In v2 I have customized the raspberrypi\nmojom file to take advantage of the freedom in definition the IPA\ninterface and data structures (as opposed to v1, where it was\npractically a direct translation of IPAOperationData). In v3 I have\nadded namespace support to the data definition, and this is reflected in\nits usage. In v6 I added support for custom start(), and used it. Also\nin v6, support for consts was added, so I moved all the enum and const\ndefinitions to the mojom file.\n\nAs of v6, namespacing in the mojom files is required, in the form of\n/^ipa\\.[0-9A-Za-z]+/ and this is reflected in the three mojom files in\nthis series.\n\nPatch 9/11 is also noteworthy, as it shows how one would use the\ninterface that has been defined. Since the headers and proxies are\nautogenerated, there isn't a patch where the generated code can be seen,\nhowever.\n\nPatches 10/11 and 11/11 also define mojom files and use them, but are\nfor vimc and rkisp1, respectively. These will also give an idea on how\nthe mojom definition looks and how it will be used.\n\n\nChanges in v6:\n- move definitions of libcamera structs to core.mojom (in Part 1)\n- move enums and consts from the ipa header to the mojom file\n  - remove vimc.h, use the ipa::vimc namespace, and use the new start()\n  - same for rkisp1.h\n- remove postfix _ in generated struct fields\n- use the required ipa namespace\n- fill the LS table handle in the raspberry pi pipeline handler, instead\n  of passing it from the IPA\n- remove per-pipeline ContrlInfoMap from the ipa header\n  - remove the ControlInfoMap initializer from raspberrypi header\n\n\nPaul Elder (11):\n  meson: ipa, proxy: Generate headers and proxy with mojo\n  tests: Remove IPA wrappers test\n  ipa: raspberrypi: meson: Add dependency on generated headers\n  libcamera: IPAInterface: Replace C API with the new C++-only API\n  libcamera: IPAProxy: Remove stop() override\n  libcamera: IPAProxy, IPAManager: Switch to one-proxy-per-pipeline\n    scheme\n  libcamera: PipelineHandler: Remove IPA from base class\n  ipa: raspberrypi: Add mojom data definition file\n  libcamera: pipeline, ipa: raspberrypi: Use new data definition\n  libcamera: pipeline, ipa: vimc: Support the new IPC mechanism\n  libcamera: pipeline, ipa: rkisp1: Support the new IPC mechanism\n\n Documentation/Doxyfile.in                     |   1 -\n .../libcamera/internal/ipa_context_wrapper.h  |  53 --\n include/libcamera/internal/ipa_manager.h      |  31 +-\n include/libcamera/internal/ipa_module.h       |   4 +-\n include/libcamera/internal/ipa_proxy.h        |  31 -\n include/libcamera/internal/meson.build        |   1 -\n include/libcamera/internal/pipeline_handler.h |   1 -\n include/libcamera/ipa/ipa_interface.h         | 147 +---\n include/libcamera/ipa/meson.build             | 124 ++++\n include/libcamera/ipa/raspberrypi.h           |  31 -\n include/libcamera/ipa/raspberrypi.mojom       | 134 ++++\n include/libcamera/ipa/rkisp1.h                |  22 -\n include/libcamera/ipa/rkisp1.mojom            |  44 ++\n include/libcamera/ipa/vimc.h                  |  28 -\n include/libcamera/ipa/vimc.mojom              |  24 +\n src/ipa/libipa/ipa_interface_wrapper.cpp      | 287 --------\n src/ipa/libipa/ipa_interface_wrapper.h        |  61 --\n src/ipa/libipa/meson.build                    |   2 -\n src/ipa/raspberrypi/meson.build               |   2 +-\n src/ipa/raspberrypi/raspberrypi.cpp           | 183 +++--\n src/ipa/rkisp1/meson.build                    |   2 +-\n src/ipa/rkisp1/rkisp1.cpp                     |  63 +-\n src/ipa/vimc/meson.build                      |   2 +-\n src/ipa/vimc/vimc.cpp                         |  39 +-\n src/libcamera/ipa_context_wrapper.cpp         | 298 --------\n src/libcamera/ipa_interface.cpp               | 650 +-----------------\n src/libcamera/ipa_manager.cpp                 |  47 +-\n src/libcamera/ipa_module.cpp                  |  18 +-\n src/libcamera/ipa_proxy.cpp                   | 101 ---\n src/libcamera/meson.build                     |   2 +-\n .../pipeline/raspberrypi/raspberrypi.cpp      | 244 +++----\n .../pipeline/raspberrypi/rpi_stream.cpp       |   6 +-\n .../pipeline/raspberrypi/rpi_stream.h         |   5 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  79 ++-\n src/libcamera/pipeline/vimc/vimc.cpp          |  10 +-\n src/libcamera/pipeline_handler.cpp            |   8 -\n src/libcamera/proxy/ipa_proxy_linux.cpp       | 104 ---\n src/libcamera/proxy/ipa_proxy_thread.cpp      | 175 -----\n src/libcamera/proxy/meson.build               |  21 +-\n .../proxy/worker/ipa_proxy_linux_worker.cpp   |  90 ---\n src/libcamera/proxy/worker/meson.build        |  23 +-\n test/ipa/ipa_interface_test.cpp               |  44 +-\n test/ipa/ipa_wrappers_test.cpp                | 453 ------------\n test/ipa/meson.build                          |   3 +-\n utils/ipc/generators/meson.build              |   3 +\n utils/ipc/meson.build                         |  13 +\n 46 files changed, 778 insertions(+), 2936 deletions(-)\n delete mode 100644 include/libcamera/internal/ipa_context_wrapper.h\n create mode 100644 include/libcamera/ipa/raspberrypi.mojom\n delete mode 100644 include/libcamera/ipa/rkisp1.h\n create mode 100644 include/libcamera/ipa/rkisp1.mojom\n delete mode 100644 include/libcamera/ipa/vimc.h\n create mode 100644 include/libcamera/ipa/vimc.mojom\n delete mode 100644 src/ipa/libipa/ipa_interface_wrapper.cpp\n delete mode 100644 src/ipa/libipa/ipa_interface_wrapper.h\n delete mode 100644 src/libcamera/ipa_context_wrapper.cpp\n delete mode 100644 src/libcamera/proxy/ipa_proxy_linux.cpp\n delete mode 100644 src/libcamera/proxy/ipa_proxy_thread.cpp\n delete mode 100644 src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n delete mode 100644 test/ipa/ipa_wrappers_test.cpp\n create mode 100644 utils/ipc/generators/meson.build"
}