{"id":19517,"url":"https://patchwork.libcamera.org/api/patches/19517/?format=json","web_url":"https://patchwork.libcamera.org/patch/19517/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240220164317.998477-7-dan.scally@ideasonboard.com>","date":"2024-02-20T16:43:16","name":"[v2,6/7] libcamera: rkisp1: Remove tryCompleteRequest function","commit_ref":null,"pull_url":null,"state":"rejected","archived":true,"hash":"c6cb5fca32495e33e3309e544726b0aa48c5db73","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/?format=json","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19517/mbox/","series":[{"id":4172,"url":"https://patchwork.libcamera.org/api/series/4172/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4172","date":"2024-02-20T16:43:10","name":"Remove RkISP1FrameInfo and IPU3Frames classes","version":2,"mbox":"https://patchwork.libcamera.org/series/4172/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19517/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19517/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 0C151C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 20 Feb 2024 16:43:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B78A96281C;\n\tTue, 20 Feb 2024 17:43:38 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4BD3C62816\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 20 Feb 2024 17:43:26 +0100 (CET)","from mail.ideasonboard.com\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CDF8513AC;\n\tTue, 20 Feb 2024 17:43:18 +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=\"kCy57dN5\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1708447399;\n\tbh=oVp2NAeK8iFDudcHJP+wK5DZNhWAkH7FY3TPU52qTsM=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=kCy57dN5UqPrcDVdO60eBHgFUfMWcSDForB8g4Z86YWN6qNucjhg1ESJor8B1/f8s\n\tcj182+g9dqtkRggrl3pNOExg7soIDPf+PKlMq/ZgSl/yjKtt2JvwpW+Hxd2Vogf/as\n\tCIQYGcHgv4rmRw+CbxQt0i6A+3uwH7lebwnYcsuM=","From":"Daniel Scally <dan.scally@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH v2 6/7] libcamera: rkisp1: Remove tryCompleteRequest function","Date":"Tue, 20 Feb 2024 16:43:16 +0000","Message-Id":"<20240220164317.998477-7-dan.scally@ideasonboard.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20240220164317.998477-1-dan.scally@ideasonboard.com>","References":"<20240220164317.998477-1-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Now that tryCompleteRequest() does nothing beyond checking for the\nRequest's pending buffers, we can just remove the function and rely\non the return value of completeBuffer() to know if it's time to call\ncompleteRequest() or not.\n\nSigned-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n---\nChanges in v2:\n\n\t- New patch\n\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 27 +++++++++---------------\n 1 file changed, 10 insertions(+), 17 deletions(-)","diff":"diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex ec4665a9..8331da11 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -143,7 +143,6 @@ private:\n \tint initLinks(Camera *camera, const CameraSensor *sensor,\n \t\t      const RkISP1CameraConfiguration &config);\n \tint createCamera(MediaEntity *sensor);\n-\tvoid tryCompleteRequest(Request *request);\n \tvoid bufferReady(FrameBuffer *buffer);\n \tvoid paramReady(FrameBuffer *buffer);\n \tvoid statReady(FrameBuffer *buffer);\n@@ -276,8 +275,8 @@ void RkISP1CameraData::metadataReady(unsigned int frame, const ControlList &meta\n \n \trequest->metadata().merge(metadata);\n \tpipe()->availableStatBuffers_.push(statBuffer);\n-\tpipe()->completeBuffer(request, statBuffer);\n-\tpipe()->tryCompleteRequest(request);\n+\tif (pipe()->completeBuffer(request, statBuffer))\n+\t\tpipe()->completeRequest(request);\n }\n \n /* -----------------------------------------------------------------------------\n@@ -1104,14 +1103,6 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)\n  * Buffer Handling\n  */\n \n-void PipelineHandlerRkISP1::tryCompleteRequest(Request *request)\n-{\n-\tif (request->hasPendingBuffers())\n-\t\treturn;\n-\n-\tcompleteRequest(request);\n-}\n-\n void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)\n {\n \tASSERT(activeCamera_);\n@@ -1137,8 +1128,8 @@ void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)\n \t\t}\n \t}\n \n-\tcompleteBuffer(request, buffer);\n-\ttryCompleteRequest(request);\n+\tif (completeBuffer(request, buffer))\n+\t\tcompleteRequest(request);\n }\n \n void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)\n@@ -1146,8 +1137,9 @@ void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)\n \tASSERT(activeCamera_);\n \tRequest *request = buffer->request();\n \n-\tcompleteBuffer(buffer->request(), buffer);\n-\ttryCompleteRequest(request);\n+\tif (completeBuffer(buffer->request(), buffer))\n+\t\tcompleteRequest(request);\n+\n \tavailableParamBuffers_.push(buffer);\n }\n \n@@ -1158,8 +1150,9 @@ void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)\n \tRequest *request = buffer->request();\n \n \tif (buffer->metadata().status == FrameMetadata::FrameCancelled) {\n-\t\tcompleteBuffer(request, buffer);\n-\t\ttryCompleteRequest(request);\n+\t\tif (completeBuffer(request, buffer))\n+\t\t\tcompleteRequest(request);\n+\n \t\tavailableStatBuffers_.push(buffer);\n \t\treturn;\n \t}\n","prefixes":["v2","6/7"]}