diff options
author | Raj Kamal <rkamal@codeaurora.org> | 2014-11-25 17:36:36 +0530 |
---|---|---|
committer | Raj Kamal <rkamal@codeaurora.org> | 2014-12-04 08:20:32 +0530 |
commit | 0d53fc6d29e5ae4fe31fb0cf1f7ce05400d7d21b (patch) | |
tree | f9320eb08dc2adbec3717fd13954887c02a9f5c2 /libqservice | |
parent | 56ec3f036a96143860c42fa41ed31d90df455a81 (diff) | |
download | hardware_qcom_display-0d53fc6d29e5ae4fe31fb0cf1f7ce05400d7d21b.tar.gz hardware_qcom_display-0d53fc6d29e5ae4fe31fb0cf1f7ce05400d7d21b.tar.bz2 hardware_qcom_display-0d53fc6d29e5ae4fe31fb0cf1f7ce05400d7d21b.zip |
h/q/d: Add binder-api support to change refresh-rate.
** Now, there are two ways for the clients to request
change in the refresh-rate of the target.
(a) Using metadata of the input-buffer.
(b) Using binder api added as part of this change.
** configureDynRefreshRate binder api provides three
op-modes which can be used as following:
(a) "DISABLE_METADATA_DYN_REFRESH_RATE" can be used by the
clients, to disallow display-hal from honoring refresh-rate
change requests, made by video-clients using the metadata.
For ex: This can be used during streaming use-cases
(Dash-playback, playback at WFD-sink,etc) where the idea
is not to change the refresh-rate, though video-client
requests for it using metadata, as video-clients cannot
distinguish between streaming and non-streaming usecases.
Usage:
adb shell service call display.qservice 18 i32 0 i32 0
(b) "ENABLE_METADATA_DYN_REFRESH_RATE" can be used by the
clients after DISABLE_METADATA_DYN_REFRESH_RATE, to once
again allow display-hal to be able to change refresh-rate
based on requests made by the video-clients using metadata.
For ex: This can be used by clients( Dash-playback,
WFD, etc) once they are done with their use-case.
WFD-framework will also use this when the wfd-session is
paused.
Usage:
adb shell service call display.qservice 18 i32 1 i32 0
(c) "SET_BINDER_DYN_REFRESH_RATE" can be used by the clients
to change the refresh-rate of the target using binder-api,
provided they have disallowed display from honoring the
refresh-rate requests made using metadata.
In other words, changing refresh-rate through this binder
api and using metadata approach cannot co-exist together.
Usage:
adb shell service call display.qservice 18 i32 2 i32 45
-- The refresh-rate set here will correspond to 45fps.
** Added property "persist.metadata_dynfps.disable" that
can be used by OEM's, to disable setting of refresh-rate
using the metadata.
Change-Id: I767fa174dcf1cfd061a578e96cd68af28e7dd36b
Diffstat (limited to 'libqservice')
-rw-r--r-- | libqservice/IQService.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libqservice/IQService.h b/libqservice/IQService.h index ea403349b..683c93c4e 100644 --- a/libqservice/IQService.h +++ b/libqservice/IQService.h @@ -55,6 +55,8 @@ public: DYNAMIC_DEBUG = 15, // Enable more logging on the fly SET_IDLE_TIMEOUT = 16, // Set idle timeout for GPU fallback TOGGLE_BWC = 17, // Toggle BWC On/Off on targets that support + /* Enable/Disable/Set refresh rate dynamically */ + CONFIGURE_DYN_REFRESH_RATE = 18, COMMAND_LIST_END = 400, }; |