Commit Graph

25 Commits

Author SHA1 Message Date
Prabhanjan Kandula
63a613f704 hqd: add qservice binder for blocking dpps
Dpps should wait opening driver before composer comes up.
Add a wservice binder call to query composer init status.
Add util function to block dpps until composer is up.

Change-Id: I82c025011e23a0b159ef2449b00b868a365d681a
CRs-fixed: 2102579
2017-09-25 16:02:16 -07:00
Linux Build Service Account
79819eada0 Merge "display: Add HDMI support in APIs exposed by display." 2016-12-30 02:28:10 -08:00
Namit Solanki
03d567945c display: Add HDMI support in APIs exposed by display.
- Remove hardcoded primary display from getActiveConfig() and
  getDisplayAttributes() for video decoder to query the secondary
  display resolution.
- Add permission for Video decoder UID to call these APIs.

Change-Id: I1ec1e19dda76f2e0e085c52450449bdc13a739fa
CRs-Fixed: 1100704
2016-12-13 03:24:03 -08:00
Prabhanjan Kandula
1afec3db70 qdutils: Conditionally mute pu control error log
If display.qservice dies all the pending binders
would timeout. Mute error logging from binder
wrapper and return the error value to client.

Change-Id: I91daea0e9068088104bc3c40d67f6c9553673832
CRs-fixed: 1086061
2016-11-17 10:39:03 -08:00
Ramkumar Radhakrishnan
9d68cdf7f5 sdm: Add support to query display port information.
1. Add binder and display interface to query display port information.
2. Add permission for audio client to use display services.

CRs-Fixed: 1044314
Change-Id: I67a9549cd6e01e421534dcb139a2e39672873775
2016-08-04 15:41:59 -07:00
Tatenda Chipeperekwa
6f9612b991 sdm: Add support to report the pixel format of the display
Add support to report the pixel format of the display as part of
the display attributes.

CRs-Fixed: 814136
Change-Id: I68f7a6c35c010c67ba91e89c74607dc52b404025
2016-04-28 16:23:40 -07:00
Dileep Marchya
a5b764fa44 sdm: Add support for minimum encryption level settings for HDCP.
- Add min_enc_level parameter in minHdcpEncryptionLevelChanged API.

Change-Id: I4c6ddfb7c0178ce547ce7aa357f86f0320d35208
2015-10-16 13:04:53 -07:00
Dileep Marchya
87ec8c3345 sdm: Change minHdcpEncryptionLevelChanged api to extern "C"
- Change minHdcpEncryptionLevelChanged to extern "C" so that
  a caller can dlsym to this api.

Change-Id: I5b1b2e3f65bf3e4f588f32c45e41ca66c55ece67
2015-10-01 23:44:02 -07:00
Tatenda Chipeperekwa
f51c599513 sdm: Add support to enable/disable screen updates
- Add support to enable/disable screen updates.
- Remove redundant updating of backlight value in HWC wrapper.

CRs-Fixed: 888000
Change-Id: Idddf2ebadb200fe205bd29b36d3fe145f35c0d38
2015-09-02 11:43:54 -07:00
Dileep Marchya
d4afd48772 sdm: Add support for HDMI minimum HDCP encryption level change.
- Enable HDCP libraries to communicate with SDM via a qdutils API to
  indicate change in encryption level.
- Write this change on HDMI file node to trigger driver.

Change-Id: I226d4e986081b97243c80ea30c16b05ea34499c4
2015-07-12 12:49:55 -07:00
Manoj Kumar AVM
2d019a43f6 sdm: Support ControlPartialUpdate api in libqdutils
Implement CONTROL_PARTIAL_UPDATE binder support. DPSS module
use this api to control partial update feature.

Remove support for sdm.partial_update property as it is no
longer applicable.

Change-Id: Ib463aff0042dcfc0d0b2f296b54016b1ee70115d
2015-07-09 19:21:29 -07:00
Arun Kumar K.R
a7335a2e4d libqdutils: move refreshScreen API out of namespace
refreshScreen API must be out of qdutils namespace to be used
by modules to dynamically load and use this API.

Change-Id: I9a15f5f26a2a4e95c3782a38857dd2043c71081e
2015-07-08 08:16:57 -07:00
Manoj Kumar AVM
7337d1edd8 sdm: Support refreshScreen api in libqdutils
Add refreshScreen api which can be used in DPSS module
to trigger draw calls.

Change-Id: I70356213ad1c9cde730a99010b865397bc11a069
2015-06-26 18:53:34 -07:00
Ramkumar Radhakrishnan
29a36a54bc sdm: Remove unused libraries, files and functions
1. Remove unused libraries libhdmi, liboverlay and libhwcomposer.
2. Remove unused functions and files from libqdutils.
2. Add querySDEInfo() function in qdutisl to query SDE capability.

