Show a cover letter.

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

{
    "id": 17523,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/17523/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/17523/",
    "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": "<20221004222903.6393-1-laurent.pinchart@ideasonboard.com>",
    "date": "2022-10-04T22:28:59",
    "name": "[libcamera-devel,v2,0/4] libcamera: Fix kernel deprecation warning with output buffers",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/17523/mbox/",
    "series": [
        {
            "id": 3531,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3531/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3531",
            "date": "2022-10-04T22:28:59",
            "name": "libcamera: Fix kernel deprecation warning with output buffers",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/3531/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/17523/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 CDF81BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  4 Oct 2022 22:29:09 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F0D5160AC7;\n\tWed,  5 Oct 2022 00:29:08 +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 62B7D600E9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Oct 2022 00:29:07 +0200 (CEST)",
            "from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B3CC4997;\n\tWed,  5 Oct 2022 00:29:06 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664922549;\n\tbh=i5Yx/rcgtrX6Aop+AMJaHxVR2CBJz11iNO8CavA/fhI=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=NmIOCyt0+ASSkD42Z/f74QmZTWz8pvVSt+WAGucbW1AmeIZ+Vm/+uVWjrPieaMIfP\n\tNzHfIcUe8Xuws1AeXleQgATfCPooqZ2trzTNl0Hbv1ZjBNFVuO9kCSf/HAlXr6067g\n\t9Kb9Ih0tHTmsFLEGbkhaqrkmR0xgc9jZ3+LA6FHlB0DNd0s3RlBsWe0hACCOJNRzEw\n\tjIr3w2kBvmK4fXueFIuG5tw5jhIl+L7LhmIovdxo9frAv/Ml+IsfL5PYT1W0jz0W/8\n\tQlAiC/TAXmdyJDK4Z3ODJvH0cfG/MFtF0XNqpuV1WZ862/K9TNPEHdrzx1TU/L1+Q5\n\tQg4VEtB4+HgSw==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1664922546;\n\tbh=i5Yx/rcgtrX6Aop+AMJaHxVR2CBJz11iNO8CavA/fhI=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=EjFrwCsluXqNEZrGkSVh0yfrvwAKK5acuE30U5Mf+9KxkxqwIZtAwC9+IlDjGnKdX\n\tUMh+ZWCSX7Li23buPwn5IVfvRt7P+rw6iIrhqr46YCcZvbPJSJbZ3qUZFAUFsW5zbS\n\tVQUE8p2+Q2tJ2nRvkZXPa0XvTNqd/iD7Pikis0kY="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"EjFrwCsl\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed,  5 Oct 2022 01:28:59 +0300",
        "Message-Id": "<20221004222903.6393-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.35.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v2 0/4] libcamera: Fix kernel deprecation\n\twarning with output buffers",
        "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>",
        "From": "Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hello,\n\nThis patch series fixes a warning printed by videobuf2.\n\nThe V4L2 API specification indicates that, for an output video device,\nthe driver will interpret a zero bytesused value as the buffer length\n(for v4l2_buffer) or the plane length (for v4l2_plane). The videobuf2\nframework implements this behaviour, but also considers this case as\ndeprecated and prints a warning:\n\n[   54.375534] use of bytesused == 0 is deprecated and will be removed in the future,\n[   54.388026] use the actual size instead.\n\nThis is triggered by the RkISP1 and IPU3 pipeline handlers, which don't\nset bytesused for the parameters buffers.\n\nAs the FrameBuffer metadata is private and only accessible in const form\noutside of the class (with the exception of V4L2VideoDevice that is\nlisted as a friend), patch 1/4 first makes mutable access to the\nmetadata possible. In order to avoid exposing mutable access to\napplications, it moves the metadata (and the other remaining private\nmembers of the FrameBuffer class) to the FrameBuffer::Private class, and\nexposes a mutable accessor there.\n\nPatches 2/4 and 3/4 then use this new metadata accessor to set the\nbytesused values in the RkISP1 and IPU3 pipeline handlers. Finally,\npatch 4/4 prints a warning message in V4L2VideoDevice::queueBuffer() to\ncatch callers that still use the deprecated API.\n\nOne nice side effect of patch 1/4 is that the V4L2VideoDevice class\ndoesn't need to be listed as a friend of the FrameBuffer class anymore.\n\n2/4 and 3/4 currently hardcode the bytesused value to the size of the\nparameters buffer structure. This works fine with the RkISP1 and IPU3\npipeline handlers as the parameters buffers have a fixed size, but other\ndevices in the future may use a variable-size buffer which would require\nthe IPA module to pass the data size to the pipeline handler. I was\ntempted to do the same for RkISP1 and IPU3 for correctness, but decided\nit was probably not worth it.\n\nAs far as I can tell, the Raspberry Pi pipeline handler doesn't need any\nchange. Naush, would you be able to test this series to confirm that it\ndoesn't introduce any regression for you ?\n\nLaurent Pinchart (4):\n  libcamera: framebuffer: Move remaining private data to Private class\n  pipeline: ipu3: Set bytesused before queuing parameters buffer\n  pipeline: rkisp1: Set bytesused before queuing parameters buffer\n  libcamera: v4l2_videodevice: Warn if bytesused == 0 when queuing\n    output buffer\n\n include/libcamera/framebuffer.h               | 19 ++----\n include/libcamera/internal/framebuffer.h      | 10 +++-\n .../mm/cros_frame_buffer_allocator.cpp        |  8 +--\n .../mm/generic_frame_buffer_allocator.cpp     |  9 +--\n src/libcamera/framebuffer.cpp                 | 58 ++++++++++++-------\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  4 ++\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  4 ++\n src/libcamera/v4l2_videodevice.cpp            | 25 +++++---\n 8 files changed, 84 insertions(+), 53 deletions(-)\n\n\nbase-commit: 12f4708e35cde15ff9607d59eb053ece1b2bd081"
}