summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2016-03-11 16:08:37 +0100
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:49:25 +0900
commit76523c94a631714f0eab517e254434d3a9b55d3b (patch)
tree6711c3258ffa0a2db8dc61129f1519fd8378d16e /drivers
parentadc618544669b259e8b85d53bfa4f35430dcebf9 (diff)
fimc-is: Add proper implementation of fimc_is_ischain_forcedown()
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c b/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c
index d37a08952a96..3d4cde9a2108 100644
--- a/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c
+++ b/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c
@@ -1159,19 +1159,19 @@ static int fimc_is_ischain_loadcalb(struct fimc_is_device_ischain *device,
static void fimc_is_ischain_forcedown(struct fimc_is_device_ischain *this,
bool on)
{
-#if 0
+ struct fimc_is_core *core = platform_get_drvdata(this->pdev);
+
if (on) {
- printk(KERN_INFO "Set low poweroff mode\n");
- __raw_writel(0x0, PMUREG_ISP_ARM_OPTION);
- __raw_writel(0x1CF82000, PMUREG_ISP_LOW_POWER_OFF);
+ pr_info("Set low poweroff mode\n");
+ regmap_write(core->pmu_regmap, PMUREG_ISP_ARM_OPTION, 0x0);
+ regmap_write(core->pmu_regmap, PMUREG_ISP_LOW_POWER_OFF, 0x1CF82000);
this->force_down = true;
} else {
- printk(KERN_INFO "Clear low poweroff mode\n");
- __raw_writel(0xFFFFFFFF, PMUREG_ISP_ARM_OPTION);
- __raw_writel(0x8, PMUREG_ISP_LOW_POWER_OFF);
+ pr_info("Clear low poweroff mode\n");
+ regmap_write(core->pmu_regmap, PMUREG_ISP_ARM_OPTION, 0xFFFFFFFF);
+ regmap_write(core->pmu_regmap, PMUREG_ISP_LOW_POWER_OFF, 0x8);
this->force_down = false;
}
-#endif
}
static void fimc_is_a5_power(struct device *dev, int power_flags)