Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e3e4cb5 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

media: v4l: vsp1: Fix display stalls when requesting too many inputs



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: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent ed3056f0
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;