diff options
author | Varun Arora <varuaror@codeaurora.org> | 2019-02-07 18:08:18 -0800 |
---|---|---|
committer | Varun Arora <varuaror@codeaurora.org> | 2019-02-07 18:08:18 -0800 |
commit | 771fcd2787f0cbed682f70a8d98b7aa6a246fe37 (patch) | |
tree | 67168b160cd17b666db3e1250b1449f4c1b73acc /libdrmutils | |
parent | fa90e204a7f95300e1b50a2949b13c7748a62a88 (diff) |
sdm: Implement getDisplayIdentificationData
* Implement call flow from client to display interface.
* Use display interface to query EDID blob from Connector information
and return to client alongside pre-established port information from
sde-drm during display creation.
* Create EDID blob for Null Display (QMAA) to represent a 1920x1080
60fps display with panel name "Null Display" and port corresponding to
either builtin or external, depending on DisplayNull class instantiated.
* Introduce kErrorDriverData as a display interface error to represent
situations in which expected data from the driver is missing.
Currently this applied to EDID blob for all physical panels.
* Update UnregisterDisplay API to allow cleanup of token via sde-drm.
Change-Id: I5661f7bc0a5a68cdffa0cad3fe2351baa647012c
CRs-Fixed: 2380873
Diffstat (limited to 'libdrmutils')
-rw-r--r-- | libdrmutils/drm_interface.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h index 4a474690..d0f1b81d 100644 --- a/libdrmutils/drm_interface.h +++ b/libdrmutils/drm_interface.h @@ -612,6 +612,7 @@ struct DRMConnectorInfo { bool is_wb_ubwc_supported; uint32_t topology_control; bool dyn_bitclk_support; + std::vector<uint8_t> edid; }; // All DRM Connectors as map<Connector_id , connector_info> @@ -631,6 +632,7 @@ struct DRMDisplayToken { uint32_t crtc_id; uint32_t crtc_index; uint32_t encoder_id; + uint8_t hw_port; }; enum DRMPPFeatureID { @@ -922,12 +924,12 @@ class DRMManagerInterface { * [output]: DRMDisplayToken - CRTC and Connector id's for the display. * [return]: 0 on success, a negative error value otherwise. */ - virtual int RegisterDisplay(int32_t display_id, DRMDisplayToken *tok) = 0; + virtual int RegisterDisplay(int32_t display_id, DRMDisplayToken *token) = 0; /* Client should invoke this interface on display disconnect. * [input]: DRMDisplayToken - identifier for the display. */ - virtual void UnregisterDisplay(const DRMDisplayToken &token) = 0; + virtual void UnregisterDisplay(DRMDisplayToken *token) = 0; /* * Creates and returns an instance of DRMAtomicReqInterface corresponding to a display token |