summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormacallan <macallan@NetBSD.org>2009-08-20 02:40:57 +0000
committermacallan <macallan@NetBSD.org>2009-08-20 02:40:57 +0000
commiteccd210ff37f0ea316113bca35de4e60bac751de (patch)
tree291211e3b1426ced7346b08962f8a2d8b96c7c85 /sys/dev
parenta63997dc139a5e01b3950b6a3c24289ca2af01a1 (diff)
use vcons_replay_msgbuf() when appropriate
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/chipsfb.c7
-rw-r--r--sys/dev/pci/r128fb.c32
-rw-r--r--sys/dev/pci/voodoofb.c6
-rw-r--r--sys/dev/pci/voyagerfb.c7
4 files changed, 30 insertions, 22 deletions
diff --git a/sys/dev/pci/chipsfb.c b/sys/dev/pci/chipsfb.c
index 0360fecf86a..48e9f3f87d6 100644
--- a/sys/dev/pci/chipsfb.c
+++ b/sys/dev/pci/chipsfb.c
@@ -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 @@ chipsfb_attach(device_t parent, device_t self, void *aux)
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);
diff --git a/sys/dev/pci/r128fb.c b/sys/dev/pci/r128fb.c
index e62c3ac9e51..e07eada946f 100644
--- a/sys/dev/pci/r128fb.c
+++ b/sys/dev/pci/r128fb.c
@@ -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 @@ r128fb_attach(device_t parent, device_t self, void *aux)
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 @@ r128fb_attach(device_t parent, device_t self, void *aux)
(*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;
diff --git a/sys/dev/pci/voodoofb.c b/sys/dev/pci/voodoofb.c
index d30def8b1a0..ec9f9601751 100644
--- a/sys/dev/pci/voodoofb.c
+++ b/sys/dev/pci/voodoofb.c
@@ -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 @@ voodoofb_attach(device_t parent, device_t self, void *aux)
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;
diff --git a/sys/dev/pci/voyagerfb.c b/sys/dev/pci/voyagerfb.c
index b612ca6e55e..0f84b90919e 100644
--- a/sys/dev/pci/voyagerfb.c
+++ b/sys/dev/pci/voyagerfb.c
@@ -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_attach(device_t parent, device_t self, void *aux)
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;