aboutsummaryrefslogtreecommitdiff
path: root/module/ppu_v1/src/ppu_v1.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/ppu_v1/src/ppu_v1.c')
-rw-r--r--module/ppu_v1/src/ppu_v1.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/module/ppu_v1/src/ppu_v1.c b/module/ppu_v1/src/ppu_v1.c
index 6d4faf60..6bb3bf25 100644
--- a/module/ppu_v1/src/ppu_v1.c
+++ b/module/ppu_v1/src/ppu_v1.c
@@ -34,7 +34,8 @@ int ppu_v1_request_power_mode(struct ppu_v1_reg *ppu,
assert(ppu != NULL);
assert(ppu_mode < MOD_PPU_V1_MODE_COUNT);
- power_policy = ppu->PWPR & ~(PPU_V1_PWPR_POLICY | PPU_V1_PWPR_DYNAMIC_EN);
+ power_policy = ppu->PWPR & ~(PPU_V1_PWPR_POLICY | PPU_V1_PWPR_DYNAMIC_EN |
+ PPU_V1_PWPR_OP_DYN_EN);
ppu->PWPR = power_policy | ppu_mode;
return FWK_SUCCESS;
@@ -113,6 +114,14 @@ void ppu_v1_dynamic_enable(struct ppu_v1_reg *ppu,
continue;
}
+void ppu_v1_dynamic_disable(struct ppu_v1_reg *ppu)
+{
+ assert(ppu != NULL);
+ assert(min_dyn_mode < PPU_V1_OPMODE_COUNT);
+
+ ppu->PWPR = ppu->PWPR & (~PPU_V1_PWPR_DYNAMIC_EN);
+}
+
void ppu_v1_lock_off_enable(struct ppu_v1_reg *ppu)
{
assert(ppu != NULL);