summaryrefslogtreecommitdiffstats
path: root/libqservice
diff options
context:
space:
mode:
authorRaj Kamal <rkamal@codeaurora.org>2014-11-25 17:36:36 +0530
committerRaj Kamal <rkamal@codeaurora.org>2014-12-04 08:20:32 +0530
commit0d53fc6d29e5ae4fe31fb0cf1f7ce05400d7d21b (patch)
treef9320eb08dc2adbec3717fd13954887c02a9f5c2 /libqservice
parent56ec3f036a96143860c42fa41ed31d90df455a81 (diff)
downloadhardware_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.h2
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,
};