Single idle time value is not working well on all targets as
power saving is dependent on specific GPU behavior on the device.
We need to come up with per target default idle time based on power
profiling. Retain the property to set default idle time per target.
Change-Id: I7ab4030f3e0078f96b504e5634cb7d96aeea60d5
Add support for dynamically setting idle timeout values.
Move default idle timeout setting to IdleInvalidator.
Fix static var naming, handle errors from IdleInvalidator in hwc.
Property debug.hwc.idletime is removed with this change.
Example:
1) Set idle timeout to 100ms
adb shell service call display.qservice 16 i32 100
16 is the code for SET_IDLE_TIMEOUT, 100 is time in ms
2) Disable idle timeout
adb shell service call display.qservice 16 i32 0
Change-Id: I60e15a3ac869b4e9f4015b3be50a35c90d00d404
1. Use kernel timer interrupt to signal about the timeout to
Invalidator thread and fallback to GPU composition.
2. This implementation avoids waking up the Invalidator thread for
every idletimeout value during continuous update.
Change-Id: I4370f10a0ca06b5cb1e7bdcb047e9c8daec51afb
Currently the idle timeout is in a range from idle_timeout / 2
to idle_timeout, since we didn't need precise values.
Change this to a fixed value using timestamps, because the timeout
is too low and warrants precision.
Change-Id: I9cec1db7f1d7fda2996ab80449c61269915f6be4
Protect invalidator data from accessing multiple threads
asynchronously. Composition thread and idle invalidator
threads could access at same time. Add locking to protect
invalidator class member variables.
Change-Id: I568ec367958c88f70f7aa4e6917abd53830adfd3
This change
1) implements MDP Composition upto 3 layers
2) adds invalidator support to fall back to FB
composition during idle screen condition.
Change-Id: I55f27321fd0df096b353d66aaad1cc720cd4b84b
Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison
Change-Id: I9a3f440e6b0fea1cfcc478ddca90af5df3bbb897