Commit graph

3 commits

Author SHA1 Message Date
leonardo meitz
c61f6f682c los-15.1 update 2018-05-24 21:43:45 +02:00
Rox-
928a9205db msm8226-common: power: Fix function call 2015-12-31 12:04:35 +01:00
Gabriele M
17591b33ae Custom PowerHAL implementation
PowerHAL highlights:
* The CPU governor is always interactive. Governor changes are not
  expected and permissions are set once on boot.
* Powersave profile: the CPU frequency is limited 787MHz and the CPU
  is never boosted on user interaction. This will save power without
  making the phone unbearably slow.
* Performance profile: the CPU is constantly boosted.
* Balanced profile: the CPU is boosted on user interaction.
  When the screen is turned off, the governor is tuned to lower the
  power consumption to save power in case of long lasting screen off
  activities such as music playback.
* Currently there are no restrictions on the number of active cores.

With this PowerHAL cpu-boost is not needed, so keep it disabled.

In addition to that, drop all the properties based profiles and set
config_perf_profile_prop to "powerhal" to make the framework send
hints to PowerHAL when the power profile is changed.

msm8226-common: PowerHAL: Initialize mutex

Since the mutex is declared as static, this went unnoticed, but mutexes
should always be initialized, so do it.

msm8226-common: PowerHAL: Don't override user selected profiles

Save and restore the last selected profile so that the user preference
is not lost when transitioning out the low power mode. Also, don't
actually change the profile if in low power mode, but don't discard
the user preference.

msm8226-common: Refactor PowerHAL

Make the HAL generic by keeping the device dependent configuration
separate. This allows to easily add or edit the profiles.

The HAL should behave exactly as before, except for the fact that now
there might be some useless writes when the screen is turned off.

Change-Id: I6bb01a14f0058c59986989568e7766f4203150cc
2015-12-27 13:13:57 +01:00