[libcamera-devel,v5,07/19] libcamera: ipu3: Do not overwrite StreamConfiguration

Message ID 20200731153320.58107-8-jacopo@jmondi.org
State Accepted
Headers show
Series
  • [libcamera-devel,v5,01/19] libcamera: ipu3: Rename mbusCodesToInfo
Related show

Commit Message

Jacopo Mondi July 31, 2020, 3:33 p.m. UTC
The validate function overwrites the generated StreamConfiguration with
the one reported by the CIO2 unit when inspecting the RAW stream
configuration.

As we prepare to add StreamFormats to the IPU3 StreamConfiguration,
assigning to the CIO2 generated configuration would delete the
StreamFormats.

Fix this by updating relevant fields only in order to keep the
assigned StreamFormats.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index f2d76551d369..b998c0722edc 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -270,7 +270,9 @@  CameraConfiguration::Status IPU3CameraConfiguration::validate()
 		const Stream *stream = streams_[i];
 
 		if (stream == &data_->rawStream_) {
-			cfg = cio2Configuration_;
+			cfg.size = cio2Configuration_.size;
+			cfg.pixelFormat = cio2Configuration_.pixelFormat;
+			cfg.bufferCount = cio2Configuration_.bufferCount;
 		} else {
 			bool scale = stream == &data_->vfStream_;
 			adjustStream(config_[i], scale);