aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.com>2012-09-22 09:48:20 +0200
committercodeworkx <codeworkx@cyanogenmod.com>2012-09-22 14:02:16 +0200
commit2489007e7d740ccbc3e0a202914e243ad5178787 (patch)
treeb8e6380ea7b1da63474ad68a5dba997e01146043 /drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c
parent5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff)
downloadkernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.zip
kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.gz
kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.bz2
merge opensource jb u5
Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
Diffstat (limited to 'drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c')
-rw-r--r--drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c b/drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c
index aa60198..066885f 100644
--- a/drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c
+++ b/drivers/media/video/exynos/fimc-is/fimc-is-v4l2.c
@@ -373,7 +373,7 @@ int fimc_is_s_power(struct v4l2_subdev *sd, int on)
}
#if defined(CONFIG_BUSFREQ_OPP) || defined(CONFIG_BUSFREQ_LOCK_WRAPPER)
/* lock bus frequency */
- dev_lock(is_dev->bus_dev, dev, BUS_LOCK_FREQ_L0);
+ dev_lock(is_dev->bus_dev, dev, BUS_LOCK_FREQ_L1);
#endif
fimc_is_hw_set_low_poweroff(is_dev, false);
ret = pm_runtime_get_sync(dev);
@@ -618,7 +618,7 @@ static int fimc_is_reset(struct v4l2_subdev *sd, u32 val)
/* Restart */
#if defined(CONFIG_BUSFREQ_OPP) || defined(CONFIG_BUSFREQ_LOCK_WRAPPER)
/* lock bus frequency */
- dev_lock(is_dev->bus_dev, dev, BUS_LOCK_FREQ_L0);
+ dev_lock(is_dev->bus_dev, dev, BUS_LOCK_FREQ_L1);
#endif
fimc_is_hw_set_low_poweroff(is_dev, false);
ret = pm_runtime_get_sync(dev);
@@ -816,6 +816,16 @@ static int fimc_is_g_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl)
case V4L2_CID_IS_FW_DEBUG_REGION_ADDR:
ctrl->value = dev->mem.base + FIMC_IS_DEBUG_REGION_ADDR;
break;
+#if defined(CONFIG_SLP)
+#define FRONT_CAM_STANDARD_REVISION 0x0b
+ case V4L2_CID_PHYSICAL_ROTATION:
+ if (system_rev > FRONT_CAM_STANDARD_REVISION || \
+ system_rev == 0x04 || system_rev == 0x06)
+ ctrl->value = IS_ROTATION_270;
+ else
+ ctrl->value = IS_ROTATION_90;
+ break;
+#endif
default:
return -EINVAL;
}