summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandor Yu <R01008@freescale.com>2014-07-17 20:18:32 +0800
committerSandor Yu <R01008@freescale.com>2014-07-17 21:18:35 +0800
commit5687cb8dc5099acdb0e3a0542f666326764d558c (patch)
tree07396d20cf5e9a93f2a61a657a401b09a7b1c53a
parentbe2c5fd0cd52f2f63d2dc11cea213028e1303249 (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.c4
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();
}