[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