MLK-11874 media: platform: mxc v4l2 capture: Correct suspend/resume for capture
authorLiu Ying <Ying.Liu@freescale.com>
Thu, 19 Nov 2015 05:43:58 +0000 (13:43 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:14 +0000 (14:49 -0500)
The capture channel should be correctly disabled in ->suspend() and
enabled in ->resume() with ->enc_disable()/->enc_disable_csi() and
->enc_enable()/->enc_enable_csi() respectively.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
drivers/media/platform/mxc/capture/mxc_v4l2_capture.c

index 37f9dff..3d7adec 100644 (file)
@@ -2910,8 +2910,13 @@ static int mxc_v4l2_suspend(struct platform_device *pdev, pm_message_t state)
 
        if (cam->overlay_on == true)
                stop_preview(cam);
-       if ((cam->capture_on == true) && cam->enc_disable)
-               cam->enc_disable(cam);
+       if (cam->capture_on == true) {
+               if (cam->enc_disable_csi)
+                       cam->enc_disable_csi(cam);
+
+               if (cam->enc_disable)
+                       cam->enc_disable(cam);
+       }
 
        if (cam->sensor && cam->open_count) {
                if (cam->mclk_on[cam->mclk_source]) {
@@ -2964,8 +2969,13 @@ static int mxc_v4l2_resume(struct platform_device *pdev)
 
        if (cam->overlay_on == true)
                start_preview(cam);
-       if (cam->capture_on == true)
-               mxc_streamon(cam);
+       if (cam->capture_on == true) {
+               if (cam->enc_enable)
+                       cam->enc_enable(cam);
+
+               if (cam->enc_enable_csi)
+                       cam->enc_enable_csi(cam);
+       }
 
        up(&cam->busy_lock);