Re: [RFC PATCH v1 12/19] media: renesas: vsp1: Keep the DRM pipeline entities sorted

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

 



Hi Laurent

On Wed, Nov 22, 2023 at 06:30:02AM GMT, Laurent Pinchart wrote:
> Some of the code that handles pipeline configuration assumes that
> entities in a pipeline's entities list are sorted from sink to source.
> To prepare for using that code with the DRM pipeline, insert the BRx
> just before the WPF, and the RPFs at the head of the list.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>

With the meaning of pipe->output->entity.list_pipe clarified offline

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

Thanks

> ---
>  drivers/media/platform/renesas/vsp1/vsp1_drm.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drm.c b/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> index 1aa59a74672f..e44359b661b6 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_drm.c
> @@ -317,7 +317,10 @@ static int vsp1_du_pipeline_setup_brx(struct vsp1_device *vsp1,
>  			list_add_tail(&released_brx->list_pipe,
>  				      &pipe->entities);
>
> -		/* Add the BRx to the pipeline. */
> +		/*
> +		 * Add the BRx to the pipeline, inserting it just before the
> +		 * WPF.
> +		 */
>  		dev_dbg(vsp1->dev, "%s: pipe %u: acquired %s\n",
>  			__func__, pipe->lif->index, BRX_NAME(brx));
>
> @@ -326,7 +329,8 @@ static int vsp1_du_pipeline_setup_brx(struct vsp1_device *vsp1,
>  		pipe->brx->sink = &pipe->output->entity;
>  		pipe->brx->sink_pad = 0;
>
> -		list_add_tail(&pipe->brx->list_pipe, &pipe->entities);
> +		list_add_tail(&pipe->brx->list_pipe,
> +			      &pipe->output->entity.list_pipe);
>  	}
>
>  	/*
> @@ -420,7 +424,7 @@ static int vsp1_du_pipeline_setup_inputs(struct vsp1_device *vsp1,
>
>  		if (!rpf->entity.pipe) {
>  			rpf->entity.pipe = pipe;
> -			list_add_tail(&rpf->entity.list_pipe, &pipe->entities);
> +			list_add(&rpf->entity.list_pipe, &pipe->entities);
>  		}
>
>  		brx->inputs[i].rpf = rpf;
> --
> 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