Module Name:    src
Committed By:   macallan
Date:           Thu Mar 28 17:25:10 UTC 2013

Modified Files:
        src/sys/dev/pci: radeonfb.c radeonfbvar.h

Log Message:
clear screen when leaving X so we don't leave garbage in the borders


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/pci/radeonfb.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/pci/radeonfbvar.h

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/radeonfb.c
diff -u src/sys/dev/pci/radeonfb.c:1.75 src/sys/dev/pci/radeonfb.c:1.76
--- src/sys/dev/pci/radeonfb.c:1.75	Mon Mar 25 17:35:51 2013
+++ src/sys/dev/pci/radeonfb.c	Thu Mar 28 17:25:10 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: radeonfb.c,v 1.75 2013/03/25 17:35:51 macallan Exp $ */
+/*	$NetBSD: radeonfb.c,v 1.76 2013/03/28 17:25:10 macallan Exp $ */
 
 /*-
  * Copyright (c) 2006 Itronix Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeonfb.c,v 1.75 2013/03/25 17:35:51 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeonfb.c,v 1.76 2013/03/28 17:25:10 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -807,7 +807,6 @@ radeonfb_attach(device_t parent, device_
 
 		dp->rd_softc = sc;
 		dp->rd_wsmode = WSDISPLAYIO_MODE_EMUL;
-		dp->rd_bg = WS_DEFAULT_BG;
 		dp->rd_bpp = RADEONFB_DEFAULT_DEPTH;	/* XXX */
 
 		/* for text mode, we pick a resolution that won't
@@ -903,8 +902,9 @@ radeonfb_attach(device_t parent, device_
 
 		/* clear the screen */
 		rasops_unpack_attr(defattr, &fg, &bg, &ul);
+		dp->rd_bg = ri->ri_devcmap[bg & 0xf];
 		radeonfb_rectfill(dp, 0, 0, ri->ri_width, ri->ri_height,
-		    ri->ri_devcmap[bg & 0xf]);
+		    dp->rd_bg);
 
 		dp->rd_wsscreens->textops = &ri->ri_ops;
 		dp->rd_wsscreens->capabilities = ri->ri_caps;
@@ -1125,6 +1125,8 @@ radeonfb_ioctl(void *v, void *vs,
 				glyphcache_wipe(&dp->rd_gc);
 				radeonfb_init_palette(dp);
 				radeonfb_modeswitch(dp);
+				radeonfb_rectfill(dp, 0, 0, dp->rd_virtx,
+				    dp->rd_virty, dp->rd_bg);
 				vcons_redraw_screen(dp->rd_vd.active);
 			} else {
 				radeonfb_unmap(sc);

Index: src/sys/dev/pci/radeonfbvar.h
diff -u src/sys/dev/pci/radeonfbvar.h:1.17 src/sys/dev/pci/radeonfbvar.h:1.18
--- src/sys/dev/pci/radeonfbvar.h:1.17	Thu Dec 20 03:08:39 2012
+++ src/sys/dev/pci/radeonfbvar.h	Thu Mar 28 17:25:10 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: radeonfbvar.h,v 1.17 2012/12/20 03:08:39 macallan Exp $ */
+/* $NetBSD: radeonfbvar.h,v 1.18 2013/03/28 17:25:10 macallan Exp $ */
 
 /*-
  * Copyright (c) 2006 Itronix Inc.
@@ -171,7 +171,7 @@ struct radeonfb_display {
 	uint16_t		rd_xoffset;
 	uint16_t		rd_yoffset;
 
-	int			rd_bg;		/* background */
+	uint32_t		rd_bg;		/* background */
 	bool			rd_console;
 
 	struct callout          rd_bl_lvds_co;  /* delayed lvds operation */

Reply via email to