Change-Id: Ibea2dd2d22fecb420079e3b7cbbcc57d10f75d49
2015-06-22 12:14:53 -07:00
Krishna Chaitanya Parimi
199dc4ad3c libqdutils: Send ACK to partial update from PP via dynamic link
Exposing setPartialUpdateState to send the acknowledgment from
PP regarding the turning OFF of all features completely so that
partial update can be enabled for next commit onwards. The call
can be made by native daemons over the dynamic link.

Change-Id: I00d64bf3bf2dcdf831c5aaac58db07b9e84a314f
2015-04-13 23:17:21 -07:00
Tatenda Chipeperekwa
4207288d1e sde: Add support to set the display mode of the primary display
The display mode for the primary display can be set to either
command or video mode if the target supports this.

Syntax:
  adb shell "service call display.qservice 29 i32 <DISPLAY_MODE>"

  DISPLAY_MODE = 1 -> Video
                 2 -> Command

Change-Id: Iadf4beea8959a90a0b18f8286a094bbbdf18358a
2015-04-02 13:07:23 -07:00
Saurabh Shah
90c55cfcf8 hwc: Add support for panel resolution switch
Add support for panel resolution switch. This feature makes use of
the Linux modedb feature that lists available modes in
/sys/class/graphics/fb0/modes and accepts a mode change when written
to /sys/class/graphics/fb0/mode

Clients can link to APIs exposed in display_config.h, these
internally resolve to binder calls into HWC. For debugging, mode
changes can be made over binder using shell commands.
adb shell service call display.qservice CODE ARGS
ARGS can include config index and display (only primary supported)

setActiveConfig():
adb shell service call display.qservice 25 i32 INDEX i32 0
getActiveConfig():
adb shell service call display.qservice 26 i32 0
getConfigCount():
adb shell service call display.qservice 27 i32 0
getDisplayAttributes():
adb shell service call display.qservice 28 i32 INDEX i32 0

Change-Id: I97d34cc9c0e521a3bd5c948eeea6d1e07db7b7ff
2015-03-09 14:50:01 -07:00
Raj Kamal
0d53fc6d29 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
2014-12-04 08:20:32 +05:30
Linux Build Service Account
65bfb36479 Merge "display: Add setSecondaryDisplayStatus API" 2014-10-24 16:10:39 -07:00
Arun Kumar K.R
33888f5b1f display: Add setSecondaryDisplayStatus API
- Clients(SecureUI/WFD FW) will use this API to set status of the
  Secondary display
- Status can be offline/pause/resume
- Secondary display will be hdmi/wfd, HWC will free up pipes for
  these displays

Change-Id: I25d5e070b60c38daeb102349bed14bb6de0a5684
2014-10-23 10:30:02 -07:00
Krishna Chaitanya Parimi
155ef4a617 libqdutils: Allow screen refresh to be called via dynamic link
Exposing refreshScreen to accomodate calling of screenRefresh
by native daemons that use dynamic loading of the libqdutils
shared library.

Change-Id: Id2bf67e43361fdb739e997f47d014d5ebd13e1d7
2014-10-20 15:30:37 +05:30
Ramkumar Radhakrishnan
0a021a85a3 hwc: Define binder interface to set view frame of a display
Define binder interface setViewFrame to set view frame information
of a display by surfaceflinger when projection for that display
changes.

Change-Id: If737b51ae0f04303a1a29c91a9703f64354b61fb
2014-06-10 14:52:44 -07:00
Arun Kumar K.R
f15adc04ce qdutils/qservice: fix compilation warnings
- fix incorrect type casting.
- remove unused variables.

Change-Id: I4d21fe895b048a9dcb7c43297d44b041ba42d735
2014-01-31 11:40:02 -08:00
Arun Kumar K.R
8e7a62fc97 hwc: Add binder interface to get the visibleRegion
- This binder interface can be used by clients to know the
  active visible region for a display(pri/ext/virt)
- When external orientation is used, return the destFrame of
  the FrameBuffer layer, as its the viewFrame

Change-Id: I7cfd149c76c16b9a3031103c89b1932d44bcbecd
2013-12-19 18:45:18 -08:00
Naseer Ahmed
78c952e4d0 qdutils: Add display config to qdutils
This API is meant for system level users that need to get/set
various display attributes that are normally not available via
the regular Android framework channels.
Initially the APIs exposed are to check HDMI status, get display
attributes and set HSIC data.
Only physically connected displays are supported for now.

Change-Id: Ia783ce2ab0c4599a54c992171e01e2f0504550dc
2013-12-10 22:17:22 -08:00