Re: [PATCH v7 25/27] v4l: subdev: add routing & stream config to v4l2_subdev_state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tomi,

Thank you for the patch.

On Mon, May 24, 2021 at 01:44:06PM +0300, Tomi Valkeinen wrote:
> Add routing and stream_configs to struct v4l2_subdev_state. This lets
> the drivers to implement V4L2_SUBDEV_FORMAT_TRY support for routing and
> the stream configurations.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> ---
>  drivers/media/v4l2-core/v4l2-subdev.c | 3 +++
>  include/media/v4l2-subdev.h           | 4 ++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c
> index b30b456d8d99..13cffe9d9b89 100644
> --- a/drivers/media/v4l2-core/v4l2-subdev.c
> +++ b/drivers/media/v4l2-core/v4l2-subdev.c
> @@ -1227,6 +1227,9 @@ EXPORT_SYMBOL_GPL(v4l2_subdev_alloc_state);
>  
>  void v4l2_subdev_free_state(struct v4l2_subdev_state *state)
>  {
> +	v4l2_subdev_free_routing(&state->routing);
> +	v4l2_uninit_stream_configs(&state->stream_configs);
> +
>  	kvfree(state->pads);
>  	kvfree(state);
>  }
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index 39c6b811463a..973db58c2d9b 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -712,6 +712,8 @@ struct v4l2_subdev_krouting {
>   * struct v4l2_subdev_state - Used for storing subdev information.
>   *
>   * @pads: &struct v4l2_subdev_pad_config array
> + * @routing: routing table for the subdev
> + * @stream_configs: stream configurations (only for V4L2_SUBDEV_FL_MULTIPLEXED)
>   *
>   * This structure only needs to be passed to the pad op if the 'which' field
>   * of the main argument is set to %V4L2_SUBDEV_FORMAT_TRY. For
> @@ -719,6 +721,8 @@ struct v4l2_subdev_krouting {
>   */
>  struct v4l2_subdev_state {
>  	struct v4l2_subdev_pad_config *pads;
> +	struct v4l2_subdev_krouting routing;
> +	struct v4l2_subdev_stream_configs stream_configs;

stream_configs duplicates the information contained in pads. This is
possibly acceptable for the time being, but needs to be abstracted from
drivers completely.

>  };
>  
>  /**

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux