[media] v4l: vsp1: Always enable virtual RPF when BRU is in use
authorTakanari Hayama <taki@igel.co.jp>
Thu, 27 Nov 2014 01:25:02 +0000 (22:25 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 23 Dec 2014 11:32:41 +0000 (09:32 -0200)
Regardless of a number of inputs, we should always enable virtual RPF
when BRU is used. This allows the case when there's only one input to
BRU, and a size of the input is smaller than a size of an output of BRU.

Signed-off-by: Takanari Hayama <taki@igel.co.jp>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/vsp1/vsp1_wpf.c

index b1089d05583a97f84ce5797a3c2794912c1f5431..1d2b3a2f1573ed6f43c9f573737bb761f7060e64 100644 (file)
@@ -92,19 +92,20 @@ static int wpf_s_stream(struct v4l2_subdev *subdev, int enable)
                return 0;
        }
 
-       /* Sources. If the pipeline has a single input configure it as the
-        * master layer. Otherwise configure all inputs as sub-layers and
-        * select the virtual RPF as the master layer.
+       /* Sources. If the pipeline has a single input and BRU is not used,
+        * configure it as the master layer. Otherwise configure all
+        * inputs as sub-layers and select the virtual RPF as the master
+        * layer.
         */
        for (i = 0; i < pipe->num_inputs; ++i) {
                struct vsp1_rwpf *input = pipe->inputs[i];
 
-               srcrpf |= pipe->num_inputs == 1
+               srcrpf |= (!pipe->bru && pipe->num_inputs == 1)
                        ? VI6_WPF_SRCRPF_RPF_ACT_MST(input->entity.index)
                        : VI6_WPF_SRCRPF_RPF_ACT_SUB(input->entity.index);
        }
 
-       if (pipe->num_inputs > 1)
+       if (pipe->bru || pipe->num_inputs > 1)
                srcrpf |= VI6_WPF_SRCRPF_VIRACT_MST;
 
        vsp1_wpf_write(wpf, VI6_WPF_SRCRPF, srcrpf);