ark.h revision 943345d3
1/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ark/ark.h,v 1.2 2001/01/29 15:15:44 keithp Exp $ */ 2/* 3 * ark 4 */ 5 6#ifndef _ARK_H 7#define _ARK_H 8 9#include "xf86.h" 10#include "xf86Pci.h" 11#include "xf86PciInfo.h" 12#include "xaa.h" 13#include "vgaHW.h" 14 15typedef struct _ARKRegRec { 16 unsigned char sr10, sr11, sr12, sr13, sr14, 17 sr15, sr16, sr17, sr18, sr20, 18 sr21, sr22, sr23, sr24, sr25, 19 sr26, sr27, sr28, sr29, sr2a, 20 sr2b; 21 unsigned char sr1c, sr1d; 22 unsigned char cr40, cr41, cr42, cr44, cr46; 23 unsigned char dac_command; 24 unsigned char stg_17xx[3]; 25 unsigned char gendac[6]; 26} ARKRegRec, *ARKRegPtr; 27 28 29typedef struct _ARKRec { 30 pciVideoPtr PciInfo; 31 PCITAG PciTag; 32 EntityInfoPtr pEnt; 33 CARD32 IOAddress; 34 CARD32 FBAddress; 35 unsigned char * FBBase; 36 unsigned char * MMIOBase; 37 unsigned long videoRam; 38 OptionInfoPtr Options; 39 unsigned int Flags; 40 Bool NoAccel; 41 CARD32 Bus; 42 XAAInfoRecPtr pXAA; 43 int Chipset, ChipRev; 44 int clock_mult; 45 int dac_width; 46 int multiplex_threshold; 47 int ramdac; 48 ARKRegRec SavedRegs; /* original mode */ 49 ARKRegRec ModeRegs; /* current mode */ 50 Bool (*CloseScreen)(int, ScreenPtr); 51} ARKRec, *ARKPtr; 52 53 54#define ARKPTR(p) ((ARKPtr)((p)->driverPrivate)) 55 56 57#define DRIVER_NAME "ark" 58#define DRIVER_VERSION "0.6.0" 59#define VERSION_MAJOR 0 60#define VERSION_MINOR 6 61#define PATCHLEVEL 0 62#define ARK_VERSION ((VERSION_MAJOR << 24) | \ 63 (VERSION_MINOR << 16) | \ 64 PATCHLEVEL) 65 66#define ZOOMDAC 0x404 67#define ATT490 0x101 68 69Bool ARKAccelInit(ScreenPtr pScreen); 70 71#define rdinx(port, ind) (outb((port), (ind)), inb((port) + 1)) 72#define wrinx(port, ind, val) \ 73 do { \ 74 outb((port), (ind)); outb((port) + 1, (val)); \ 75 } while(0) 76#define modinx(port, ind, mask, bits) \ 77 do { \ 78 unsigned char tmp; \ 79 tmp = (rdinx((port), (ind)) & ~(mask)) | ((bits) & (mask)); \ 80 wrinx((port), (ind), tmp); \ 81 } while(0) 82 83#endif /* _ARK_H */ 84