*** p9000.old.c Thu Jan 19 05:54:03 1995 --- p9000.new.c Thu Jan 19 05:54:11 1995 *************** *** 1,4 **** ! /* $XFree86: xc/programs/Xserver/hw/xfree86/accel/p9000/p9000.c,v 3.18 1994/09/24 15:12:34 dawes Exp $ */ /* * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. * Copyright 1994 by Erik Nygren --- 1,4 ---- ! /* $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,120 **** --- 115,122 ---- 0, /* int COPbase */ 0, /* int POSbase */ 0, /* int instance */ + 0, /* int s3Madjust */ + 0, /* int s3Nadjust */ }; extern miPointerScreenFuncRec xf86PointerScreenFuncs; *************** *** 200,207 **** (a & 0x01) << 7; /* Raster operation (alu) -> minterm mapping */ ! unsigned int p9000alu[16]; ! unsigned int p9000QuadAlu[16]; /* * p9000Probe -- --- 202,209 ---- (a & 0x01) << 7; /* Raster operation (alu) -> minterm mapping */ ! unsigned int p9000alu[16]; /* alu src = p9000 src */ ! unsigned int p9000QuadAlu[16] ; /* alu src = p9000 foreground */ /* * p9000Probe -- *************** *** 222,228 **** 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", --- 224,229 ---- *************** *** 276,289 **** xf86EnableIOPorts(p9000InfoRec.scrnIndex); OFLG_ZERO(&validOptions); xf86VerifyOptions(&validOptions, &p9000InfoRec); 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); } ! 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); --- 277,300 ---- 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,492 **** --- 498,505 ---- 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,641 **** #endif if (!p9000ScreenInit(pScreen, ! (volatile pointer) VidBase, p9000InfoRec.virtualX, p9000InfoRec.virtualY, 75, 75, p9000InfoRec.virtualX)) --- 648,654 ---- #endif if (!p9000ScreenInit(pScreen, ! (pointer) VidBase, p9000InfoRec.virtualX, p9000InfoRec.virtualY, 75, 75, p9000InfoRec.virtualX))