msm: sde: shutoff memory and periphery when clock is off

Because of the CBCR update, rotator driver needs to control clock
state of memory core and periphery control when branch clock is off.
Since rotator does not have retention requirement, both memory core
and periphery control can be turned off to conserve power when core
rotator clock is off.

CRs-Fixed: 1044375
Change-Id: I42856f4fa638bffa30aae46753b81a8fabc7686c
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
This commit is contained in:
Alan Kwong 2016-08-03 22:29:42 -04:00
parent 059df41e86
commit fee01c1f97

View file

@ -24,6 +24,7 @@
#include <linux/dma-mapping.h>
#include <linux/dma-buf.h>
#include <linux/msm_ion.h>
#include <linux/clk/msm-clk.h>
#include "sde_rotator_core.h"
#include "sde_rotator_util.h"
@ -1843,6 +1844,12 @@ int sde_rotator_r3_init(struct sde_rot_mgr *mgr)
if (ret)
goto error_hw_rev_init;
/* set rotator CBCR to shutoff memory/periphery on clock off.*/
clk_set_flags(mgr->rot_clk[mgr->core_clk_idx].clk,
CLKFLAG_NORETAIN_MEM);
clk_set_flags(mgr->rot_clk[mgr->core_clk_idx].clk,
CLKFLAG_NORETAIN_PERIPH);
return 0;
error_hw_rev_init:
if (rot->irq_num >= 0)