[PATCH v2 3/4] ipa: rpi: Add a HW property to determine if the data buffer is strided

Naushir Patuck naush at raspberrypi.com
Wed Dec 18 09:34:20 CET 2024


This property (dataBufferStrided) indicates if the CSI-2 hardware writes
to the embedded/metadata buffer directly, or if it treats the buffer
like an image buffer and strides the metadata lines.

Unicam writes this buffer strided, while the PiSP Frontend writes to it
directly. This information will be relevant to data parsers in the
helpers where the data is structured in lines.

Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/ipa/rpi/controller/controller.cpp | 2 ++
 src/ipa/rpi/controller/controller.h   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/ipa/rpi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp
index e0131018e7b2..651fff632400 100644
--- a/src/ipa/rpi/controller/controller.cpp
+++ b/src/ipa/rpi/controller/controller.cpp
@@ -39,6 +39,7 @@ static const std::map<std::string, Controller::HardwareConfig> HardwareConfigMap
 			.pipelineWidth = 13,
 			.statsInline = false,
 			.minPixelProcessingTime = 0s,
+			.dataBufferStrided = true,
 		}
 	},
 	{
@@ -71,6 +72,7 @@ static const std::map<std::string, Controller::HardwareConfig> HardwareConfigMap
 			 * frames wider than ~16,000 pixels.
 			 */
 			.minPixelProcessingTime = 1.0us / 380,
+			.dataBufferStrided = false,
 		}
 	},
 };
diff --git a/src/ipa/rpi/controller/controller.h b/src/ipa/rpi/controller/controller.h
index eff520bd61de..fdb46557de9c 100644
--- a/src/ipa/rpi/controller/controller.h
+++ b/src/ipa/rpi/controller/controller.h
@@ -49,6 +49,7 @@ public:
 		unsigned int pipelineWidth;
 		bool statsInline;
 		libcamera::utils::Duration minPixelProcessingTime;
+		bool dataBufferStrided;
 	};
 
 	Controller();
-- 
2.43.0



More information about the libcamera-devel mailing list