diff options
author | Beata Michalska <b.michalska@samsung.com> | 2015-02-12 12:36:24 +0100 |
---|---|---|
committer | Beata Michalska <b.michalska@samsung.com> | 2015-02-12 12:43:33 +0100 |
commit | 21c58beb711b825d679aea0a8d40778b9fcc7a52 (patch) | |
tree | 36e5238cafc9093cfebb94bc378248158c0139b2 | |
parent | cd97146ad0783f80abf41ed31ec881d90e6b7c27 (diff) | |
download | linux-3.10-21c58beb711b825d679aea0a8d40778b9fcc7a52.tar.gz linux-3.10-21c58beb711b825d679aea0a8d40778b9fcc7a52.tar.bz2 linux-3.10-21c58beb711b825d679aea0a8d40778b9fcc7a52.zip |
[media] exynos5-is: Reset CMU-ISP
Reset CMU-ISP prior to entering low-power mode.
Change-Id: I2caf9ecbee728f07480ee8b18ff1d5558db77bad
Signed-off-by: Beata Michalska <b.michalska@samsung.com>
-rw-r--r-- | drivers/media/platform/exynos5-is/fimc-is-core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/platform/exynos5-is/fimc-is-core.c b/drivers/media/platform/exynos5-is/fimc-is-core.c index 592479d9ec0..397fb290ad5 100644 --- a/drivers/media/platform/exynos5-is/fimc-is-core.c +++ b/drivers/media/platform/exynos5-is/fimc-is-core.c @@ -25,6 +25,7 @@ #include "fimc-is.h" #include "fimc-is-i2c.h" #include "exynos5-mdev.h" +#include "fimc-is-regs.h" #define CLK_MCU_ISP_DIV0_FREQ (200 * 1000000) #define CLK_MCU_ISP_DIV1_FREQ (100 * 1000000) @@ -413,6 +414,12 @@ void fimc_is_clk_disable(struct fimc_is *is) } } +static inline void fimc_is_reset_cmu_isp(struct fimc_is *is) +{ + if (is->drvdata->variant == FIMC_IS_EXYNOS3250) + pmu_is_write(0x0, is, EXYNOS3250_PMUREG_CMU_RESET_ISP); +} + static int fimc_is_pm_resume(struct device *dev) { struct fimc_is *is = dev_get_drvdata(dev); @@ -431,6 +438,7 @@ static int fimc_is_pm_suspend(struct device *dev) { struct fimc_is *is = dev_get_drvdata(dev); fimc_is_clk_disable(is); + fimc_is_reset_cmu_isp(is); return 0; } @@ -522,6 +530,8 @@ static int fimc_is_probe(struct platform_device *pdev) } + fimc_is_reset_cmu_isp(is); + is->alloc_ctx = vb2_dma_contig_init_ctx(dev); if (IS_ERR(is->alloc_ctx)) { ret = PTR_ERR(is->alloc_ctx); |