| From 83ec3513da89e0c00efff9346c2acf6af6aadb2d Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Wed, 28 May 2014 13:10:33 -0300 |
| Subject: [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> |
| (cherry picked from commit d6c71e8ceb9fe79aaf9c2f73af5cb2ef93526b0d) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/media/platform/vsp1/vsp1_wpf.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| 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; |
| } |
| |
| -- |
| 2.1.2 |
| |