Merge "msm: camera: common: Fix enable/disable for dsp clock source" into camera-kernel.lnx.4.0

这个提交包含在:
Camera Software Integration
2020-08-31 13:23:31 -07:00
提交者 Gerrit - the friendly Code Review server
当前提交 3f1cf31dee
修改 2 个文件,包含 22 行新增6 行删除

查看文件

@@ -298,11 +298,18 @@ int cam_vfe_soc_enable_clk(struct cam_hw_soc_info *soc_info,
if (!soc_info) {
CAM_ERR(CAM_ISP, "Error Invalid params");
rc = -EINVAL;
return rc;
goto end;
}
soc_private = soc_info->soc_private;
if (strcmp(clk_name, CAM_VFE_DSP_CLK_NAME) == 0) {
if (!strcmp(clk_name, CAM_VFE_DSP_CLK_NAME)) {
if (soc_private->dsp_clk_index == -1) {
CAM_ERR(CAM_ISP,
"DSP clock not supported for vfe: %d", soc_info->index);
rc = -EPERM;
goto end;
}
rc = cam_soc_util_clk_enable(soc_private->dsp_clk,
CAM_VFE_DSP_CLK_NAME, soc_private->dsp_clk_rate);
if (rc)
@@ -310,6 +317,7 @@ int cam_vfe_soc_enable_clk(struct cam_hw_soc_info *soc_info,
"Error enable dsp clk failed rc=%d", rc);
}
end:
return rc;
}
@@ -322,18 +330,26 @@ int cam_vfe_soc_disable_clk(struct cam_hw_soc_info *soc_info,
if (!soc_info) {
CAM_ERR(CAM_ISP, "Error Invalid params");
rc = -EINVAL;
return rc;
goto end;
}
soc_private = soc_info->soc_private;
if (strcmp(clk_name, CAM_VFE_DSP_CLK_NAME) == 0) {
if (!strcmp(clk_name, CAM_VFE_DSP_CLK_NAME)) {
if (soc_private->dsp_clk_index == -1) {
CAM_ERR(CAM_ISP,
"DSP clock not supported for vfe: %d", soc_info->index);
rc = -EPERM;
goto end;
}
rc = cam_soc_util_clk_disable(soc_private->dsp_clk,
CAM_VFE_DSP_CLK_NAME);
if (rc)
CAM_ERR(CAM_ISP,
"Error enable dsp clk failed rc=%d", rc);
"Error disable dsp clk failed rc=%d", rc);
}
end:
return rc;
}

查看文件

@@ -544,7 +544,6 @@ int cam_soc_util_get_option_clk_by_name(struct cam_hw_soc_info *soc_info,
index = of_property_match_string(of_node, "clock-names-option",
clk_name);
if (index < 0) {
CAM_DBG(CAM_UTIL, "No clk data for %s", clk_name);
*clk_index = -1;
@@ -557,6 +556,7 @@ int cam_soc_util_get_option_clk_by_name(struct cam_hw_soc_info *soc_info,
CAM_ERR(CAM_UTIL, "No clk named %s found. Dev %s", clk_name,
soc_info->dev_name);
*clk_index = -1;
*clk = NULL;
return -EFAULT;
}
*clk_index = index;