camera: fix gc2145 mipi camera preview mosaic [1/1]
authorGuosong Zhou <guosong.zhou@amlogic.com>
Tue, 18 Jun 2019 06:51:49 +0000 (14:51 +0800)
committerNick Xie <nick@khadas.com>
Mon, 5 Aug 2019 07:12:05 +0000 (15:12 +0800)
PD#IPTV-3374

Problem:
gc2145 mipi camera preview have mosaic when take picture

Solution:
add delay when camera set setting finished

Verify:
verify on S905D3-AC202

Change-Id: Ieb6c64804ea5cbea9c9c66be57352b6ed5955ed1
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
drivers/amlogic/media/camera/common/cam_prober.c
drivers/amlogic/media/camera/gc2145_mipi.c

index fb68a68..107e95a 100644 (file)
@@ -611,7 +611,7 @@ int __init gc2145_v4l2_probe(struct i2c_adapter *adapter)
 }
 #endif
 
-#if CONFIG_AMLOGIC_VIDEO_CAPTURE_GC2145_MIPI
+#ifdef CONFIG_AMLOGIC_VIDEO_CAPTURE_GC2145_MIPI
 int __init gc2145_mipi_v4l2_probe(struct i2c_adapter *adapter)
 {
        int ret = 0;
@@ -912,7 +912,7 @@ static const struct aml_cam_dev_info_s cam_devs[] = {
                .probe_func = gc2145_v4l2_probe,
        },
 #endif
-#if CONFIG_AMLOGIC_VIDEO_CAPTURE_GC2145_MIPI
+#ifdef CONFIG_AMLOGIC_VIDEO_CAPTURE_GC2145_MIPI
        {
                .addr = 0x3c,
                .name = "gc2145_mipi",
index d7b7b0c..837290c 100644 (file)
@@ -2736,7 +2736,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
                }
 
                set_resolution_param(dev, res_param);
-
+               msleep(80);
        } else {
                res_param = get_resolution_param(dev, 0, fh->width, fh->height);
                if (!res_param) {
@@ -2745,6 +2745,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
                }
                set_resolution_param(dev, res_param);
                prev_res = res_param;
+               msleep(100);
        }
 
        ret = 0;