[PATCH 1/9] v4l: vsp1: Fix display stalls when requesting too many inputs
Kieran Bingham
kieran.bingham+renesas at ideasonboard.com
Fri Dec 15 10:11:25 UTC 2017
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+renesas at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas at 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;
>
>
More information about the dri-devel
mailing list