Hi Laurent,

As this is a prevents hardware hangs, and is a distinct patch on it's own - I
feel it should be on an accelerated path to integration, and should be merged
separately from the rest of the CRC feature series.

On 03/12/17 10:57, Laurent Pinchart wrote:
> Make sure we don't accept more inputs than the hardware can handle. This
> is a temporary fix to avoid display stall, we need to instead allocate
> the BRU or BRS to display pipelines dynamically based on the number of
> planes they each use.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham+rene...@ideasonboard.com>

> ---
>  drivers/media/platform/vsp1/vsp1_drm.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/media/platform/vsp1/vsp1_drm.c 
> b/drivers/media/platform/vsp1/vsp1_drm.c
> index 7ce69f23f50a..ac85942162c1 100644
> --- a/drivers/media/platform/vsp1/vsp1_drm.c
> +++ b/drivers/media/platform/vsp1/vsp1_drm.c
> @@ -530,6 +530,15 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned 
> int pipe_index)
>               struct vsp1_rwpf *rpf = vsp1->rpf[i];
>               unsigned int j;
>  
> +             /*
> +              * Make sure we don't accept more inputs than the hardware can
> +              * handle. This is a temporary fix to avoid display stall, we
> +              * need to instead allocate the BRU or BRS to display pipelines
> +              * dynamically based on the number of planes they each use.
> +              */
> +             if (pipe->num_inputs >= pipe->bru->source_pad)
> +                     pipe->inputs[i] = NULL;
> +
>               if (!pipe->inputs[i])
>                       continue;
>  
> 

Reply via email to