Subject: Re: a hint on /dev/grf3 problems..
To: None <port-amiga@netbsd.org>
From: Ignatios Souvatzis <is@jocelyn.rhein.de>
List: port-amiga
Date: 06/27/1999 22:59:13
On Fri, Jun 25, 1999 at 02:33:13PM +0200, Joerg Lehners wrote:

> I think the modification should not only apply to the function
> cl_putc() but also to cl_clear() and cl_scroll().

In a further mail, Joerg reports this suggested fix works for him.

Please, all others that had problems, either

- download the netbsd.grfclfix.v2.{gz,README} from ftp.netbsd.org,
  directory /pub/NetBSD/arch/amiga/misc/

	or

- build your own kernel, with options DIAGNOSTIC included, and the patch
  below,

in both cases, report the results as soon as possible, best until
Monday evening central European time?

Regards,
	Ignatios

Index: ite_cl.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/amiga/dev/ite_cl.c,v
retrieving revision 1.3
diff -u -r1.3 ite_cl.c
--- ite_cl.c	1999/03/25 23:20:00	1.3
+++ ite_cl.c	1999/06/27 20:51:27
@@ -161,6 +161,9 @@
 	unsigned char attr;
 	unsigned char *cp;
 
+	if (ip->flags & ITE_INGRF)
+		return;
+
 	attr =(unsigned char) ((mode & ATTR_INV) ? (0x70) : (0x07));
 	if (mode & ATTR_UL)     attr  = 0x01;	/* ???????? */
 	if (mode & ATTR_BOLD)   attr |= 0x08;
@@ -189,6 +192,9 @@
     	volatile unsigned char *ba = ip->grf->g_regkva;
     	int len;
 
+	if (ip->flags & ITE_INGRF)
+		return;
+
     	dst = ip->grf->g_fbkva + (sy * ip->cols) + sx;
     	src = dst + (ip->rows*ip->cols); 
     	len = w*h;
@@ -209,6 +215,9 @@
 {
     	unsigned char *fb;
     	volatile unsigned char *ba = ip->grf->g_regkva;
+
+	if (ip->flags & ITE_INGRF)
+		return;
 
     	fb = ip->grf->g_fbkva + sy * ip->cols;
     	SetTextPlane(ba, 0x00);