Cover Letter Detail
Show a cover letter.
GET /api/covers/13586/?format=api
{ "id": 13586, "url": "https://patchwork.libcamera.org/api/covers/13586/?format=api", "web_url": "https://patchwork.libcamera.org/cover/13586/", "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": "<20210831223705.1928000-1-nfraprado@collabora.com>", "date": "2021-08-31T22:37:00", "name": "[libcamera-devel,v2,0/5] libcamera: pipeline: Add internal request queue", "submitter": { "id": 84, "url": "https://patchwork.libcamera.org/api/people/84/?format=api", "name": "Nícolas F. R. A. Prado", "email": "nfraprado@collabora.com" }, "mbox": "https://patchwork.libcamera.org/cover/13586/mbox/", "series": [ { "id": 2431, "url": "https://patchwork.libcamera.org/api/series/2431/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2431", "date": "2021-08-31T22:37:00", "name": "libcamera: pipeline: Add internal request queue", "version": 2, "mbox": "https://patchwork.libcamera.org/series/2431/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/13586/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 168BDBD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 31 Aug 2021 22:37:45 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9106569178;\n\tWed, 1 Sep 2021 00:37:44 +0200 (CEST)", "from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2C38A60258\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 1 Sep 2021 00:37:29 +0200 (CEST)", "from localhost.localdomain (unknown\n\t[IPv6:2804:14c:1a9:2434:b693:c9:5cb6:b688])\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 2586A1F43840;\n\tTue, 31 Aug 2021 23:37:26 +0100 (BST)" ], "From": "=?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= <nfraprado@collabora.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 31 Aug 2021 19:37:00 -0300", "Message-Id": "<20210831223705.1928000-1-nfraprado@collabora.com>", "X-Mailer": "git-send-email 2.33.0", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 0/5] libcamera: pipeline: Add internal\n\trequest queue", "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": "kernel@collabora.com, =?utf-8?q?Andr=C3=A9_Almeida?=\n\t<andrealmeid@collabora.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "This series adds an internal request queue for the vimc, uvcvideo,\nrkisp1 and simple pipeline handlers. Each patch is independent of the\nothers, but I've grouped them in this series because they're very\nsimilar, so it should ease the review.\n\nAdditionally, patch 5 documents this pattern in the pipeline-handler\nguide so that future pipeline handlers also implement it.\n\nNote: starting in v2 this series actually depends on [1], due to the\nusage of buffer slots counters for the VIMC, UVC and simple pipeline\nhandlers, which rely on constants defined in that series.\n\nNote: the simple pipeline handler patch wasn't tested since I don't have\nany of the hardware targeted by it.\n\nThe patches here are based on these patches that added the same functionality\nfor the ipu3 pipeline handler: 5a9d19210fad (\"libcamera: pipeline: ipu3: Try\nqueuing pending requests if a buffer is available\") and 89dae5844964\n(\"libcamera: pipeline: ipu3: Store requests in the case a buffer shortage\").\n\nWith these patches applied, the lc-compliance test from [1] passes in\nall pipeline handlers, even if the number of buffer slots in them is\nlowered below 8.\n\n[1] https://lists.libcamera.org/pipermail/libcamera-devel/2021-August/023773.html\n\nPrevious standalone versions of the patches: uvcvideo [2] and rkisp1 [3]\n\n[2] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022029.html\n[3] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022135.html\n\nChanges in v2:\n(thanks to Laurent)\n- Added a counter to keep track of the number of available buffer slots\n in the VIMC and UVC pipeline handlers\n- Moved processControls() from PipelineHandlerVimc to VimcCameraData\n- Moved cancellation of pending requests to after video devices stop\n- Added patch for the simple pipeline handler\n- Added patch to document this pattern in the pipeline-handler guide\n\nNícolas F. R. A. Prado (5):\n libcamera: pipeline: vimc: Add internal request queue\n libcamera: pipeline: uvcvideo: Add internal request queue\n libcamera: pipeline: rkisp1: Add internal request queue\n libcamera: pipeline: simple: Add internal request queue\n Documentation: guides: pipeline-handler: Document internal queue\n pattern\n\n Documentation/guides/pipeline-handler.rst | 129 ++++++++++----\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 73 ++++++--\n src/libcamera/pipeline/simple/simple.cpp | 101 ++++++++---\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 98 +++++++++--\n src/libcamera/pipeline/vimc/vimc.cpp | 167 +++++++++++++------\n 5 files changed, 436 insertions(+), 132 deletions(-)" }