summaryrefslogtreecommitdiff
authorTianhua Sun <tianhua.sun@amlogic.com>2020-03-13 06:04:58 (GMT)
committer sky zhou <sky.zhou@amlogic.com>2020-05-21 11:01:52 (GMT)
commit3a7fd22a50f035d47fb6ef980edcb539b70fd73b (patch)
tree5e7f9eb37d2c8443cced49add3dad56de6a92800
parent98bd43a171d65c8736e403085f178480f2d87006 (diff)
downloadhwcomposer-3a7fd22a50f035d47fb6ef980edcb539b70fd73b.zip
hwcomposer-3a7fd22a50f035d47fb6ef980edcb539b70fd73b.tar.gz
hwcomposer-3a7fd22a50f035d47fb6ef980edcb539b70fd73b.tar.bz2
display: hdmi prefect displaymode is null [2/2]
PD#SWPL-21854 Problem: screen can't show when hdmi plug in. Solution: set hdmi display mode to default mode if get hdmi prefect displaymode is null when on hdmi plug in. Verify: verify on 905d3 Change-Id: I89585e5a4088f1f9757d208d9f370fb2418474de Signed-off-by: Tianhua Sun <tianhua.sun@amlogic.com>
Diffstat
-rw-r--r--common/hwc/DualDisplayPipe.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/common/hwc/DualDisplayPipe.cpp b/common/hwc/DualDisplayPipe.cpp
index 88fcb0f..82e1e11 100644
--- a/common/hwc/DualDisplayPipe.cpp
+++ b/common/hwc/DualDisplayPipe.cpp
@@ -82,7 +82,12 @@ int32_t DualDisplayPipe::init(
prefdisplayMode = DRM_DISPLAY_MODE_DEFAULT;
MESON_LOGI("sc_get_pref_display_mode fail! use default mode");
} else {
- strcpy(displayMode.name, prefdisplayMode.c_str());
+ if (strcmp("null", prefdisplayMode.c_str()) == 0 ) {
+ strcpy(displayMode.name, DRM_DISPLAY_MODE_DEFAULT);
+ prefdisplayMode = DRM_DISPLAY_MODE_DEFAULT;
+ } else {
+ strcpy(displayMode.name, prefdisplayMode.c_str());
+ }
}
sc_set_display_mode(prefdisplayMode);
}
@@ -208,7 +213,12 @@ void DualDisplayPipe::handleEvent(drm_display_event event, int val) {
prefdisplayMode = DRM_DISPLAY_MODE_DEFAULT;
MESON_LOGD("sc_get_pref_display_mode fail! use default mode");
} else {
- strcpy(displayMode.name, prefdisplayMode.c_str());
+ if (strcmp("null", prefdisplayMode.c_str()) == 0 ) {
+ strcpy(displayMode.name, DRM_DISPLAY_MODE_DEFAULT);
+ prefdisplayMode = DRM_DISPLAY_MODE_DEFAULT;
+ } else {
+ strcpy(displayMode.name, prefdisplayMode.c_str());
+ }
}
}