Loading drivers/media/platform/msm/camera/cam_icp/icp_hw/bps_hw/bps_soc.c +14 −1 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -138,9 +138,22 @@ int cam_bps_get_gdsc_control(struct cam_hw_soc_info *soc_info) int cam_bps_update_clk_rate(struct cam_hw_soc_info *soc_info, uint32_t clk_rate) { int32_t src_clk_idx; if (!soc_info) return -EINVAL; src_clk_idx = soc_info->src_clk_idx; if ((soc_info->clk_level_valid[CAM_TURBO_VOTE] == true) && (soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx] != 0) && (clk_rate > soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx])) { CAM_DBG(CAM_ICP, "clk_rate %d greater than max, reset to %d", clk_rate, soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]); clk_rate = soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]; } return cam_soc_util_set_clk_rate(soc_info->clk[soc_info->src_clk_idx], soc_info->clk_name[soc_info->src_clk_idx], clk_rate); } Loading drivers/media/platform/msm/camera/cam_icp/icp_hw/ipe_hw/ipe_soc.c +14 −1 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -141,9 +141,22 @@ int cam_ipe_disable_soc_resources(struct cam_hw_soc_info *soc_info, int cam_ipe_update_clk_rate(struct cam_hw_soc_info *soc_info, uint32_t clk_rate) { int32_t src_clk_idx; if (!soc_info) return -EINVAL; src_clk_idx = soc_info->src_clk_idx; if ((soc_info->clk_level_valid[CAM_TURBO_VOTE] == true) && (soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx] != 0) && (clk_rate > soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx])) { CAM_DBG(CAM_ICP, "clk_rate %d greater than max, reset to %d", clk_rate, soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]); clk_rate = soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]; } return cam_soc_util_set_clk_rate(soc_info->clk[soc_info->src_clk_idx], soc_info->clk_name[soc_info->src_clk_idx], clk_rate); } Loading Loading
drivers/media/platform/msm/camera/cam_icp/icp_hw/bps_hw/bps_soc.c +14 −1 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -138,9 +138,22 @@ int cam_bps_get_gdsc_control(struct cam_hw_soc_info *soc_info) int cam_bps_update_clk_rate(struct cam_hw_soc_info *soc_info, uint32_t clk_rate) { int32_t src_clk_idx; if (!soc_info) return -EINVAL; src_clk_idx = soc_info->src_clk_idx; if ((soc_info->clk_level_valid[CAM_TURBO_VOTE] == true) && (soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx] != 0) && (clk_rate > soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx])) { CAM_DBG(CAM_ICP, "clk_rate %d greater than max, reset to %d", clk_rate, soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]); clk_rate = soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]; } return cam_soc_util_set_clk_rate(soc_info->clk[soc_info->src_clk_idx], soc_info->clk_name[soc_info->src_clk_idx], clk_rate); } Loading
drivers/media/platform/msm/camera/cam_icp/icp_hw/ipe_hw/ipe_soc.c +14 −1 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -141,9 +141,22 @@ int cam_ipe_disable_soc_resources(struct cam_hw_soc_info *soc_info, int cam_ipe_update_clk_rate(struct cam_hw_soc_info *soc_info, uint32_t clk_rate) { int32_t src_clk_idx; if (!soc_info) return -EINVAL; src_clk_idx = soc_info->src_clk_idx; if ((soc_info->clk_level_valid[CAM_TURBO_VOTE] == true) && (soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx] != 0) && (clk_rate > soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx])) { CAM_DBG(CAM_ICP, "clk_rate %d greater than max, reset to %d", clk_rate, soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]); clk_rate = soc_info->clk_rate[CAM_TURBO_VOTE][src_clk_idx]; } return cam_soc_util_set_clk_rate(soc_info->clk[soc_info->src_clk_idx], soc_info->clk_name[soc_info->src_clk_idx], clk_rate); } Loading