alp.h revision 76888252
11.136Slukem/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp.h,v 1.6 2001/02/15 17:39:28 eich Exp $ */ 21.135Slukem 31.135Slukem/* (c) Itai Nahshon */ 41.135Slukem 51.135Slukem#ifndef ALP_H 61.135Slukem#define ALP_H 71.135Slukem 81.135Slukemextern ScrnInfoPtr AlpProbe(int entity); 91.135Slukemextern const OptionInfoRec * AlpAvailableOptions(int chipid); 101.135Slukem 111.135Slukem# ifdef _ALP_PRIVATE_ 121.135Slukem/* Saved registers that are not part of the core VGA */ 131.135Slukem/* CRTC >= 0x19; Sequencer >= 0x05; Graphics >= 0x09; Attribute >= 0x15 */ 141.135Slukem 151.135Slukemenum { 161.135Slukem /* CR regs */ 171.135Slukem CR1A, 181.135Slukem CR1B, 191.135Slukem CR1D, 201.135Slukem /* SR regs */ 211.135Slukem SR07, 221.135Slukem SR0E, 231.135Slukem SR12, 241.135Slukem SR13, 251.135Slukem SR17, 261.135Slukem SR1E, 271.135Slukem SR21, 281.135Slukem SR2D, 291.135Slukem /* GR regs */ 301.135Slukem GR17, 311.135Slukem GR18, 321.135Slukem /* HDR */ 331.135Slukem HDR, 341.135Slukem /* Must be last! */ 351.135Slukem CIR_NSAVED 361.135Slukem}; 371.135Slukem 381.135Slukemtypedef enum {LCD_NONE, LCD_DUAL_MONO, LCD_UNKNOWN, LCD_DSTN, LCD_TFT} LCDType; 391.135Slukem 401.135Slukemtypedef struct { 411.135Slukem unsigned char ExtVga[CIR_NSAVED]; 421.135Slukem} AlpRegRec, *AlpRegPtr; 431.135Slukem 441.135Slukemextern Bool AlpHWCursorInit(ScreenPtr pScreen, int size); 451.135Slukemextern Bool AlpXAAInit(ScreenPtr pScreen); 461.135Slukemextern Bool AlpXAAInitMMIO(ScreenPtr pScreen); 471.135Slukemextern Bool AlpDGAInit(ScreenPtr pScreen); 481.135Slukemextern Bool AlpI2CInit(ScrnInfoPtr pScrn); 491.135Slukem 501.135Slukem/* Card-specific driver information */ 511.135Slukem#define ALPPTR(p) ((AlpPtr)((p)->chip.alp)) 521.135Slukem 531.135Slukemtypedef struct alpRec { 541.135Slukem unsigned char * HWCursorBits; 551.136Slukem unsigned char * CursorBits; 561.136Slukem 571.135Slukem AlpRegRec SavedReg; 581.135Slukem AlpRegRec ModeReg; 591.135Slukem LCDType lcdType; 601.135Slukem int lcdWidth, lcdHeight; 611.135Slukem int CursorWidth; 621.135Slukem int CursorHeight; 631.135Slukem int waitMsk; 641.135Slukem int scanlineDest; 651.135Slukem int scanlineCount; 661.135Slukem int scanlineWidth; 671.135Slukem 681.135Slukem int SubsequentColorExpandScanlineDest; 691.135Slukem int SubsequentColorExpandScanlineByteWidth; 701.135Slukem int SubsequentColorExpandScanlineDWordWidth; 711.135Slukem 721.135Slukem /* Offset into framebuffer of a 8-byte scratch area for fills */ 731.135Slukem CARD32 monoPattern8x8; 741.135Slukem 751.135Slukem Bool autoStart; 761.135Slukem 771.135Slukem /* MMIO Base for BitBLT operation. This is 781.135Slukem IOBase for 5446 and 7548, IOBase+0x100 for 5480 */ 791.135Slukem unsigned char * BLTBase; 801.135Slukem CARD32 transRop; 811.135Slukem/* XXX For XF86Config based mem configuration */ 821.135Slukem CARD32 sr0f, sr17; 831.135Slukem} AlpRec, *AlpPtr; 841.135Slukem 851.135Slukem# endif /* _ALP_PRIVATE_ */ 861.135Slukem#endif /* ALP_H */ 871.135Slukem 881.135Slukem