[PATCH 1/4] include: linux: Update headers for line-based embedded data support
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Wed Oct 23 13:11:20 CEST 2024
Update the kernel headers with the definition of two device-specific
line-based metadata formats, and with the definition of the
MEDIA_PAD_FL_INTERNAL and V4L2_SUBDEV_ROUTE_FL_IMMUTABLE flags.
The new definitions will allow to support handling line-based
metadata streams exposed by the sensor driver through an
internal sink pad.
While the changes have not yet been collected in the official
linux-media tree, they're available in the 'metadata' branch of
https://git.linuxtv.org/sailus/media_tree.git, at revision:
8d8fdc8a8809 ("media: Documentation: Add subdev configuration models,
raw sensor model").
The patches are expected to land in Linux v6.13.
Signed-off-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
include/linux/README | 2 +-
include/linux/media-bus-format.h | 4 ++++
include/linux/media.h | 1 +
include/linux/v4l2-subdev.h | 5 +++++
4 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/include/linux/README b/include/linux/README
index ef178681f6eb..077eaba30b42 100644
--- a/include/linux/README
+++ b/include/linux/README
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: CC0-1.0
-Files in this directory are imported from next-media-rkisp1-20240814-14-ga043ea54bbb9 of the Linux kernel. Do not
+Files in this directory are imported from v6.12-rc1-56-g8d8fdc8a8809 of the Linux kernel. Do not
modify them manually.
diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h
index d4c1d991014b..13e68c2ccb61 100644
--- a/include/linux/media-bus-format.h
+++ b/include/linux/media-bus-format.h
@@ -183,4 +183,8 @@
#define MEDIA_BUS_FMT_META_20 0x8006
#define MEDIA_BUS_FMT_META_24 0x8007
+/* Specific metadata formats. Next is 0x9003. */
+#define MEDIA_BUS_FMT_CCS_EMBEDDED 0x9001
+#define MEDIA_BUS_FMT_OV2740_EMBEDDED 0x9002
+
#endif /* __LINUX_MEDIA_BUS_FORMAT_H */
diff --git a/include/linux/media.h b/include/linux/media.h
index b5a77bbf4062..4a733b9beb27 100644
--- a/include/linux/media.h
+++ b/include/linux/media.h
@@ -206,6 +206,7 @@ struct media_entity_desc {
#define MEDIA_PAD_FL_SINK (1U << 0)
#define MEDIA_PAD_FL_SOURCE (1U << 1)
#define MEDIA_PAD_FL_MUST_CONNECT (1U << 2)
+#define MEDIA_PAD_FL_INTERNAL (1U << 3)
struct media_pad_desc {
__u32 entity; /* entity ID */
diff --git a/include/linux/v4l2-subdev.h b/include/linux/v4l2-subdev.h
index 2347e266cf75..839b1329afb2 100644
--- a/include/linux/v4l2-subdev.h
+++ b/include/linux/v4l2-subdev.h
@@ -204,6 +204,11 @@ struct v4l2_subdev_capability {
* on a video node.
*/
#define V4L2_SUBDEV_ROUTE_FL_ACTIVE (1U << 0)
+/*
+ * Is the route immutable? The ACTIVE flag of an immutable route may not be
+ * unset.
+ */
+#define V4L2_SUBDEV_ROUTE_FL_IMMUTABLE (1U << 1)
/**
* struct v4l2_subdev_route - A route inside a subdev
--
2.47.0
More information about the libcamera-devel
mailing list