From 354f1fb933e7cd8f01fb4d16c78d1f851fa08d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= Date: Wed, 4 Nov 2020 14:32:11 +0100 Subject: libcamera: ipu3: cio2: Return the FrameBuffer pointer used MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When adding IPA plumbing to the IPU3 pipeline handler it will be needed to track which raw buffer was queued to the CIO2 for a specific request. Currently if using an internally allocated raw buffer the FrameBuffer is not exposed outside the CIO2Device as it was not needed. Prepare for the IPA by exposing which internal raw buffer is picked for each request, later changes will associate this with a Request. Signed-off-by: Niklas Söderlund Reviewed-by: Jacopo Mondi Reviewed-by: Laurent Pinchart --- src/libcamera/pipeline/ipu3/ipu3.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/libcamera/pipeline/ipu3/ipu3.cpp') diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 23845ff3..184986fc 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -646,10 +646,10 @@ int PipelineHandlerIPU3::queueRequestDevice(Camera *camera, Request *request) * Queue a buffer on the CIO2, using the raw stream buffer provided in * the request, if any, or a CIO2 internal buffer otherwise. */ - FrameBuffer *rawBuffer = request->findBuffer(&data->rawStream_); - error = data->cio2_.queueBuffer(request, rawBuffer); - if (error) - return error; + FrameBuffer *reqRawBuffer = request->findBuffer(&data->rawStream_); + FrameBuffer *rawBuffer = data->cio2_.queueBuffer(request, reqRawBuffer); + if (!rawBuffer) + return -ENOMEM; /* Queue all buffers from the request aimed for the ImgU. */ for (auto it : request->buffers()) { -- cgit v1.2.1