Re: [RFC PATCH v1 01/19] media: renesas: vsp1: Drop vsp1_entity_get_pad_format() wrapper

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

 



Hi Laurent

On Wed, Nov 22, 2023 at 06:29:51AM GMT, Laurent Pinchart wrote:
> From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>
> The vsp1_entity_get_pad_format() function is just a wrapper around
> v4l2_subdev_state_get_format() without any added value. Drop it and call
> v4l2_subdev_state_get_format() directly.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>  .../media/platform/renesas/vsp1/vsp1_brx.c    | 18 +++++-----
>  .../media/platform/renesas/vsp1/vsp1_clu.c    |  3 +-
>  .../media/platform/renesas/vsp1/vsp1_entity.c | 27 +++-----------
>  .../media/platform/renesas/vsp1/vsp1_entity.h |  4 ---
>  .../media/platform/renesas/vsp1/vsp1_histo.c  |  6 ++--
>  .../media/platform/renesas/vsp1/vsp1_hsit.c   |  5 ++-
>  .../media/platform/renesas/vsp1/vsp1_lif.c    |  4 +--
>  .../media/platform/renesas/vsp1/vsp1_rpf.c    | 10 +++---
>  .../media/platform/renesas/vsp1/vsp1_rwpf.c   | 14 +++-----
>  .../media/platform/renesas/vsp1/vsp1_sru.c    | 33 ++++++++---------
>  .../media/platform/renesas/vsp1/vsp1_uds.c    | 35 ++++++++-----------
>  .../media/platform/renesas/vsp1/vsp1_uif.c    |  5 ++-
>  .../media/platform/renesas/vsp1/vsp1_video.c  | 10 +++---
>  .../media/platform/renesas/vsp1/vsp1_wpf.c    | 25 ++++++-------
>  14 files changed, 75 insertions(+), 124 deletions(-)
>
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_brx.c b/drivers/media/platform/renesas/vsp1/vsp1_brx.c
> index a8535c6e2c46..0eb4d8fe4285 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_brx.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_brx.c
> @@ -119,8 +119,8 @@ static void brx_try_format(struct vsp1_brx *brx,
>
>  	default:
>  		/* The BRx can't perform format conversion. */
> -		format = vsp1_entity_get_pad_format(&brx->entity, sd_state,
> -						    BRX_PAD_SINK(0));
> +		format = v4l2_subdev_state_get_format(sd_state,
> +						      BRX_PAD_SINK(0));
>  		fmt->code = format->code;
>  		break;
>  	}
> @@ -150,7 +150,7 @@ static int brx_set_format(struct v4l2_subdev *subdev,
>
>  	brx_try_format(brx, state, fmt->pad, &fmt->format);
>
> -	format = vsp1_entity_get_pad_format(&brx->entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>  	*format = fmt->format;
>
>  	/* Reset the compose rectangle. */
> @@ -169,8 +169,7 @@ static int brx_set_format(struct v4l2_subdev *subdev,
>  		unsigned int i;
>
>  		for (i = 0; i <= brx->entity.source_pad; ++i) {
> -			format = vsp1_entity_get_pad_format(&brx->entity,
> -							    state, i);
> +			format = v4l2_subdev_state_get_format(state, i);
>  			format->code = fmt->format.code;
>  		}
>  	}
> @@ -242,8 +241,7 @@ static int brx_set_selection(struct v4l2_subdev *subdev,
>  	 * The compose rectangle top left corner must be inside the output
>  	 * frame.
>  	 */
> -	format = vsp1_entity_get_pad_format(&brx->entity, state,
> -					    brx->entity.source_pad);
> +	format = v4l2_subdev_state_get_format(state, brx->entity.source_pad);
>  	sel->r.left = clamp_t(unsigned int, sel->r.left, 0, format->width - 1);
>  	sel->r.top = clamp_t(unsigned int, sel->r.top, 0, format->height - 1);
>
> @@ -251,7 +249,7 @@ static int brx_set_selection(struct v4l2_subdev *subdev,
>  	 * Scaling isn't supported, the compose rectangle size must be identical
>  	 * to the sink format size.
>  	 */
> -	format = vsp1_entity_get_pad_format(&brx->entity, state, sel->pad);
> +	format = v4l2_subdev_state_get_format(state, sel->pad);
>  	sel->r.width = format->width;
>  	sel->r.height = format->height;
>
> @@ -290,8 +288,8 @@ static void brx_configure_stream(struct vsp1_entity *entity,
>  	unsigned int flags;
>  	unsigned int i;
>
> -	format = vsp1_entity_get_pad_format(&brx->entity, brx->entity.state,
> -					    brx->entity.source_pad);
> +	format = v4l2_subdev_state_get_format(brx->entity.state,
> +					      brx->entity.source_pad);
>
>  	/*
>  	 * The hardware is extremely flexible but we have no userspace API to
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_clu.c b/drivers/media/platform/renesas/vsp1/vsp1_clu.c
> index 625776a9bda4..1e57676a420c 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_clu.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_clu.c
> @@ -181,8 +181,7 @@ static void clu_configure_stream(struct vsp1_entity *entity,
>  	 * The yuv_mode can't be changed during streaming. Cache it internally
>  	 * for future runtime configuration calls.
>  	 */
> -	format = vsp1_entity_get_pad_format(&clu->entity, clu->entity.state,
> -					    CLU_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(clu->entity.state, CLU_PAD_SINK);
>  	clu->yuv_mode = format->code == MEDIA_BUS_FMT_AYUV8_1X32;
>  }
>
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_entity.c b/drivers/media/platform/renesas/vsp1/vsp1_entity.c
> index 0a5a7f9cc870..fa748cf89d44 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_entity.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_entity.c
> @@ -127,23 +127,6 @@ vsp1_entity_get_state(struct vsp1_entity *entity,
>  	}
>  }
>
> -/**
> - * vsp1_entity_get_pad_format - Get a pad format from storage for an entity
> - * @entity: the entity
> - * @sd_state: the state storage
> - * @pad: the pad number
> - *
> - * Return the format stored in the given configuration for an entity's pad. The
> - * configuration can be an ACTIVE or TRY configuration.
> - */
> -struct v4l2_mbus_framefmt *
> -vsp1_entity_get_pad_format(struct vsp1_entity *entity,
> -			   struct v4l2_subdev_state *sd_state,
> -			   unsigned int pad)
> -{
> -	return v4l2_subdev_state_get_format(sd_state, pad);
> -}
> -
>  /**
>   * vsp1_entity_get_pad_selection - Get a pad selection from storage for entity
>   * @entity: the entity
> @@ -191,7 +174,7 @@ int vsp1_subdev_get_pad_format(struct v4l2_subdev *subdev,
>  		return -EINVAL;
>
>  	mutex_lock(&entity->lock);
> -	fmt->format = *vsp1_entity_get_pad_format(entity, state, fmt->pad);
> +	fmt->format = *v4l2_subdev_state_get_format(state, fmt->pad);
>  	mutex_unlock(&entity->lock);
>
>  	return 0;
> @@ -238,7 +221,7 @@ int vsp1_subdev_enum_mbus_code(struct v4l2_subdev *subdev,
>  			return -EINVAL;
>
>  		mutex_lock(&entity->lock);
> -		format = vsp1_entity_get_pad_format(entity, state, 0);
> +		format = v4l2_subdev_state_get_format(state, 0);
>  		code->code = format->code;
>  		mutex_unlock(&entity->lock);
>  	}
> @@ -276,7 +259,7 @@ int vsp1_subdev_enum_frame_size(struct v4l2_subdev *subdev,
>  	if (!state)
>  		return -EINVAL;
>
> -	format = vsp1_entity_get_pad_format(entity, state, fse->pad);
> +	format = v4l2_subdev_state_get_format(state, fse->pad);
>
>  	mutex_lock(&entity->lock);
>
> @@ -346,7 +329,7 @@ int vsp1_subdev_set_pad_format(struct v4l2_subdev *subdev,
>  		goto done;
>  	}
>
> -	format = vsp1_entity_get_pad_format(entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>
>  	if (fmt->pad == entity->source_pad) {
>  		/* The output format can't be modified. */
> @@ -374,7 +357,7 @@ int vsp1_subdev_set_pad_format(struct v4l2_subdev *subdev,
>  	fmt->format = *format;
>
>  	/* Propagate the format to the source pad. */
> -	format = vsp1_entity_get_pad_format(entity, state, entity->source_pad);
> +	format = v4l2_subdev_state_get_format(state, entity->source_pad);
>  	*format = fmt->format;
>
>  	/* Reset the crop and compose rectangles. */
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_entity.h b/drivers/media/platform/renesas/vsp1/vsp1_entity.h
> index 735f32dde4b5..e913befe7fc8 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_entity.h
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_entity.h
> @@ -138,10 +138,6 @@ struct v4l2_subdev_state *
>  vsp1_entity_get_state(struct vsp1_entity *entity,
>  		      struct v4l2_subdev_state *sd_state,
>  		      enum v4l2_subdev_format_whence which);
> -struct v4l2_mbus_framefmt *
> -vsp1_entity_get_pad_format(struct vsp1_entity *entity,
> -			   struct v4l2_subdev_state *sd_state,
> -			   unsigned int pad);
>  struct v4l2_rect *
>  vsp1_entity_get_pad_selection(struct vsp1_entity *entity,
>  			      struct v4l2_subdev_state *sd_state,
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_histo.c b/drivers/media/platform/renesas/vsp1/vsp1_histo.c
> index 71155282ca11..ad38726c234f 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_histo.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_histo.c
> @@ -233,8 +233,7 @@ static int histo_get_selection(struct v4l2_subdev *subdev,
>
>  	case V4L2_SEL_TGT_CROP_BOUNDS:
>  	case V4L2_SEL_TGT_CROP_DEFAULT:
> -		format = vsp1_entity_get_pad_format(&histo->entity, state,
> -						    HISTO_PAD_SINK);
> +		format = v4l2_subdev_state_get_format(state, HISTO_PAD_SINK);
>  		sel->r.left = 0;
>  		sel->r.top = 0;
>  		sel->r.width = format->width;
> @@ -266,8 +265,7 @@ static int histo_set_crop(struct v4l2_subdev *subdev,
>  	struct v4l2_rect *selection;
>
>  	/* The crop rectangle must be inside the input frame. */
> -	format = vsp1_entity_get_pad_format(&histo->entity, sd_state,
> -					    HISTO_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(sd_state, HISTO_PAD_SINK);
>  	sel->r.left = clamp_t(unsigned int, sel->r.left, 0, format->width - 1);
>  	sel->r.top = clamp_t(unsigned int, sel->r.top, 0, format->height - 1);
>  	sel->r.width = clamp_t(unsigned int, sel->r.width, HISTO_MIN_SIZE,
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_hsit.c b/drivers/media/platform/renesas/vsp1/vsp1_hsit.c
> index bc1299c29ac9..4a8cce808c93 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_hsit.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_hsit.c
> @@ -78,7 +78,7 @@ static int hsit_set_format(struct v4l2_subdev *subdev,
>  		goto done;
>  	}
>
> -	format = vsp1_entity_get_pad_format(&hsit->entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>
>  	if (fmt->pad == HSIT_PAD_SOURCE) {
>  		/*
> @@ -101,8 +101,7 @@ static int hsit_set_format(struct v4l2_subdev *subdev,
>  	fmt->format = *format;
>
>  	/* Propagate the format to the source pad. */
> -	format = vsp1_entity_get_pad_format(&hsit->entity, state,
> -					    HSIT_PAD_SOURCE);
> +	format = v4l2_subdev_state_get_format(state, HSIT_PAD_SOURCE);
>  	*format = fmt->format;
>  	format->code = hsit->inverse ? MEDIA_BUS_FMT_ARGB8888_1X32
>  		     : MEDIA_BUS_FMT_AHSV8888_1X32;
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_lif.c b/drivers/media/platform/renesas/vsp1/vsp1_lif.c
> index b1d21a54837b..29d4c1521e6a 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_lif.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_lif.c
> @@ -93,8 +93,8 @@ static void lif_configure_stream(struct vsp1_entity *entity,
>  	unsigned int obth;
>  	unsigned int lbth;
>
> -	format = vsp1_entity_get_pad_format(&lif->entity, lif->entity.state,
> -					    LIF_PAD_SOURCE);
> +	format = v4l2_subdev_state_get_format(lif->entity.state,
> +					      LIF_PAD_SOURCE);
>
>  	switch (entity->vsp1->version & VI6_IP_VERSION_MODEL_MASK) {
>  	case VI6_IP_VERSION_MODEL_VSPD_GEN2:
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_rpf.c b/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> index c47579efc65f..19d9f078748c 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> @@ -80,12 +80,10 @@ static void rpf_configure_stream(struct vsp1_entity *entity,
>  	vsp1_rpf_write(rpf, dlb, VI6_RPF_SRCM_PSTRIDE, pstride);
>
>  	/* Format */
> -	sink_format = vsp1_entity_get_pad_format(&rpf->entity,
> -						 rpf->entity.state,
> -						 RWPF_PAD_SINK);
> -	source_format = vsp1_entity_get_pad_format(&rpf->entity,
> -						   rpf->entity.state,
> -						   RWPF_PAD_SOURCE);
> +	sink_format = v4l2_subdev_state_get_format(rpf->entity.state,
> +						   RWPF_PAD_SINK);
> +	source_format = v4l2_subdev_state_get_format(rpf->entity.state,
> +						     RWPF_PAD_SOURCE);
>
>  	infmt = VI6_RPF_INFMT_CIPM
>  	      | (fmtinfo->hwfmt << VI6_RPF_INFMT_RDFMT_SHIFT);
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c b/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c
> index 09fb6ffa14e2..574623a48a3d 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c
> @@ -79,7 +79,7 @@ static int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
>  	    fmt->format.code != MEDIA_BUS_FMT_AYUV8_1X32)
>  		fmt->format.code = MEDIA_BUS_FMT_AYUV8_1X32;
>
> -	format = vsp1_entity_get_pad_format(&rwpf->entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>
>  	if (fmt->pad == RWPF_PAD_SOURCE) {
>  		/*
> @@ -113,8 +113,7 @@ static int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
>  	}
>
>  	/* Propagate the format to the source pad. */
> -	format = vsp1_entity_get_pad_format(&rwpf->entity, state,
> -					    RWPF_PAD_SOURCE);
> +	format = v4l2_subdev_state_get_format(state, RWPF_PAD_SOURCE);
>  	*format = fmt->format;
>
>  	if (rwpf->flip.rotate) {
> @@ -157,8 +156,7 @@ static int vsp1_rwpf_get_selection(struct v4l2_subdev *subdev,
>  		break;
>
>  	case V4L2_SEL_TGT_CROP_BOUNDS:
> -		format = vsp1_entity_get_pad_format(&rwpf->entity, state,
> -						    RWPF_PAD_SINK);
> +		format = v4l2_subdev_state_get_format(state, RWPF_PAD_SINK);
>  		sel->r.left = 0;
>  		sel->r.top = 0;
>  		sel->r.width = format->width;
> @@ -204,8 +202,7 @@ static int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
>  	}
>
>  	/* Make sure the crop rectangle is entirely contained in the image. */
> -	format = vsp1_entity_get_pad_format(&rwpf->entity, state,
> -					    RWPF_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(state, RWPF_PAD_SINK);
>
>  	/*
>  	 * Restrict the crop rectangle coordinates to multiples of 2 to avoid
> @@ -229,8 +226,7 @@ static int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
>  	*crop = sel->r;
>
>  	/* Propagate the format to the source pad. */
> -	format = vsp1_entity_get_pad_format(&rwpf->entity, state,
> -					    RWPF_PAD_SOURCE);
> +	format = v4l2_subdev_state_get_format(state, RWPF_PAD_SOURCE);
>  	format->width = crop->width;
>  	format->height = crop->height;
>
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_sru.c b/drivers/media/platform/renesas/vsp1/vsp1_sru.c
> index 11e008aa9f20..2c67aae0d5fd 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_sru.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_sru.c
> @@ -131,7 +131,7 @@ static int sru_enum_frame_size(struct v4l2_subdev *subdev,
>  	if (!state)
>  		return -EINVAL;
>
> -	format = vsp1_entity_get_pad_format(&sru->entity, state, SRU_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(state, SRU_PAD_SINK);
>
>  	mutex_lock(&sru->entity.lock);
>
> @@ -184,8 +184,7 @@ static void sru_try_format(struct vsp1_sru *sru,
>
>  	case SRU_PAD_SOURCE:
>  		/* The SRU can't perform format conversion. */
> -		format = vsp1_entity_get_pad_format(&sru->entity, sd_state,
> -						    SRU_PAD_SINK);
> +		format = v4l2_subdev_state_get_format(sd_state, SRU_PAD_SINK);
>  		fmt->code = format->code;
>
>  		/*
> @@ -234,13 +233,12 @@ static int sru_set_format(struct v4l2_subdev *subdev,
>
>  	sru_try_format(sru, state, fmt->pad, &fmt->format);
>
> -	format = vsp1_entity_get_pad_format(&sru->entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>  	*format = fmt->format;
>
>  	if (fmt->pad == SRU_PAD_SINK) {
>  		/* Propagate the format to the source pad. */
> -		format = vsp1_entity_get_pad_format(&sru->entity, state,
> -						    SRU_PAD_SOURCE);
> +		format = v4l2_subdev_state_get_format(state, SRU_PAD_SOURCE);
>  		*format = fmt->format;
>
>  		sru_try_format(sru, state, SRU_PAD_SOURCE, format);
> @@ -277,10 +275,9 @@ static void sru_configure_stream(struct vsp1_entity *entity,
>  	struct v4l2_mbus_framefmt *output;
>  	u32 ctrl0;
>
> -	input = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					   SRU_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					    SRU_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(sru->entity.state, SRU_PAD_SINK);
> +	output = v4l2_subdev_state_get_format(sru->entity.state,
> +					      SRU_PAD_SOURCE);
>
>  	if (input->code == MEDIA_BUS_FMT_ARGB8888_1X32)
>  		ctrl0 = VI6_SRU_CTRL0_PARAM2 | VI6_SRU_CTRL0_PARAM3
> @@ -307,10 +304,10 @@ static unsigned int sru_max_width(struct vsp1_entity *entity,
>  	struct v4l2_mbus_framefmt *input;
>  	struct v4l2_mbus_framefmt *output;
>
> -	input = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					   SRU_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					    SRU_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(sru->entity.state,
> +					     SRU_PAD_SINK);

nit: Fits on the previous line

> +	output = v4l2_subdev_state_get_format(sru->entity.state,
> +					      SRU_PAD_SOURCE);
>
>  	/*
>  	 * The maximum input width of the SRU is 288 input pixels, but 32
> @@ -333,10 +330,10 @@ static void sru_partition(struct vsp1_entity *entity,
>  	struct v4l2_mbus_framefmt *input;
>  	struct v4l2_mbus_framefmt *output;
>
> -	input = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					   SRU_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&sru->entity, sru->entity.state,
> -					    SRU_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(sru->entity.state,
> +					     SRU_PAD_SINK);

ditto

> +	output = v4l2_subdev_state_get_format(sru->entity.state,
> +					      SRU_PAD_SOURCE);
>
>  	/* Adapt if SRUx2 is enabled. */
>  	if (input->width != output->width) {
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_uds.c b/drivers/media/platform/renesas/vsp1/vsp1_uds.c
> index d89f1197b86c..887b1f70611a 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_uds.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_uds.c
> @@ -136,7 +136,7 @@ static int uds_enum_frame_size(struct v4l2_subdev *subdev,
>  	if (!state)
>  		return -EINVAL;
>
> -	format = vsp1_entity_get_pad_format(&uds->entity, state, UDS_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(state, UDS_PAD_SINK);
>
>  	mutex_lock(&uds->entity.lock);
>
> @@ -183,8 +183,7 @@ static void uds_try_format(struct vsp1_uds *uds,
>
>  	case UDS_PAD_SOURCE:
>  		/* The UDS scales but can't perform format conversion. */
> -		format = vsp1_entity_get_pad_format(&uds->entity, sd_state,
> -						    UDS_PAD_SINK);
> +		format = v4l2_subdev_state_get_format(sd_state, UDS_PAD_SINK);
>  		fmt->code = format->code;
>
>  		uds_output_limits(format->width, &minimum, &maximum);
> @@ -217,13 +216,12 @@ static int uds_set_format(struct v4l2_subdev *subdev,
>
>  	uds_try_format(uds, state, fmt->pad, &fmt->format);
>
> -	format = vsp1_entity_get_pad_format(&uds->entity, state, fmt->pad);
> +	format = v4l2_subdev_state_get_format(state, fmt->pad);
>  	*format = fmt->format;
>
>  	if (fmt->pad == UDS_PAD_SINK) {
>  		/* Propagate the format to the source pad. */
> -		format = vsp1_entity_get_pad_format(&uds->entity, state,
> -						    UDS_PAD_SOURCE);
> +		format = v4l2_subdev_state_get_format(state, UDS_PAD_SOURCE);
>  		*format = fmt->format;
>
>  		uds_try_format(uds, state, UDS_PAD_SOURCE, format);
> @@ -265,10 +263,9 @@ static void uds_configure_stream(struct vsp1_entity *entity,
>  	unsigned int vscale;
>  	bool multitap;
>
> -	input = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					   UDS_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					    UDS_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(uds->entity.state, UDS_PAD_SINK);
> +	output = v4l2_subdev_state_get_format(uds->entity.state,
> +					      UDS_PAD_SOURCE);
>
>  	hscale = uds_compute_ratio(input->width, output->width);
>  	vscale = uds_compute_ratio(input->height, output->height);
> @@ -310,8 +307,8 @@ static void uds_configure_partition(struct vsp1_entity *entity,
>  	struct vsp1_partition *partition = pipe->partition;
>  	const struct v4l2_mbus_framefmt *output;
>
> -	output = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					    UDS_PAD_SOURCE);
> +	output = v4l2_subdev_state_get_format(uds->entity.state,
> +					      UDS_PAD_SOURCE);
>
>  	/* Input size clipping. */
>  	vsp1_uds_write(uds, dlb, VI6_UDS_HSZCLIP, VI6_UDS_HSZCLIP_HCEN |
> @@ -335,10 +332,9 @@ static unsigned int uds_max_width(struct vsp1_entity *entity,
>  	const struct v4l2_mbus_framefmt *input;
>  	unsigned int hscale;
>
> -	input = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					   UDS_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					    UDS_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(uds->entity.state, UDS_PAD_SINK);
> +	output = v4l2_subdev_state_get_format(uds->entity.state,
> +					      UDS_PAD_SOURCE);
>  	hscale = output->width / input->width;
>
>  	/*
> @@ -377,10 +373,9 @@ static void uds_partition(struct vsp1_entity *entity,
>  	partition->uds_sink = *window;
>  	partition->uds_source = *window;
>
> -	input = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					   UDS_PAD_SINK);
> -	output = vsp1_entity_get_pad_format(&uds->entity, uds->entity.state,
> -					    UDS_PAD_SOURCE);
> +	input = v4l2_subdev_state_get_format(uds->entity.state, UDS_PAD_SINK);
> +	output = v4l2_subdev_state_get_format(uds->entity.state,
> +					      UDS_PAD_SOURCE);
>
>  	partition->uds_sink.width = window->width * input->width
>  				  / output->width;
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_uif.c b/drivers/media/platform/renesas/vsp1/vsp1_uif.c
> index f66936a28a2a..ee5b6ba22898 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_uif.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_uif.c
> @@ -104,8 +104,7 @@ static int uif_get_selection(struct v4l2_subdev *subdev,
>  	switch (sel->target) {
>  	case V4L2_SEL_TGT_CROP_BOUNDS:
>  	case V4L2_SEL_TGT_CROP_DEFAULT:
> -		format = vsp1_entity_get_pad_format(&uif->entity, state,
> -						    UIF_PAD_SINK);
> +		format = v4l2_subdev_state_get_format(state, UIF_PAD_SINK);
>  		sel->r.left = 0;
>  		sel->r.top = 0;
>  		sel->r.width = format->width;
> @@ -150,7 +149,7 @@ static int uif_set_selection(struct v4l2_subdev *subdev,
>  	}
>
>  	/* The crop rectangle must be inside the input frame. */
> -	format = vsp1_entity_get_pad_format(&uif->entity, state, UIF_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(state, UIF_PAD_SINK);
>
>  	sel->r.left = clamp_t(unsigned int, sel->r.left, 0, format->width - 1);
>  	sel->r.top = clamp_t(unsigned int, sel->r.top, 0, format->height - 1);
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_video.c b/drivers/media/platform/renesas/vsp1/vsp1_video.c
> index 5a9cb0e5640e..9cb81b4c65ed 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_video.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_video.c
> @@ -197,9 +197,8 @@ static void vsp1_video_calculate_partition(struct vsp1_pipeline *pipe,
>  	 * Partitions are computed on the size before rotation, use the format
>  	 * at the WPF sink.
>  	 */
> -	format = vsp1_entity_get_pad_format(&pipe->output->entity,
> -					    pipe->output->entity.state,
> -					    RWPF_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(pipe->output->entity.state,
> +					      RWPF_PAD_SINK);
>
>  	/* A single partition simply processes the output size in full. */
>  	if (pipe->partitions <= 1) {
> @@ -262,9 +261,8 @@ static int vsp1_video_pipeline_setup_partitions(struct vsp1_pipeline *pipe)
>  	 * Partitions are computed on the size before rotation, use the format
>  	 * at the WPF sink.
>  	 */
> -	format = vsp1_entity_get_pad_format(&pipe->output->entity,
> -					    pipe->output->entity.state,
> -					    RWPF_PAD_SINK);
> +	format = v4l2_subdev_state_get_format(pipe->output->entity.state,
> +					      RWPF_PAD_SINK);
>  	div_size = format->width;
>
>  	/*
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_wpf.c b/drivers/media/platform/renesas/vsp1/vsp1_wpf.c
> index 9693aeab1cac..5129181b8217 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_wpf.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_wpf.c
> @@ -65,12 +65,10 @@ static int vsp1_wpf_set_rotation(struct vsp1_rwpf *wpf, unsigned int rotation)
>  		goto done;
>  	}
>
> -	sink_format = vsp1_entity_get_pad_format(&wpf->entity,
> -						 wpf->entity.state,
> -						 RWPF_PAD_SINK);
> -	source_format = vsp1_entity_get_pad_format(&wpf->entity,
> -						   wpf->entity.state,
> -						   RWPF_PAD_SOURCE);
> +	sink_format = v4l2_subdev_state_get_format(wpf->entity.state,
> +						   RWPF_PAD_SINK);
> +	source_format = v4l2_subdev_state_get_format(wpf->entity.state,
> +						     RWPF_PAD_SOURCE);
>
>  	mutex_lock(&wpf->entity.lock);
>
> @@ -245,12 +243,10 @@ static void wpf_configure_stream(struct vsp1_entity *entity,
>  	u32 srcrpf = 0;
>  	int ret;
>
> -	sink_format = vsp1_entity_get_pad_format(&wpf->entity,
> -						 wpf->entity.state,
> -						 RWPF_PAD_SINK);
> -	source_format = vsp1_entity_get_pad_format(&wpf->entity,
> -						   wpf->entity.state,
> -						   RWPF_PAD_SOURCE);
> +	sink_format = v4l2_subdev_state_get_format(wpf->entity.state,
> +						   RWPF_PAD_SINK);
> +	source_format = v4l2_subdev_state_get_format(wpf->entity.state,
> +						     RWPF_PAD_SOURCE);
>
>  	/* Format */
>  	if (!pipe->lif || wpf->writeback) {
> @@ -383,9 +379,8 @@ static void wpf_configure_partition(struct vsp1_entity *entity,
>  	unsigned int flip;
>  	unsigned int i;
>
> -	sink_format = vsp1_entity_get_pad_format(&wpf->entity,
> -						 wpf->entity.state,
> -						 RWPF_PAD_SINK);
> +	sink_format = v4l2_subdev_state_get_format(wpf->entity.state,
> +						   RWPF_PAD_SINK);
>  	width = sink_format->width;
>  	height = sink_format->height;
>  	left = 0;

Reviewed-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>

Thanks
  j

> --
> 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