diff options
author | Sandor Yu <R01008@freescale.com> | 2014-07-17 20:18:32 +0800 |
---|---|---|
committer | Sandor Yu <R01008@freescale.com> | 2014-07-17 21:18:35 +0800 |
commit | 5687cb8dc5099acdb0e3a0542f666326764d558c (patch) | |
tree | 07396d20cf5e9a93f2a61a657a401b09a7b1c53a | |
parent | be2c5fd0cd52f2f63d2dc11cea213028e1303249 (diff) |
ENGR00321817-01 HDMI: Dispaly blank after resume
Issue reproduce steps:
1. Boot up without HDMI cable plugin
2. Insert the HDMI cable.
3. echo mem > /sys/power/state , enter suspend,
4. resume it,
System can resume from suspend but display is blank.
Error log:
mxc_sdc_fb fb.31: Unable to allocate framebuffer memory
detected fb_set_par error, error code: -12
In mxc hdmi driver, if system bootup without hdmi cable plugin,
driver will create a default modelist.
In fbcon driver, array fb_display[] initialized when system bootup
and save current mode pointer that point to default modelist.
When hdmi cable is plugin the modelist will rebuild according edid
data, but the pointer of video mode in fb_display[] is not updated.
When system resume, fbcon will use the invalidate pointer to
configured framebuffer, framebuffer will crash.
Add function fb_new_modelist() after modelist is rebuild to fix the
issue.
Signed-off-by: Sandor Yu <R01008@freescale.com>
-rw-r--r-- | drivers/video/mxc/mxc_hdmi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/mxc/mxc_hdmi.c b/drivers/video/mxc/mxc_hdmi.c index bcd031df5b9d..76716d9429f8 100644 --- a/drivers/video/mxc/mxc_hdmi.c +++ b/drivers/video/mxc/mxc_hdmi.c @@ -1815,6 +1815,8 @@ static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi) } } + fb_new_modelist(hdmi->fbi); + console_unlock(); } @@ -1846,6 +1848,8 @@ static void mxc_hdmi_default_modelist(struct mxc_hdmi *hdmi) fb_add_videomode(mode, &hdmi->fbi->modelist); } + fb_new_modelist(hdmi->fbi); + console_unlock(); } |