[SeaBIOS] [PATCH 05/13] geodevga: move clearing of various buffers into mode setting

Christian Gmeiner christian.gmeiner at gmail.com
Fri Oct 5 18:07:28 CEST 2012


Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
---
 vgasrc/geodevga.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/vgasrc/geodevga.c b/vgasrc/geodevga.c
index 5d85dc2..7689c43 100644
--- a/vgasrc/geodevga.c
+++ b/vgasrc/geodevga.c
@@ -245,11 +245,6 @@ static void dc_setup(void)
 
     geode_dc_write(DC_UNLOCK, DC_LOCK_UNLOCK);
 
-    /* zero memory config */
-    geode_dc_write(DC_FB_ST_OFFSET, 0x0);
-    geode_dc_write(DC_CB_ST_OFFSET, 0x0);
-    geode_dc_write(DC_CURS_ST_OFFSET, 0x0);
-
     geode_dc_mask(DC_DISPLAY_CFG, ~DC_CFG_MSK, DC_DISPLAY_CFG_GDEN|DC_DISPLAY_CFG_TRUP);
     geode_dc_write(DC_GENERAL_CFG, DC_DISPLAY_CFG_VGAE);
 
@@ -308,6 +303,17 @@ static void vp_setup(void)
 
 int geodevga_set_mode(struct vgamode_s *vmode_g, int flags)
 {
+    /* unlock dc register */
+    geode_dc_write(DC_UNLOCK, DC_LOCK_UNLOCK);
+
+    /* zero memory config */
+    geode_dc_write(DC_FB_ST_OFFSET, 0x0);
+    geode_dc_write(DC_CB_ST_OFFSET, 0x0);
+    geode_dc_write(DC_CURS_ST_OFFSET, 0x0);
+   
+    /* lock dc register */
+    geode_dc_write(DC_UNLOCK, DC_LOCK_LOCK);
+
     return stdvga_set_mode(vmode_g, flags);
 }
 
-- 
1.7.12.2.421.g261b511




More information about the SeaBIOS mailing list