diff options
| author | Shubhraprakash Das <sadas@codeaurora.org> | 2016-07-26 12:24:07 -0700 |
|---|---|---|
| committer | Shubhraprakash Das <sadas@codeaurora.org> | 2016-08-09 11:09:11 -0700 |
| commit | 4097d970bb95659514717b49c6cc3cb2985aa07e (patch) | |
| tree | dd7f6209bee13963d251904d7ead59bba24a2268 | |
| parent | 2c28d7f5d42d0c755df938bbcc0957a001fae8f6 (diff) | |
msm: camera: isp: Set no memory retention
Set the memory retention flags for certain hardware clocks to
save power. Memory does not need to be retained for these
clocks since the driver reinitializes the vfe hardware
whenever the clocks are turned on.
CRs-Fixed: 1044373
Change-Id: Idea83ef287710add893b48af0ecd9465e4ff7a98
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
| -rw-r--r-- | drivers/media/platform/msm/camera_v2/isp/msm_isp48.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp48.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp48.c index ffcd88dc44f3..a792404c243c 100644 --- a/drivers/media/platform/msm/camera_v2/isp/msm_isp48.c +++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp48.c @@ -12,6 +12,7 @@ #include <linux/module.h> #include <linux/ratelimit.h> +#include <linux/clk/msm-clk.h> #include "msm_isp_util.h" #include "msm_isp_axi_util.h" @@ -198,6 +199,18 @@ static int msm_vfe48_get_clks(struct vfe_device *vfe_dev) if (strcmp(vfe_dev->vfe_clk_info[i].clk_name, "mnoc_maxi_clk") == 0) vfe_dev->vfe_clk_info[i].clk_rate = INIT_RATE; + /* set no memory retention */ + if (strcmp(vfe_dev->vfe_clk_info[i].clk_name, + "camss_vfe_clk") == 0 || + strcmp(vfe_dev->vfe_clk_info[i].clk_name, + "camss_csi_vfe_clk") == 0 || + strcmp(vfe_dev->vfe_clk_info[i].clk_name, + "camss_vfe_vbif_axi_clk") == 0) { + msm_camera_set_clk_flags(vfe_dev->vfe_clk[i], + CLKFLAG_NORETAIN_MEM); + msm_camera_set_clk_flags(vfe_dev->vfe_clk[i], + CLKFLAG_NORETAIN_PERIPH); + } } return 0; } |
