Hi Kieran,

Thank you for the patch.

On Friday 06 Jan 2017 12:15:31 Kieran Bingham wrote:
> The pipe->dl is used only inside vsp1_du_atomic_flush(), and can be
> obtained and stored locally to simplify the code.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham+rene...@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

As I still have issues with patch 3/4, I propose moving this one earlier in 
the series.

> ---
>  drivers/media/platform/vsp1/vsp1_drm.c  | 20 ++++++++++----------
>  drivers/media/platform/vsp1/vsp1_pipe.h |  2 --
>  2 files changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/platform/vsp1/vsp1_drm.c
> b/drivers/media/platform/vsp1/vsp1_drm.c index b4b583f7137a..d7ec980300dd
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_drm.c
> +++ b/drivers/media/platform/vsp1/vsp1_drm.c
> @@ -220,9 +220,6 @@ void vsp1_du_atomic_begin(struct device *dev)
>       struct vsp1_pipeline *pipe = &vsp1->drm->pipe;
> 
>       vsp1->drm->num_inputs = pipe->num_inputs;
> -
> -     /* Prepare the display list. */
> -     pipe->dl = vsp1_dl_list_get(pipe->output->dlm);
>  }
>  EXPORT_SYMBOL_GPL(vsp1_du_atomic_begin);
> 
> @@ -426,10 +423,14 @@ void vsp1_du_atomic_flush(struct device *dev)
>       struct vsp1_pipeline *pipe = &vsp1->drm->pipe;
>       struct vsp1_rwpf *inputs[VSP1_MAX_RPF] = { NULL, };
>       struct vsp1_entity *entity;
> +     struct vsp1_dl_list *dl;
>       unsigned long flags;
>       unsigned int i;
>       int ret;
> 
> +     /* Prepare the display list. */
> +     dl = vsp1_dl_list_get(pipe->output->dlm);
> +
>       /* Count the number of enabled inputs and sort them by Z-order. */
>       pipe->num_inputs = 0;
> 
> @@ -484,26 +485,25 @@ void vsp1_du_atomic_flush(struct device *dev)
>                       struct vsp1_rwpf *rpf = to_rwpf(&entity->subdev);
> 
>                       if (!pipe->inputs[rpf->entity.index]) {
> -                             vsp1_dl_list_write(pipe->dl, entity->route-
>reg,
> +                             vsp1_dl_list_write(dl, entity->route->reg,
>                                                  VI6_DPR_NODE_UNUSED);
>                               continue;
>                       }
>               }
> 
> -             vsp1_entity_route_setup(entity, pipe->dl);
> +             vsp1_entity_route_setup(entity, dl);
> 
>               if (entity->ops->configure) {
> -                     entity->ops->configure(entity, pipe, pipe->dl,
> +                     entity->ops->configure(entity, pipe, dl,
>                                              VSP1_ENTITY_PARAMS_INIT);
> -                     entity->ops->configure(entity, pipe, pipe->dl,
> +                     entity->ops->configure(entity, pipe, dl,
>                                              VSP1_ENTITY_PARAMS_RUNTIME);
> -                     entity->ops->configure(entity, pipe, pipe->dl,
> +                     entity->ops->configure(entity, pipe, dl,
>                                              VSP1_ENTITY_PARAMS_PARTITION);
>               }
>       }
> 
> -     vsp1_dl_list_commit(pipe->dl);
> -     pipe->dl = NULL;
> +     vsp1_dl_list_commit(dl);
> 
>       /* Start or stop the pipeline if needed. */
>       if (!vsp1->drm->num_inputs && pipe->num_inputs) {
> diff --git a/drivers/media/platform/vsp1/vsp1_pipe.h
> b/drivers/media/platform/vsp1/vsp1_pipe.h index fff122b4874d..e59bef2653f6
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_pipe.h
> +++ b/drivers/media/platform/vsp1/vsp1_pipe.h
> @@ -108,8 +108,6 @@ struct vsp1_pipeline {
> 
>       struct list_head entities;
> 
> -     struct vsp1_dl_list *dl;
> -
>       unsigned int div_size;
>       unsigned int partitions;
>       struct v4l2_rect partition;

-- 
Regards,

Laurent Pinchart

Reply via email to