]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00162176 ipu: fix v4l2 capture issues when display blank
authorYuxi Sun <b36102@freescale.com>
Mon, 21 Nov 2011 06:31:56 +0000 (14:31 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:10:06 +0000 (14:10 +0200)
Add get and put ipu when enable and disable csi

Signed-off-by: Yuxi Sun <b36102@freescale.com>
drivers/mxc/ipu3/ipu_common.c

index 133c2a65c48c9b2d8a571e8cd5d798cbce288062..68062616a1c3276ac3aae7f82281ef9e6e6445bb 100644 (file)
@@ -2317,6 +2317,7 @@ int32_t ipu_enable_csi(struct ipu_soc *ipu, uint32_t csi)
                return -EINVAL;
        }
 
+       _ipu_get(ipu);
        _ipu_lock(ipu);
        ipu->csi_use_count[csi]++;
 
@@ -2328,6 +2329,7 @@ int32_t ipu_enable_csi(struct ipu_soc *ipu, uint32_t csi)
                        ipu_cm_write(ipu, reg | IPU_CONF_CSI1_EN, IPU_CONF);
        }
        _ipu_unlock(ipu);
+       _ipu_put(ipu);
        return 0;
 }
 EXPORT_SYMBOL(ipu_enable_csi);
@@ -2349,7 +2351,7 @@ int32_t ipu_disable_csi(struct ipu_soc *ipu, uint32_t csi)
                dev_err(ipu->dev, "Wrong csi num_%d\n", csi);
                return -EINVAL;
        }
-
+       _ipu_get(ipu);
        _ipu_lock(ipu);
        ipu->csi_use_count[csi]--;
        if (ipu->csi_use_count[csi] == 0) {
@@ -2360,6 +2362,7 @@ int32_t ipu_disable_csi(struct ipu_soc *ipu, uint32_t csi)
                        ipu_cm_write(ipu, reg & ~IPU_CONF_CSI1_EN, IPU_CONF);
        }
        _ipu_unlock(ipu);
+       _ipu_put(ipu);
        return 0;
 }
 EXPORT_SYMBOL(ipu_disable_csi);