summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2014-05-28 13:10:33 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-07-17 12:44:56 -0300
commitd6c71e8ceb9fe79aaf9c2f73af5cb2ef93526b0d (patch)
tree6ed86223737dea59b0bbd82f0a9f743de5a1d79d
parent5aeb01adbea81e858318072097d98fc44578c7be (diff)
downloadblackbird-op-linux-d6c71e8ceb9fe79aaf9c2f73af5cb2ef93526b0d.tar.gz
blackbird-op-linux-d6c71e8ceb9fe79aaf9c2f73af5cb2ef93526b0d.zip
[media] v4l: vsp1: wpf: Clear RPF to WPF association at stream off time
The VSP1 stores the video pipelines' input (RPF) to output (WPF) mappings in a WPF register. An RPF must never be associated with multiple WPFs, even if all of those WPFs but one are unused, otherwise the hardware won't function properly. The driver doesn't ensure this correctly as it never clears the mappings. An RPF used with one WPF and later with a different WPF will lead to malfunction, as it will be associated with two WPFs. Clear the mappings at stream off time to fix this. Reported-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/platform/vsp1/vsp1_wpf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c b/drivers/media/platform/vsp1/vsp1_wpf.c
index 591f09ca3aff..d33086530778 100644
--- a/drivers/media/platform/vsp1/vsp1_wpf.c
+++ b/drivers/media/platform/vsp1/vsp1_wpf.c
@@ -54,6 +54,7 @@ static int wpf_s_stream(struct v4l2_subdev *subdev, int enable)
if (!enable) {
vsp1_write(vsp1, VI6_WPF_IRQ_ENB(wpf->entity.index), 0);
+ vsp1_wpf_write(wpf, VI6_WPF_SRCRPF, 0);
return 0;
}
OpenPOWER on IntegriCloud