]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
media: xilinx: Use xvip_write to update background pattern
authorRadhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Tue, 1 Dec 2015 10:20:12 +0000 (15:50 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 2 Dec 2015 12:12:44 +0000 (13:12 +0100)
Use xvip_write to update background pattern.
It allows to have pattern count > mask.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
Tested-by: Christian Kohn <christian.kohn@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/media/platform/xilinx/xilinx-tpg.c

index 391c2edab05ff870114f713ea2c6a9e0928f6b84..bb28d985629c9e35a45f9f144daeba9d5a448349 100644 (file)
@@ -232,7 +232,6 @@ static int xtpg_s_stream(struct v4l2_subdev *subdev, int enable)
        unsigned int height = xtpg->formats[0].height;
        bool passthrough;
        u32 bayer_phase;
-       u32 xtpg_pattern_offset;
 
        if (!enable) {
                if (xtpg->is_hls)
@@ -266,10 +265,8 @@ static int xtpg_s_stream(struct v4l2_subdev *subdev, int enable)
                xvip_write(&xtpg->xvip, XTPG_HLS_COLOR_FORMAT, fmt);
                xvip_write(&xtpg->xvip, XHLS_REG_COLS, width);
                xvip_write(&xtpg->xvip, XHLS_REG_ROWS, height);
-               xtpg_pattern_offset = XTPG_HLS_BG_PATTERN;
        } else {
                xvip_set_frame_size(&xtpg->xvip, &xtpg->formats[0]);
-               xtpg_pattern_offset = XTPG_PATTERN_CONTROL;
        }
 
        if (xtpg->vtc)
@@ -282,7 +279,11 @@ static int xtpg_s_stream(struct v4l2_subdev *subdev, int enable)
         */
        mutex_lock(xtpg->ctrl_handler.lock);
 
-       xvip_clr_and_set(&xtpg->xvip, xtpg_pattern_offset,
+       if (xtpg->is_hls)
+               xvip_write(&xtpg->xvip, XTPG_HLS_BG_PATTERN,
+                          xtpg->pattern->cur.val);
+       else
+               xvip_clr_and_set(&xtpg->xvip, XTPG_PATTERN_CONTROL,
                         XTPG_PATTERN_MASK, xtpg->pattern->cur.val);
 
        /*