[{"id":18457,"web_url":"https://patchwork.libcamera.org/comment/18457/","msgid":"<YQcQvaN2f0k5YO8c@pendragon.ideasonboard.com>","date":"2021-08-01T21:23:09","subject":"Re: [libcamera-devel] [PATCH v7 00/11] lc-compliance: Add test to\n\tqueue more requests than hardware depth","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Nícolas,\n\nThank you for the patch.\n\nOn Thu, Jul 22, 2021 at 08:28:40PM -0300, Nícolas F. R. A. Prado wrote:\n> The purpose of this series is to add a new test to lc-compliance that tests\n> queuing a lot of requests at once in order to ensure that pipeline handlers are\n> able to handle more requests than they have resources for (like internal buffers\n> and v4l2 buffer slots) [1].\n> \n> [1] https://bugs.libcamera.org/show_bug.cgi?id=24\n> \n> In order to achieve this, the FrameBufferAllocator had to be adapted to allow an\n> arbitrary amount of buffers to be allocated. But there's also the issue of\n> reporting the minimum amount of requests required by the pipeline handler, which\n> was solved by creating a new MinNumRequests property.\n\nIt's now called MinimumRequests :-)\n\n> So patch 1 adds the new MinNumRequests property to report the minimum amount of\n> requests needed by the pipeline handler.\n> \n> Patch 2 adds a count argument to allocate() so that the amount of buffers to\n> allocate needs to be specified, as it is no longer assumed through bufferCount.\n> \n> Patches 3-6 does some refactoring in lc-compliance in order to reduce code\n> duplication.\n> \n> Patch 7 adds the test to lc-compliance.\n> \n> Patch 8 adds checks to ensure that requests which failed to be enqueued are\n> reported as test failure.\n> \n> Patch 9 replaces all usage of bufferCount for allocateBuffers() and\n> importBuffers() in pipeline handlers to constants, as bufferCount wasn't a good\n> fit and to allow its removal. This is intended as a temporary measure, and\n> pipeline handlers will probably want to improve the logic of those values.\n> \n> Patch 10 removes bufferCount from the StreamConfiguration as it is no longer\n> needed.\n\nWould it be possible to move patches 8 and 9 right after 2, to separate\nthe libcamera changes from the lc-compliance changes ? It doesn't seem\nto cause any conflict.\n\n> Patch 11 adds a test to verify that the MinimumRequests property added is set\n> and valid in the pipeline handler.\n> \n> I've run this new lc-compliance test on the raspberrypi, rkisp1, uvcvideo and\n> vimc pipelines. raspberrypi already handles it well, while the other three run\n> successfully after applying the series in [2]. The ipu3 should run fine as well\n> since the series in [2] was based on the internal queue already present there.\n> \n> [2] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022508.html\n> \n> The amount of buffers to allocate in the lc-compliance test (patch 7) was\n> hardcoded to 8 since more than that would cause errors when allocating.\n> \n> Changes in v7:\n> - Thanks to Kieran:\n>   - Renamed property from MinNumRequests to MinimumRequests (patches 1, 2, 3, 10)\n>   - Added patch 11 to test if MinimumRequests is valid\n> - Thanks to Jacopo:\n>   - Changed description of MinimumRequests\n> \n> v6: https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022356.html\n> \n> Changes in v6:\n> - Thanks to Naushir:\n>   - Removed unneeded comment on MinNumRequests property of RPi\n> - Fixed style issues\n> - Changed static_cast to unsigned int when comparing buffer count in\n>   lc-compliance\n> - Changed parameter order of queueRequests()\n> - Added comment on runCaptureSession()\n> - Added pipeline prefix to INTERNAL_BUFFER_COUNT and BUFFER_SLOT_COUNT constants\n> - Removed unused variable in the IPU3 pipeline\n> \n> v5: https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022098.html\n> \n> Changes in v5:\n> - Rebased on master (now that lc-compliance was refactored to use Googletest)\n> - Added patches 3, 5, 6 and 8\n> - Fixed qcam to use at least two buffers\n> \n> v4: https://lists.libcamera.org/pipermail/libcamera-devel/2021-May/020150.html\n> \n> Changes in v4:\n> - Thanks to Laurent:\n>   - Renamed QueueDepth property to MinNumRequests and better documented it\n>   - Changed patch 6 to also remove bufferCount from android\n> - Thanks to Niklas:\n>   - Added patch 3 to factor common code in lc-compliance\n> - Added patch 5 to remove pipeline dependency on bufferCount\n> \n> v3: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019613.html\n> \n> Changes in v3:\n> - Added patches 1 and 4 to add the QueueDepth property and remove bufferCount\n> - Made the count argument required in patch 2\n> - Added previously missing changes to the gstreamer and v4l2 compatibility\n>   layers\n> \n> v2: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019398.html\n> \n> Changes in v2:\n> - Renamed and reworded commits and series\n> - Dropped patches 2 and 3, which were hacks to test, and added patch 1 to add\n>   count to FrameBufferAllocator\n> - Thanks to Niklas:\n>   - Created new standalone test instead of looping over the other tests\n> \n> v1: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019139.html\n> \n> Nícolas F. R. A. Prado (11):\n>   libcamera: property: Add MinimumRequests property\n>   libcamera: framebuffer_allocator: Make allocate() require count\n>   lc-compliance: Move buffer allocation to separate function\n>   lc-compliance: Factor common capture code into SimpleCapture\n>   lc-compliance: Move camera setup to CameraHolder class\n>   lc-compliance: Move role to string conversion to its own function\n>   lc-compliance: Add test to queue more requests than hardware depth\n>   lc-compliance: Check that requests complete successfully\n>   libcamera: pipeline: Don't rely on bufferCount\n>   libcamera: stream: Remove bufferCount\n>   lc-compliance: Add test to ensure MinimumRequests is valid\n> \n>  include/libcamera/camera.h                    |   2 +-\n>  include/libcamera/framebuffer_allocator.h     |   2 +-\n>  include/libcamera/internal/pipeline_handler.h |   2 +-\n>  include/libcamera/stream.h                    |   2 -\n>  src/android/camera_stream.cpp                 |   7 +-\n>  src/cam/capture.cpp                           |   9 +-\n>  src/gstreamer/gstlibcameraallocator.cpp       |   4 +-\n>  src/lc-compliance/capture_test.cpp            | 138 +++++++++++++---\n>  src/lc-compliance/simple_capture.cpp          | 150 +++++++++++++-----\n>  src/lc-compliance/simple_capture.h            |  27 +++-\n>  src/libcamera/camera.cpp                      |   4 +-\n>  src/libcamera/camera_sensor.cpp               |   1 +\n>  src/libcamera/framebuffer_allocator.cpp       |   5 +-\n>  src/libcamera/pipeline/ipu3/cio2.cpp          |   1 -\n>  src/libcamera/pipeline/ipu3/imgu.cpp          |  12 +-\n>  src/libcamera/pipeline/ipu3/imgu.h            |   5 +-\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          |  21 +--\n>  .../pipeline/raspberrypi/raspberrypi.cpp      |  25 +--\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  15 +-\n>  src/libcamera/pipeline/rkisp1/rkisp1_path.cpp |   4 +-\n>  src/libcamera/pipeline/rkisp1/rkisp1_path.h   |   3 +\n>  src/libcamera/pipeline/simple/converter.cpp   |   7 +-\n>  src/libcamera/pipeline/simple/converter.h     |   6 +-\n>  src/libcamera/pipeline/simple/simple.cpp      |  17 +-\n>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |  17 +-\n>  src/libcamera/pipeline/vimc/vimc.cpp          |  17 +-\n>  src/libcamera/pipeline_handler.cpp            |   1 +\n>  src/libcamera/property_ids.yaml               |  10 ++\n>  src/libcamera/stream.cpp                      |   9 +-\n>  src/qcam/main_window.cpp                      |  11 +-\n>  src/v4l2/v4l2_camera.cpp                      |  16 +-\n>  src/v4l2/v4l2_camera.h                        |   5 +-\n>  src/v4l2/v4l2_camera_proxy.cpp                |   8 +-\n>  test/camera/buffer_import.cpp                 |  10 +-\n>  test/camera/capture.cpp                       |   4 +-\n>  test/camera/statemachine.cpp                  |   4 +-\n>  test/libtest/buffer_source.cpp                |   4 +-\n>  test/libtest/buffer_source.h                  |   2 +-\n>  test/mapped-buffer.cpp                        |   4 +-\n>  test/v4l2_videodevice/buffer_cache.cpp        |   4 +-\n>  40 files changed, 389 insertions(+), 206 deletions(-)\n> \n> -- \n> 2.32.0\n>","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 C735AC3232\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  1 Aug 2021 21:23:20 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 53D70687B1;\n\tSun,  1 Aug 2021 23:23:20 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8C76A687B1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun,  1 Aug 2021 23:23:19 +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 0A49687C;\n\tSun,  1 Aug 2021 23:23:18 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"j1OTEwzl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1627852999;\n\tbh=3EVp5llH5dCZnkd7LGfR24xO76W4gmSt1SdjvwzC2hE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=j1OTEwzlZb7mmVjdhw1vgcKPgqedDLsCgXmmeJaZT/fGJ4GTQZlhVIR3FgNXSNBBj\n\to+JXYGS4Qonu1jMWl8r53p82t59QHMwoXRlWYJ6fjVd9QoHGg8R77J1xAh/q9iHFad\n\tjSt1jEHTDDPDkWl0pD8yoFYX0e6gGnYdh4TnXJAA=","Date":"Mon, 2 Aug 2021 00:23:09 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4=?= Prado <nfraprado@collabora.com>","Message-ID":"<YQcQvaN2f0k5YO8c@pendragon.ideasonboard.com>","References":"<20210722232851.747614-1-nfraprado@collabora.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20210722232851.747614-1-nfraprado@collabora.com>","Subject":"Re: [libcamera-devel] [PATCH v7 00/11] lc-compliance: Add test to\n\tqueue more requests than hardware depth","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":"libcamera-devel@lists.libcamera.org, kernel@collabora.com, =?utf-8?q?A?=\n\t=?utf-8?b?bmRyw6k=?= Almeida <andrealmeid@collabora.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":18460,"web_url":"https://patchwork.libcamera.org/comment/18460/","msgid":"<YQce2Gl8IHL4D5t2@pendragon.ideasonboard.com>","date":"2021-08-01T22:23:20","subject":"Re: [libcamera-devel] [PATCH v7 00/11] lc-compliance: Add test to\n\tqueue more requests than hardware depth","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Nícolas,\n\nAnother comment.\n\nOn Mon, Aug 02, 2021 at 12:23:10AM +0300, Laurent Pinchart wrote:\n> On Thu, Jul 22, 2021 at 08:28:40PM -0300, Nícolas F. R. A. Prado wrote:\n> > The purpose of this series is to add a new test to lc-compliance that tests\n> > queuing a lot of requests at once in order to ensure that pipeline handlers are\n> > able to handle more requests than they have resources for (like internal buffers\n> > and v4l2 buffer slots) [1].\n> > \n> > [1] https://bugs.libcamera.org/show_bug.cgi?id=24\n> > \n> > In order to achieve this, the FrameBufferAllocator had to be adapted to allow an\n> > arbitrary amount of buffers to be allocated. But there's also the issue of\n> > reporting the minimum amount of requests required by the pipeline handler, which\n> > was solved by creating a new MinNumRequests property.\n> \n> It's now called MinimumRequests :-)\n> \n> > So patch 1 adds the new MinNumRequests property to report the minimum amount of\n> > requests needed by the pipeline handler.\n> > \n> > Patch 2 adds a count argument to allocate() so that the amount of buffers to\n> > allocate needs to be specified, as it is no longer assumed through bufferCount.\n> > \n> > Patches 3-6 does some refactoring in lc-compliance in order to reduce code\n> > duplication.\n> > \n> > Patch 7 adds the test to lc-compliance.\n> > \n> > Patch 8 adds checks to ensure that requests which failed to be enqueued are\n> > reported as test failure.\n> > \n> > Patch 9 replaces all usage of bufferCount for allocateBuffers() and\n> > importBuffers() in pipeline handlers to constants, as bufferCount wasn't a good\n> > fit and to allow its removal. This is intended as a temporary measure, and\n> > pipeline handlers will probably want to improve the logic of those values.\n> > \n> > Patch 10 removes bufferCount from the StreamConfiguration as it is no longer\n> > needed.\n> \n> Would it be possible to move patches 8 and 9 right after 2, to separate\n> the libcamera changes from the lc-compliance changes ? It doesn't seem\n> to cause any conflict.\n> \n> > Patch 11 adds a test to verify that the MinimumRequests property added is set\n> > and valid in the pipeline handler.\n> > \n> > I've run this new lc-compliance test on the raspberrypi, rkisp1, uvcvideo and\n> > vimc pipelines. raspberrypi already handles it well, while the other three run\n> > successfully after applying the series in [2]. The ipu3 should run fine as well\n> > since the series in [2] was based on the internal queue already present there.\n> > \n> > [2] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022508.html\n\nDoesn't the simple pipeline handler need to be fixed in a similar way ?\n\n> > The amount of buffers to allocate in the lc-compliance test (patch 7) was\n> > hardcoded to 8 since more than that would cause errors when allocating.\n> > \n> > Changes in v7:\n> > - Thanks to Kieran:\n> >   - Renamed property from MinNumRequests to MinimumRequests (patches 1, 2, 3, 10)\n> >   - Added patch 11 to test if MinimumRequests is valid\n> > - Thanks to Jacopo:\n> >   - Changed description of MinimumRequests\n> > \n> > v6: https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022356.html\n> > \n> > Changes in v6:\n> > - Thanks to Naushir:\n> >   - Removed unneeded comment on MinNumRequests property of RPi\n> > - Fixed style issues\n> > - Changed static_cast to unsigned int when comparing buffer count in\n> >   lc-compliance\n> > - Changed parameter order of queueRequests()\n> > - Added comment on runCaptureSession()\n> > - Added pipeline prefix to INTERNAL_BUFFER_COUNT and BUFFER_SLOT_COUNT constants\n> > - Removed unused variable in the IPU3 pipeline\n> > \n> > v5: https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022098.html\n> > \n> > Changes in v5:\n> > - Rebased on master (now that lc-compliance was refactored to use Googletest)\n> > - Added patches 3, 5, 6 and 8\n> > - Fixed qcam to use at least two buffers\n> > \n> > v4: https://lists.libcamera.org/pipermail/libcamera-devel/2021-May/020150.html\n> > \n> > Changes in v4:\n> > - Thanks to Laurent:\n> >   - Renamed QueueDepth property to MinNumRequests and better documented it\n> >   - Changed patch 6 to also remove bufferCount from android\n> > - Thanks to Niklas:\n> >   - Added patch 3 to factor common code in lc-compliance\n> > - Added patch 5 to remove pipeline dependency on bufferCount\n> > \n> > v3: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019613.html\n> > \n> > Changes in v3:\n> > - Added patches 1 and 4 to add the QueueDepth property and remove bufferCount\n> > - Made the count argument required in patch 2\n> > - Added previously missing changes to the gstreamer and v4l2 compatibility\n> >   layers\n> > \n> > v2: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019398.html\n> > \n> > Changes in v2:\n> > - Renamed and reworded commits and series\n> > - Dropped patches 2 and 3, which were hacks to test, and added patch 1 to add\n> >   count to FrameBufferAllocator\n> > - Thanks to Niklas:\n> >   - Created new standalone test instead of looping over the other tests\n> > \n> > v1: https://lists.libcamera.org/pipermail/libcamera-devel/2021-April/019139.html\n> > \n> > Nícolas F. R. A. Prado (11):\n> >   libcamera: property: Add MinimumRequests property\n> >   libcamera: framebuffer_allocator: Make allocate() require count\n> >   lc-compliance: Move buffer allocation to separate function\n> >   lc-compliance: Factor common capture code into SimpleCapture\n> >   lc-compliance: Move camera setup to CameraHolder class\n> >   lc-compliance: Move role to string conversion to its own function\n> >   lc-compliance: Add test to queue more requests than hardware depth\n> >   lc-compliance: Check that requests complete successfully\n> >   libcamera: pipeline: Don't rely on bufferCount\n> >   libcamera: stream: Remove bufferCount\n> >   lc-compliance: Add test to ensure MinimumRequests is valid\n> > \n> >  include/libcamera/camera.h                    |   2 +-\n> >  include/libcamera/framebuffer_allocator.h     |   2 +-\n> >  include/libcamera/internal/pipeline_handler.h |   2 +-\n> >  include/libcamera/stream.h                    |   2 -\n> >  src/android/camera_stream.cpp                 |   7 +-\n> >  src/cam/capture.cpp                           |   9 +-\n> >  src/gstreamer/gstlibcameraallocator.cpp       |   4 +-\n> >  src/lc-compliance/capture_test.cpp            | 138 +++++++++++++---\n> >  src/lc-compliance/simple_capture.cpp          | 150 +++++++++++++-----\n> >  src/lc-compliance/simple_capture.h            |  27 +++-\n> >  src/libcamera/camera.cpp                      |   4 +-\n> >  src/libcamera/camera_sensor.cpp               |   1 +\n> >  src/libcamera/framebuffer_allocator.cpp       |   5 +-\n> >  src/libcamera/pipeline/ipu3/cio2.cpp          |   1 -\n> >  src/libcamera/pipeline/ipu3/imgu.cpp          |  12 +-\n> >  src/libcamera/pipeline/ipu3/imgu.h            |   5 +-\n> >  src/libcamera/pipeline/ipu3/ipu3.cpp          |  21 +--\n> >  .../pipeline/raspberrypi/raspberrypi.cpp      |  25 +--\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  15 +-\n> >  src/libcamera/pipeline/rkisp1/rkisp1_path.cpp |   4 +-\n> >  src/libcamera/pipeline/rkisp1/rkisp1_path.h   |   3 +\n> >  src/libcamera/pipeline/simple/converter.cpp   |   7 +-\n> >  src/libcamera/pipeline/simple/converter.h     |   6 +-\n> >  src/libcamera/pipeline/simple/simple.cpp      |  17 +-\n> >  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |  17 +-\n> >  src/libcamera/pipeline/vimc/vimc.cpp          |  17 +-\n> >  src/libcamera/pipeline_handler.cpp            |   1 +\n> >  src/libcamera/property_ids.yaml               |  10 ++\n> >  src/libcamera/stream.cpp                      |   9 +-\n> >  src/qcam/main_window.cpp                      |  11 +-\n> >  src/v4l2/v4l2_camera.cpp                      |  16 +-\n> >  src/v4l2/v4l2_camera.h                        |   5 +-\n> >  src/v4l2/v4l2_camera_proxy.cpp                |   8 +-\n> >  test/camera/buffer_import.cpp                 |  10 +-\n> >  test/camera/capture.cpp                       |   4 +-\n> >  test/camera/statemachine.cpp                  |   4 +-\n> >  test/libtest/buffer_source.cpp                |   4 +-\n> >  test/libtest/buffer_source.h                  |   2 +-\n> >  test/mapped-buffer.cpp                        |   4 +-\n> >  test/v4l2_videodevice/buffer_cache.cpp        |   4 +-\n> >  40 files changed, 389 insertions(+), 206 deletions(-)","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 8AD19BD878\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  1 Aug 2021 22:23:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 009E3687BD;\n\tMon,  2 Aug 2021 00:23:32 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C05B9687BD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  2 Aug 2021 00:23:30 +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 483C88C8;\n\tMon,  2 Aug 2021 00:23:30 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"cnLT0TOH\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1627856610;\n\tbh=6JkQfuGjrGKULxGZGpZISqiEuy6N+VrV+G/GIJT8WWE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=cnLT0TOHvahYlR41Ipwd0c/nElLlIHxxIg9J01c5EO17NHJmheaSdwV62eJltlsBV\n\txv9uxclM0VXlNMusq2ZKQCrSR9wNk5e6kHxQD52+s0PAzyE4bFqLVrZSpb8UxwD/ih\n\tx2Qp9DOKyw8cqZc+BOJoeAASt4KWQDKIlNHQEl8w=","Date":"Mon, 2 Aug 2021 01:23:20 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4=?= Prado <nfraprado@collabora.com>","Message-ID":"<YQce2Gl8IHL4D5t2@pendragon.ideasonboard.com>","References":"<20210722232851.747614-1-nfraprado@collabora.com>\n\t<YQcQvaN2f0k5YO8c@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<YQcQvaN2f0k5YO8c@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v7 00/11] lc-compliance: Add test to\n\tqueue more requests than hardware depth","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":"libcamera-devel@lists.libcamera.org, kernel@collabora.com, =?utf-8?q?A?=\n\t=?utf-8?b?bmRyw6k=?= Almeida <andrealmeid@collabora.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]