Module Name:    src
Committed By:   macallan
Date:           Thu Aug 20 02:40:58 UTC 2009

Modified Files:
        src/sys/dev/pci: chipsfb.c r128fb.c voodoofb.c voyagerfb.c

Log Message:
use vcons_replay_msgbuf() when appropriate


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/chipsfb.c \
    src/sys/dev/pci/voodoofb.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/pci/r128fb.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/pci/voyagerfb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/chipsfb.c
diff -u src/sys/dev/pci/chipsfb.c:1.19 src/sys/dev/pci/chipsfb.c:1.20
--- src/sys/dev/pci/chipsfb.c:1.19	Tue May 12 08:23:00 2009
+++ src/sys/dev/pci/chipsfb.c	Thu Aug 20 02:40:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: chipsfb.c,v 1.19 2009/05/12 08:23:00 cegger Exp $	*/
+/*	$NetBSD: chipsfb.c,v 1.20 2009/08/20 02:40:57 macallan Exp $	*/
 
 /*
  * Copyright (c) 2006 Michael Lorenz
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: chipsfb.c,v 1.19 2009/05/12 08:23:00 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: chipsfb.c,v 1.20 2009/08/20 02:40:57 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -372,6 +372,9 @@
 	sc->sc_bg = ri->ri_devcmap[bg];
 	chipsfb_clearscreen(sc);
 
+	if (console)
+		vcons_replay_msgbuf(&chipsfb_console_screen);
+
 	aprint_normal_dev(&sc->sc_dev, "%d MB aperture, %d MB VRAM at 0x%08x\n",
 	    (u_int)(sc->sc_fbsize >> 20),
 	    sc->memsize >> 20, (u_int)sc->sc_fb);
Index: src/sys/dev/pci/voodoofb.c
diff -u src/sys/dev/pci/voodoofb.c:1.19 src/sys/dev/pci/voodoofb.c:1.20
--- src/sys/dev/pci/voodoofb.c:1.19	Wed May  6 18:41:54 2009
+++ src/sys/dev/pci/voodoofb.c	Thu Aug 20 02:40:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: voodoofb.c,v 1.19 2009/05/06 18:41:54 elad Exp $	*/
+/*	$NetBSD: voodoofb.c,v 1.20 2009/08/20 02:40:57 macallan Exp $	*/
 
 /*
  * Copyright (c) 2005, 2006 Michael Lorenz
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: voodoofb.c,v 1.19 2009/05/06 18:41:54 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: voodoofb.c,v 1.20 2009/08/20 02:40:57 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -451,6 +451,8 @@
 	sc->sc_bg = ri->ri_devcmap[bg];
 	voodoofb_clearscreen(sc);
 
+	if (console)
+		vcons_replay_msgbuf(&voodoofb_console_screen);
 	aa.console = console;
 	aa.scrdata = &voodoofb_screenlist;
 	aa.accessops = &voodoofb_accessops;

Index: src/sys/dev/pci/r128fb.c
diff -u src/sys/dev/pci/r128fb.c:1.8 src/sys/dev/pci/r128fb.c:1.9
--- src/sys/dev/pci/r128fb.c:1.8	Wed May  6 18:41:54 2009
+++ src/sys/dev/pci/r128fb.c	Thu Aug 20 02:40:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: r128fb.c,v 1.8 2009/05/06 18:41:54 elad Exp $	*/
+/*	$NetBSD: r128fb.c,v 1.9 2009/08/20 02:40:57 macallan Exp $	*/
 
 /*
  * Copyright (c) 2007 Michael Lorenz
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: r128fb.c,v 1.8 2009/05/06 18:41:54 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: r128fb.c,v 1.9 2009/08/20 02:40:57 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -265,17 +265,31 @@
 
 	ri = &sc->sc_console_screen.scr_ri;
 
+	j = 0;
+	for (i = 0; i < (1 << sc->sc_depth); i++) {
+
+		sc->sc_cmap_red[i] = rasops_cmap[j];
+		sc->sc_cmap_green[i] = rasops_cmap[j + 1];
+		sc->sc_cmap_blue[i] = rasops_cmap[j + 2];
+		r128fb_putpalreg(sc, i, rasops_cmap[j], rasops_cmap[j + 1],
+		    rasops_cmap[j + 2]);
+		j += 3;
+	}
+
 	if (is_console) {
 		vcons_init_screen(&sc->vd, &sc->sc_console_screen, 1,
 		    &defattr);
 		sc->sc_console_screen.scr_flags |= VCONS_SCREEN_IS_STATIC;
 
+		r128fb_rectfill(sc, 0, 0, sc->sc_width, sc->sc_height,
+		    ri->ri_devcmap[(defattr >> 16) & 0xff]);
 		sc->sc_defaultscreen_descr.textops = &ri->ri_ops;
 		sc->sc_defaultscreen_descr.capabilities = ri->ri_caps;
 		sc->sc_defaultscreen_descr.nrows = ri->ri_rows;
 		sc->sc_defaultscreen_descr.ncols = ri->ri_cols;
 		wsdisplay_cnattach(&sc->sc_defaultscreen_descr, ri, 0, 0,
 		    defattr);
+		vcons_replay_msgbuf(&sc->sc_console_screen);
 	} else {
 		/*
 		 * since we're not the console we can postpone the rest
@@ -284,20 +298,6 @@
 		(*ri->ri_ops.allocattr)(ri, 0, 0, 0, &defattr);
 	}
 
-	j = 0;
-	for (i = 0; i < (1 << sc->sc_depth); i++) {
-
-		sc->sc_cmap_red[i] = rasops_cmap[j];
-		sc->sc_cmap_green[i] = rasops_cmap[j + 1];
-		sc->sc_cmap_blue[i] = rasops_cmap[j + 2];
-		r128fb_putpalreg(sc, i, rasops_cmap[j], rasops_cmap[j + 1],
-		    rasops_cmap[j + 2]);
-		j += 3;
-	}
-
-	r128fb_rectfill(sc, 0, 0, sc->sc_width, sc->sc_height,
-	    ri->ri_devcmap[(defattr >> 16) & 0xff]);
-
 	aa.console = is_console;
 	aa.scrdata = &sc->sc_screenlist;
 	aa.accessops = &r128fb_accessops;

Index: src/sys/dev/pci/voyagerfb.c
diff -u src/sys/dev/pci/voyagerfb.c:1.1 src/sys/dev/pci/voyagerfb.c:1.2
--- src/sys/dev/pci/voyagerfb.c:1.1	Wed Aug 12 19:28:00 2009
+++ src/sys/dev/pci/voyagerfb.c	Thu Aug 20 02:40:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: voyagerfb.c,v 1.1 2009/08/12 19:28:00 macallan Exp $	*/
+/*	$NetBSD: voyagerfb.c,v 1.2 2009/08/20 02:40:57 macallan Exp $	*/
 
 /*
  * Copyright (c) 2009 Michael Lorenz
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: voyagerfb.c,v 1.1 2009/08/12 19:28:00 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: voyagerfb.c,v 1.2 2009/08/20 02:40:57 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -296,6 +296,9 @@
 	voyagerfb_rectfill(sc, 0, 0, sc->sc_width, sc->sc_height,
 	    ri->ri_devcmap[(defattr >> 16) & 0xff]);
 
+	if (is_console)
+		vcons_replay_msgbuf(&sc->sc_console_screen);
+
 	aa.console = is_console;
 	aa.scrdata = &sc->sc_screenlist;
 	aa.accessops = &voyagerfb_accessops;

Reply via email to