From 2faa91c3137b343560a527179728008020f890fd Mon Sep 17 00:00:00 2001 From: Rohit Kulkarni Date: Mon, 5 Jun 2017 15:43:48 -0700 Subject: [PATCH] sdm: drm: Expand drm topology enum for dsc Add new topology modes for dsc and align to match with driver. Change-Id: I202fbfa1240e5e677d832ca32c20ded989aa1ed8 CRs-Fixed: 2060682 --- libdrmutils/drm_interface.h | 8 ++++++-- sdm/libs/core/drm/hw_device_drm.cpp | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h index 71767e7b..b16c15b3 100644 --- a/libdrmutils/drm_interface.h +++ b/libdrmutils/drm_interface.h @@ -321,11 +321,15 @@ struct DRMPlaneTypeInfo { typedef std::vector> DRMPlanesInfo; enum struct DRMTopology { - UNKNOWN, // To be compat with driver defs in sde_kms.h + UNKNOWN, // To be compat with driver defs in sde_rm.h SINGLE_LM, + SINGLE_LM_DSC, DUAL_LM, - PPSPLIT, + DUAL_LM_DSC, DUAL_LM_MERGE, + DUAL_LM_MERGE_DSC, + DUAL_LM_DSCMERGE, + PPSPLIT, }; enum struct DRMPanelMode { diff --git a/sdm/libs/core/drm/hw_device_drm.cpp b/sdm/libs/core/drm/hw_device_drm.cpp index 10286630..48b845d9 100644 --- a/sdm/libs/core/drm/hw_device_drm.cpp +++ b/sdm/libs/core/drm/hw_device_drm.cpp @@ -414,7 +414,9 @@ DisplayError HWDeviceDRM::PopulateDisplayAttributes() { display_attributes_.h_total = mode.htotal; uint32_t h_blanking = mode.htotal - mode.hdisplay; display_attributes_.is_device_split = - (topology == DRMTopology::DUAL_LM || topology == DRMTopology::DUAL_LM_MERGE); + (topology == DRMTopology::DUAL_LM || topology == DRMTopology::DUAL_LM_MERGE || + topology == DRMTopology::DUAL_LM_MERGE_DSC || topology == DRMTopology::DUAL_LM_DSC || + topology == DRMTopology::DUAL_LM_DSCMERGE); display_attributes_.h_total += display_attributes_.is_device_split ? h_blanking : 0; display_attributes_.x_dpi = (FLOAT(mode.hdisplay) * 25.4f) / FLOAT(mm_width);