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

Message ID 20241218083610.2397879-4-naush@raspberrypi.com
State New
Headers show
Series
  • Raspberry Pi: Various changes
Related show

Commit Message

Naushir Patuck Dec. 18, 2024, 8:34 a.m. UTC
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@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/ipa/rpi/controller/controller.cpp | 2 ++
 src/ipa/rpi/controller/controller.h   | 1 +
 2 files changed, 3 insertions(+)

Patch
diff mbox series

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();