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