diff options
| author | Raju P.L.S.S.S.N <rplsssn@codeaurora.org> | 2016-06-23 19:07:20 +0530 |
|---|---|---|
| committer | Mahesh Sivasubramanian <msivasub@codeaurora.org> | 2016-10-03 10:00:32 -0600 |
| commit | 7aef3b1f9b17b0e5bd23d37f9f7a0a16b1075e77 (patch) | |
| tree | f98d5183e3f2ebd7dcd4cd4ea91e620f149889b8 /lib/mpi/mpicoder.c | |
| parent | 0fb5a62a228abfec36b5d8602ac8ba12ea30a544 (diff) | |
lpm-levels: Fix low power mode selection
The low power mode selection logic has problems while
selecting best mode both in cpu and cluster selection.
When latency requirement is not met, the level selection
loop breaks without selecting another possible shallow
power mode that meets both latency and residency
requirements. The residencies are initialized to ~0
(0xFFFFFFFF) when a particular mode is disabled in idle
context. This results in wrong selection of shallower
mode in suspend context instead of selecting best possible
deepest low power mode (assuming the mode is enabled in
suspend context but disabled in idle context). This can
have impact on power.
The change addresses this by selecting a possible
shallower power mode that can meet the latency criteria.
It also initializes the residencies to 0 when a mode is
not allowed in idle context. This results in selection
of deepest low power mode in suspend context and
saves power.
Change-Id: Iae8b6ad74ef0f28d9c542315745577b1a5924664
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Diffstat (limited to 'lib/mpi/mpicoder.c')
0 files changed, 0 insertions, 0 deletions
