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;