--- p9000.old.c Thu Jan 19 05:54:03 1995 +++ p9000.new.c Thu Jan 19 05:54:11 1995 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/p9000/p9000.c,v 3.18 1994/09/24 15:12:34 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/p9000/p9000.c,v 3.20 1994/11/26 12:44:16 dawes Exp $ */ /* * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. * Copyright 1994 by Erik Nygren @@ -115,6 +115,8 @@ 0, /* int COPbase */ 0, /* int POSbase */ 0, /* int instance */ + 0, /* int s3Madjust */ + 0, /* int s3Nadjust */ }; extern miPointerScreenFuncRec xf86PointerScreenFuncs; @@ -200,8 +202,8 @@ (a & 0x01) << 7; /* Raster operation (alu) -> minterm mapping */ -unsigned int p9000alu[16]; -unsigned int p9000QuadAlu[16]; +unsigned int p9000alu[16]; /* alu src = p9000 src */ +unsigned int p9000QuadAlu[16] ; /* alu src = p9000 foreground */ /* * p9000Probe -- @@ -222,7 +224,6 @@ int i; unsigned long tmpsysconfig; /* dummy value */ - /* Check for linear vid mem capability */ if (!xf86LinearVidMem()) { ErrorF("%s %s: This operating system does not support memory mapping of linear regions.\nAs a result, it can not be used with this server\n", @@ -276,14 +277,24 @@ xf86EnableIOPorts(p9000InfoRec.scrnIndex); OFLG_ZERO(&validOptions); + OFLG_SET(OPTION_SW_CURSOR, &validOptions); + OFLG_SET(OPTION_NOACCEL, &validOptions); + OFLG_SET(OPTION_SYNC_ON_GREEN, &validOptions); + OFLG_SET(OPTION_VRAM_128, &validOptions); + OFLG_SET(OPTION_VRAM_256, &validOptions); xf86VerifyOptions(&validOptions, &p9000InfoRec); +#if 0 /* We shouldn't need this any more */ if (!p9000InfoRec.clocks) { ErrorF("%s %s: Autodetection of clocks is not supported.\n\tExplicitly specify in XF86Config file on a Clocks line.\n", XCONFIG_PROBED, p9000InfoRec.name); return(FALSE); } - +#endif + /* At the moment, all P9000-based boards use a icd2061a compatable + * programmable clock so no more differentiation than this is needed */ + OFLG_SET(CLOCK_OPTION_PROGRAMABLE, &(p9000InfoRec.clockOptions)); + if (!p9000InfoRec.videoRam) { ErrorF("%s %s: Autodetection of video RAM is not yet supported.\n\tExplicitly specify VideoRAM in XF86Config file.\n", XCONFIG_PROBED, p9000InfoRec.name); @@ -487,6 +498,8 @@ p9000InfoRec.virtualX = pEnd->HDisplay; p9000InfoRec.virtualY = pEnd->VDisplay; } + /* Set the clock synthesizer frequency */ + pMode->SynthClock = p9000InfoRec.clock[pMode->Clock]; pMode = pMode->next; } } while (pMode != pEnd); @@ -635,7 +648,7 @@ #endif if (!p9000ScreenInit(pScreen, - (volatile pointer) VidBase, + (pointer) VidBase, p9000InfoRec.virtualX, p9000InfoRec.virtualY, 75, 75, p9000InfoRec.virtualX))