summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2021-03-11 13:59:16 +0000
committerKieran Bingham <kieran.bingham@ideasonboard.com>2021-03-24 22:20:05 +0000
commit6bf86aa260c8e7043b191689d9e6058bff1941a6 (patch)
treecad5af6e5c4cb299915fbd1a88c698f9f064b87f
parent552ac5cfeccba4a37079533b4562358ac4a7b4f9 (diff)
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 <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/libcamera/pipeline/ipu3/cio2.cpp3
-rw-r--r--src/libcamera/pipeline/ipu3/frames.cpp3
2 files changed, 4 insertions, 2 deletions
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();