include: linux: Update headers for line-based embedded data support
diff mbox series

Message ID 20241023071211.87239-1-jacopo.mondi@ideasonboard.com
State Superseded
Headers show
Series
  • include: linux: Update headers for line-based embedded data support
Related show

Commit Message

Jacopo Mondi Oct. 23, 2024, 7:12 a.m. UTC
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@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(-)

--
2.47.0

Comments

Kieran Bingham Oct. 23, 2024, 8:30 a.m. UTC | #1
Quoting Jacopo Mondi (2024-10-23 08:12:10)
> 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@ideasonboard.com>

Acked-by: Kieran Bingham <kieran.bingham@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
>

Patch
diff mbox series

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