summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormacallan <macallan@NetBSD.org>2006-02-24 18:35:09 +0000
committermacallan <macallan@NetBSD.org>2006-02-24 18:35:09 +0000
commit998a8ba3e226bbb97c6f6fbffeef948200e87445 (patch)
tree74414388dcb08c82876089f39aa25bdbb71a6248 /sys/dev
parentac76a40e3aead765e5ee599b1196542cd4dfb5f0 (diff)
clear the whole screen on startup, fix an endianness mismatch when creating
the cursor sprite - this needs to be tested ( and probably fixed ) on a netwinder.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/igsfb.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/dev/ic/igsfb.c b/sys/dev/ic/igsfb.c
index 7b7ad4f1195..b47c95accdf 100644
--- a/sys/dev/ic/igsfb.c
+++ b/sys/dev/ic/igsfb.c
@@ -1,4 +1,4 @@
-/* $NetBSD: igsfb.c,v 1.27 2006/02/23 08:01:59 macallan Exp $ */
+/* $NetBSD: igsfb.c,v 1.28 2006/02/24 18:35:09 macallan Exp $ */
/*
* Copyright (c) 2002, 2003 Valeriy E. Ushakov
@@ -31,7 +31,7 @@
* Integraphics Systems IGA 168x and CyberPro series.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: igsfb.c,v 1.27 2006/02/23 08:01:59 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: igsfb.c,v 1.28 2006/02/24 18:35:09 macallan Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -428,7 +428,7 @@ igsfb_init_wsdisplay(void *cookie, struct vcons_screen *scr, int existing,
return;
- ri->ri_flg = RI_CENTER;
+ ri->ri_flg = RI_CENTER | RI_FULLCLEAR;
if (IGSFB_HW_SOFT_BSWAP(dc))
ri->ri_flg |= RI_BSWAP;
@@ -531,7 +531,14 @@ igsfb_make_text_cursor(dc, scr)
} else {
/* first w pixels inverted, the rest is transparent */
s = ~(0x5555 << (w * 2));
- if (IGSFB_HW_SOFT_BSWAP(dc))
+ /*
+ * XXX!!!
+ * apparently the cursor data need to be in LE format
+ * at least on Krups without hardware byteswapping.
+ * This needs to be properly fixed for /netwinder by
+ * someone who actually has the hardware.
+ */
+ if (!IGSFB_HW_SOFT_BSWAP(dc))
s = bswap16(s);
w = 0;
}