summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-06-28 23:54:19 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-06-28 23:54:18 -0700
commitee11b4113eca4e67a0e37bb237bb45d589b01390 (patch)
treeeeefff528671056469931d59ffc5ad7605feab00
parent66ba612839ce4f2267c5f906c792165cf0cf9876 (diff)
parentafcb8304af9333a63b1dff246fc758817a44aa19 (diff)
Merge "msm: ais: Corrected sensor state in power up"
-rw-r--r--drivers/media/platform/msm/ais/common/cam_soc_api.c3
-rw-r--r--drivers/media/platform/msm/ais/sensor/msm_sensor.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/media/platform/msm/ais/common/cam_soc_api.c b/drivers/media/platform/msm/ais/common/cam_soc_api.c
index 520940c74d69..46738a1ca381 100644
--- a/drivers/media/platform/msm/ais/common/cam_soc_api.c
+++ b/drivers/media/platform/msm/ais/common/cam_soc_api.c
@@ -26,6 +26,7 @@
#include <linux/msm-bus.h>
#include "cam_soc_api.h"
#include "msm_camera_diag_util.h"
+#include <linux/clk/msm-clock-generic.h>
struct msm_cam_bus_pscale_data {
struct msm_bus_scale_pdata *pdata;
@@ -362,6 +363,7 @@ int msm_camera_clk_enable(struct device *dev,
clk_info[i].clk_name);
goto cam_clk_set_err;
}
+ clk_ptr[i]->flags |= CLKFLAG_NO_RATE_CACHE;
rc = clk_set_rate(clk_ptr[i],
clk_rate);
if (rc < 0) {
@@ -383,6 +385,7 @@ int msm_camera_clk_enable(struct device *dev,
goto cam_clk_set_err;
}
}
+ clk_ptr[i]->flags |= CLKFLAG_NO_RATE_CACHE;
rc = clk_set_rate(clk_ptr[i],
clk_rate);
if (rc < 0) {
diff --git a/drivers/media/platform/msm/ais/sensor/msm_sensor.c b/drivers/media/platform/msm/ais/sensor/msm_sensor.c
index 7434ba49fb8d..657c6ee7c0b6 100644
--- a/drivers/media/platform/msm/ais/sensor/msm_sensor.c
+++ b/drivers/media/platform/msm/ais/sensor/msm_sensor.c
@@ -842,7 +842,8 @@ static int msm_sensor_config32(struct msm_sensor_ctrl_t *s_ctrl,
if (s_ctrl->is_csid_tg_mode)
goto DONE;
- if (s_ctrl->sensor_state != MSM_SENSOR_POWER_DOWN) {
+ if ((s_ctrl->sensor_state != MSM_SENSOR_POWER_DOWN) &&
+ (s_ctrl->sensor_state != MSM_SENSOR_CCI_DOWN)) {
pr_err("%s:%d failed: invalid state %d\n", __func__,
__LINE__, s_ctrl->sensor_state);
rc = -EFAULT;
@@ -1403,7 +1404,8 @@ int msm_sensor_config(struct msm_sensor_ctrl_t *s_ctrl, void *argp)
if (s_ctrl->is_csid_tg_mode)
goto DONE;
- if (s_ctrl->sensor_state != MSM_SENSOR_POWER_DOWN) {
+ if ((s_ctrl->sensor_state != MSM_SENSOR_POWER_DOWN) &&
+ (s_ctrl->sensor_state != MSM_SENSOR_CCI_DOWN)) {
pr_err("%s:%d failed: invalid state %d\n", __func__,
__LINE__, s_ctrl->sensor_state);
rc = -EFAULT;