author | Tianhua 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) |
commit | 3a7fd22a50f035d47fb6ef980edcb539b70fd73b (patch) | |
tree | 5e7f9eb37d2c8443cced49add3dad56de6a92800 | |
parent | 98bd43a171d65c8736e403085f178480f2d87006 (diff) | |
download | hwcomposer-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>
-rw-r--r-- | common/hwc/DualDisplayPipe.cpp | 14 |
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()); + } } } |