From 6bf86aa260c8e7043b191689d9e6058bff1941a6 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Thu, 11 Mar 2021 13:59:16 +0000 Subject: libcamera: pipeline: ipu3: frames: Associate buffers with the request Ensure that the buffers are associated with the request even if they are used internally to be able to correctly map back to the resources they are being used to fulfil. Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- src/libcamera/pipeline/ipu3/cio2.cpp | 3 +-- src/libcamera/pipeline/ipu3/frames.cpp | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/libcamera/pipeline') diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp index 0ef3bc04..3cd777d1 100644 --- a/src/libcamera/pipeline/ipu3/cio2.cpp +++ b/src/libcamera/pipeline/ipu3/cio2.cpp @@ -278,10 +278,9 @@ FrameBuffer *CIO2Device::queueBuffer(Request *request, FrameBuffer *rawBuffer) buffer = availableBuffers_.front(); availableBuffers_.pop(); + buffer->setRequest(request); } - buffer->setRequest(request); - int ret = output_->queueBuffer(buffer); if (ret) return nullptr; diff --git a/src/libcamera/pipeline/ipu3/frames.cpp b/src/libcamera/pipeline/ipu3/frames.cpp index c7718fe7..e8eb1c51 100644 --- a/src/libcamera/pipeline/ipu3/frames.cpp +++ b/src/libcamera/pipeline/ipu3/frames.cpp @@ -58,6 +58,9 @@ IPU3Frames::Info *IPU3Frames::create(Request *request) FrameBuffer *paramBuffer = availableParamBuffers_.front(); FrameBuffer *statBuffer = availableStatBuffers_.front(); + paramBuffer->setRequest(request); + statBuffer->setRequest(request); + availableParamBuffers_.pop(); availableStatBuffers_.pop(); -- cgit v1.2.1