ark.h revision 943345d3
1943345d3Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ark/ark.h,v 1.2 2001/01/29 15:15:44 keithp Exp $ */ 2943345d3Smrg/* 3943345d3Smrg * ark 4943345d3Smrg */ 5943345d3Smrg 6943345d3Smrg#ifndef _ARK_H 7943345d3Smrg#define _ARK_H 8943345d3Smrg 9943345d3Smrg#include "xf86.h" 10943345d3Smrg#include "xf86Pci.h" 11943345d3Smrg#include "xf86PciInfo.h" 12943345d3Smrg#include "xaa.h" 13943345d3Smrg#include "vgaHW.h" 14943345d3Smrg 15943345d3Smrgtypedef struct _ARKRegRec { 16943345d3Smrg unsigned char sr10, sr11, sr12, sr13, sr14, 17943345d3Smrg sr15, sr16, sr17, sr18, sr20, 18943345d3Smrg sr21, sr22, sr23, sr24, sr25, 19943345d3Smrg sr26, sr27, sr28, sr29, sr2a, 20943345d3Smrg sr2b; 21943345d3Smrg unsigned char sr1c, sr1d; 22943345d3Smrg unsigned char cr40, cr41, cr42, cr44, cr46; 23943345d3Smrg unsigned char dac_command; 24943345d3Smrg unsigned char stg_17xx[3]; 25943345d3Smrg unsigned char gendac[6]; 26943345d3Smrg} ARKRegRec, *ARKRegPtr; 27943345d3Smrg 28943345d3Smrg 29943345d3Smrgtypedef struct _ARKRec { 30943345d3Smrg pciVideoPtr PciInfo; 31943345d3Smrg PCITAG PciTag; 32943345d3Smrg EntityInfoPtr pEnt; 33943345d3Smrg CARD32 IOAddress; 34943345d3Smrg CARD32 FBAddress; 35943345d3Smrg unsigned char * FBBase; 36943345d3Smrg unsigned char * MMIOBase; 37943345d3Smrg unsigned long videoRam; 38943345d3Smrg OptionInfoPtr Options; 39943345d3Smrg unsigned int Flags; 40943345d3Smrg Bool NoAccel; 41943345d3Smrg CARD32 Bus; 42943345d3Smrg XAAInfoRecPtr pXAA; 43943345d3Smrg int Chipset, ChipRev; 44943345d3Smrg int clock_mult; 45943345d3Smrg int dac_width; 46943345d3Smrg int multiplex_threshold; 47943345d3Smrg int ramdac; 48943345d3Smrg ARKRegRec SavedRegs; /* original mode */ 49943345d3Smrg ARKRegRec ModeRegs; /* current mode */ 50943345d3Smrg Bool (*CloseScreen)(int, ScreenPtr); 51943345d3Smrg} ARKRec, *ARKPtr; 52943345d3Smrg 53943345d3Smrg 54943345d3Smrg#define ARKPTR(p) ((ARKPtr)((p)->driverPrivate)) 55943345d3Smrg 56943345d3Smrg 57943345d3Smrg#define DRIVER_NAME "ark" 58943345d3Smrg#define DRIVER_VERSION "0.6.0" 59943345d3Smrg#define VERSION_MAJOR 0 60943345d3Smrg#define VERSION_MINOR 6 61943345d3Smrg#define PATCHLEVEL 0 62943345d3Smrg#define ARK_VERSION ((VERSION_MAJOR << 24) | \ 63943345d3Smrg (VERSION_MINOR << 16) | \ 64943345d3Smrg PATCHLEVEL) 65943345d3Smrg 66943345d3Smrg#define ZOOMDAC 0x404 67943345d3Smrg#define ATT490 0x101 68943345d3Smrg 69943345d3SmrgBool ARKAccelInit(ScreenPtr pScreen); 70943345d3Smrg 71943345d3Smrg#define rdinx(port, ind) (outb((port), (ind)), inb((port) + 1)) 72943345d3Smrg#define wrinx(port, ind, val) \ 73943345d3Smrg do { \ 74943345d3Smrg outb((port), (ind)); outb((port) + 1, (val)); \ 75943345d3Smrg } while(0) 76943345d3Smrg#define modinx(port, ind, mask, bits) \ 77943345d3Smrg do { \ 78943345d3Smrg unsigned char tmp; \ 79943345d3Smrg tmp = (rdinx((port), (ind)) & ~(mask)) | ((bits) & (mask)); \ 80943345d3Smrg wrinx((port), (ind), tmp); \ 81943345d3Smrg } while(0) 82943345d3Smrg 83943345d3Smrg#endif /* _ARK_H */ 84