Resent-Date: Mon, 8 Feb 1999 10:22:43 +0100 (MET)
Date: Mon, 8 Feb 1999 10:24:52 +0100 (CET)
From: "Christian T. Steigies" <cts@ap031.experimentalphysik.uni-kiel.de>
Reply-To: "Christian T. Steigies" <steigies@physik.uni-kiel.de>
To: linux-m68k <linux-m68k@lists.linux-m68k.org>
Subject: Re: 2.2.1-pre1 is out
In-Reply-To: <199902051254.NAA17324@valhall.cern.ch>
Resent-From: linux-m68k@phil.uni-sb.de

Hi,
this patch is needed to reenable Zorro2 support for the CV3D after the 16 bit 
patches by Ken. 

Ciao,
Christian.

--- linux-2.2.1pre1/drivers/video/virgefb.c.orig	Fri Feb  5 11:55:35 1999
+++ linux-2.2.1pre1/drivers/video/virgefb.c	Sat Feb  6 11:00:59 1999
@@ -429,13 +429,17 @@
 {
 	memset(fix, 0, sizeof(struct fb_fix_screeninfo));
 	strcpy(fix->id, virgefb_name);
-	switch (par->bpp) {
-		case 8:
-			fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_8);
-			break;
-		case 16:
-			fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_16);
-			break;
+	if (cv3d_on_zorro2) {
+		fix->smem_start = (char*) CyberMem_phys;
+	} else {
+		switch (par->bpp) {
+			case 8:
+				fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_8);
+				break;
+			case 16:
+				fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_16);
+				break;
+		}
 	}
 	fix->smem_len = CyberSize;
 	fix->mmio_start = (char*) CyberRegs_phys;
@@ -932,13 +936,17 @@
 	virgefb_get_fix(&fix, con, info);
 	if (con == -1)
 		con = 0;
-        switch (display->var.bits_per_pixel) {
-		case 8:
-			display->screen_base = (char*) (CyberMem + CYBMEM_OFFSET_8);
-			break;
-		case 16:
-			display->screen_base = (char*) (CyberMem + CYBMEM_OFFSET_16);
-			break;
+	if (cv3d_on_zorro2) {
+		display->screen_base = (char*) CyberMem;
+	} else {
+	        switch (display->var.bits_per_pixel) {
+			case 8:
+				display->screen_base = (char*) (CyberMem + CYBMEM_OFFSET_8);
+				break;
+			case 16:
+				display->screen_base = (char*) (CyberMem + CYBMEM_OFFSET_16);
+				break;
+		}
 	}
 	display->visual = fix.visual;
 	display->type = fix.type;

