summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-10-24 14:27:46 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-11-21 11:48:22 +0200
commit091591b52e5535065eef141339c3d69406185136 (patch)
tree89188ed416698d92d3a4d8b9f660168413ac7fc2
parent882d04d740eec4176d5639a30ac282b89ed49d10 (diff)
pipeline: rpi: Add some useful logging messages
Add a bunch of logging messages that have come in handy debugging various issues with the pipeline handler code. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/pipeline/rpi/common/pipeline_base.cpp11
-rw-r--r--src/libcamera/pipeline/rpi/vc4/vc4.cpp3
2 files changed, 13 insertions, 1 deletions
diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
index 9f788c9d..8e1cbbe6 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
@@ -731,7 +731,8 @@ int PipelineHandlerBase::queueRequestDevice(Camera *camera, Request *request)
if (!data->isRunning())
return -EINVAL;
- LOG(RPI, Debug) << "queueRequestDevice: New request.";
+ LOG(RPI, Debug) << "queueRequestDevice: New request sequence: "
+ << request->sequence();
/* Push all buffers supplied in the Request to the respective streams. */
for (auto stream : data->streams_) {
@@ -1436,6 +1437,8 @@ void CameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream)
* Tag the buffer as completed, returning it to the
* application.
*/
+ LOG(RPI, Debug) << "Completing request buffer for stream "
+ << stream->name();
pipe()->completeBuffer(request, buffer);
} else {
/*
@@ -1444,6 +1447,8 @@ void CameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream)
* unconditionally for internal streams), or there is no pending
* request, so we can recycle it.
*/
+ LOG(RPI, Debug) << "Returning buffer to stream "
+ << stream->name();
stream->returnBuffer(buffer);
}
}
@@ -1487,6 +1492,9 @@ void CameraData::checkRequestCompleted()
if (state_ != State::IpaComplete)
return;
+ LOG(RPI, Debug) << "Completing request sequence: "
+ << request->sequence();
+
pipe()->completeRequest(request);
requestQueue_.pop();
requestCompleted = true;
@@ -1499,6 +1507,7 @@ void CameraData::checkRequestCompleted()
if (state_ == State::IpaComplete &&
((ispOutputCount_ == ispOutputTotal_ && dropFrameCount_) ||
requestCompleted)) {
+ LOG(RPI, Debug) << "Going into Idle state";
state_ = State::Idle;
if (dropFrameCount_) {
dropFrameCount_--;
diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
index a5cc4fc1..26102ea7 100644
--- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
+++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
@@ -283,6 +283,9 @@ int PipelineHandlerVc4::prepareBuffers(Camera *camera)
numBuffers = 1;
}
+ LOG(RPI, Debug) << "Preparing " << numBuffers
+ << " buffers for stream " << stream->name();
+
ret = stream->prepareBuffers(numBuffers);
if (ret < 0)
return ret;