[PATCH v2 7/9] media: renesas: vsp1: Name nested structure in vsp1_drm

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Wed Apr 30 10:14:59 UTC 2025


Hi,

On 30/04/2025 02:29, Laurent Pinchart wrote:
> The vsp1_drm structure defines an anonymous nested structure to store
> per-input data. In preparation for extending that structure, give it a
> name and is it through the driver. This improves code readability.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> ---
>   drivers/media/platform/renesas/vsp1/vsp1_drm.c | 18 +++++++++---------
>   drivers/media/platform/renesas/vsp1/vsp1_drm.h |  2 +-
>   2 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drm.c b/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> index f8a575f6188a..e5339fda5941 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> @@ -118,24 +118,22 @@ static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1,
>   				      struct vsp1_entity *uif,
>   				      unsigned int brx_input)
>   {
> +	const struct vsp1_drm_input *input = &vsp1->drm->inputs[rpf->entity.index];
>   	struct v4l2_subdev_selection sel = {
>   		.which = V4L2_SUBDEV_FORMAT_ACTIVE,
>   	};
>   	struct v4l2_subdev_format format = {
>   		.which = V4L2_SUBDEV_FORMAT_ACTIVE,
>   	};
> -	const struct v4l2_rect *crop;
>   	int ret;
>   
>   	/*
>   	 * Configure the format on the RPF sink pad and propagate it up to the
>   	 * BRx sink pad.
>   	 */
> -	crop = &vsp1->drm->inputs[rpf->entity.index].crop;
> -
>   	format.pad = RWPF_PAD_SINK;
> -	format.format.width = crop->width + crop->left;
> -	format.format.height = crop->height + crop->top;
> +	format.format.width = input->crop.width + input->crop.left;
> +	format.format.height = input->crop.height + input->crop.top;
>   	format.format.code = rpf->fmtinfo->mbus;
>   	format.format.field = V4L2_FIELD_NONE;
>   
> @@ -151,7 +149,7 @@ static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1,
>   
>   	sel.pad = RWPF_PAD_SINK;
>   	sel.target = V4L2_SEL_TGT_CROP;
> -	sel.r = *crop;
> +	sel.r = input->crop;
>   
>   	ret = v4l2_subdev_call(&rpf->entity.subdev, pad, set_selection, NULL,
>   			       &sel);
> @@ -826,12 +824,14 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index,
>   {
>   	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
>   	struct vsp1_drm_pipeline *drm_pipe = &vsp1->drm->pipe[pipe_index];
> +	struct vsp1_drm_input *input;
>   	struct vsp1_rwpf *rpf;
>   	int ret;
>   
>   	if (rpf_index >= vsp1->info->rpf_count)
>   		return -EINVAL;
>   
> +	input = &vsp1->drm->inputs[rpf_index];
>   	rpf = vsp1->rpf[rpf_index];
>   
>   	if (!cfg) {
> @@ -873,9 +873,9 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index,
>   
>   	rpf->format.flags = cfg->premult ? V4L2_PIX_FMT_FLAG_PREMUL_ALPHA : 0;
>   
> -	vsp1->drm->inputs[rpf_index].crop = cfg->src;
> -	vsp1->drm->inputs[rpf_index].compose = cfg->dst;
> -	vsp1->drm->inputs[rpf_index].zpos = cfg->zpos;
> +	input->crop = cfg->src;
> +	input->compose = cfg->dst;
> +	input->zpos = cfg->zpos;
>   
>   	drm_pipe->pipe.inputs[rpf_index] = rpf;
>   
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drm.h b/drivers/media/platform/renesas/vsp1/vsp1_drm.h
> index 3fd95b53f27e..7234737cc464 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_drm.h
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_drm.h
> @@ -59,7 +59,7 @@ struct vsp1_drm {
>   	struct vsp1_drm_pipeline pipe[VSP1_MAX_LIF];
>   	struct mutex lock;
>   
> -	struct {
> +	struct vsp1_drm_input {
>   		struct v4l2_rect crop;
>   		struct v4l2_rect compose;
>   		unsigned int zpos;

Reviewed-by: Tomi Valkeinen <tomi.valkeinen+renesas at ideasonboard.com>

  Tomi



More information about the dri-devel mailing list