176888252Smrg/* (c) Itai Nahshon */ 276888252Smrg 376888252Smrg#ifndef ALP_H 476888252Smrg#define ALP_H 576888252Smrg 676888252Smrgextern ScrnInfoPtr AlpProbe(int entity); 776888252Smrgextern const OptionInfoRec * AlpAvailableOptions(int chipid); 876888252Smrg 976888252Smrg# ifdef _ALP_PRIVATE_ 1076888252Smrg/* Saved registers that are not part of the core VGA */ 1176888252Smrg/* CRTC >= 0x19; Sequencer >= 0x05; Graphics >= 0x09; Attribute >= 0x15 */ 1276888252Smrg 1376888252Smrgenum { 1476888252Smrg /* CR regs */ 1576888252Smrg CR1A, 1676888252Smrg CR1B, 1776888252Smrg CR1D, 1876888252Smrg /* SR regs */ 1976888252Smrg SR07, 2076888252Smrg SR0E, 2176888252Smrg SR12, 2276888252Smrg SR13, 2376888252Smrg SR17, 2476888252Smrg SR1E, 2576888252Smrg SR21, 2676888252Smrg SR2D, 2776888252Smrg /* GR regs */ 2876888252Smrg GR17, 2976888252Smrg GR18, 3076888252Smrg /* HDR */ 3176888252Smrg HDR, 3276888252Smrg /* Must be last! */ 3376888252Smrg CIR_NSAVED 3476888252Smrg}; 3576888252Smrg 3676888252Smrgtypedef enum {LCD_NONE, LCD_DUAL_MONO, LCD_UNKNOWN, LCD_DSTN, LCD_TFT} LCDType; 3776888252Smrg 3876888252Smrgtypedef struct { 3976888252Smrg unsigned char ExtVga[CIR_NSAVED]; 4076888252Smrg} AlpRegRec, *AlpRegPtr; 4176888252Smrg 4276888252Smrgextern Bool AlpHWCursorInit(ScreenPtr pScreen, int size); 4363847c39Smrg#ifdef HAVE_XAA_H 4476888252Smrgextern Bool AlpXAAInit(ScreenPtr pScreen); 4576888252Smrgextern Bool AlpXAAInitMMIO(ScreenPtr pScreen); 4663847c39Smrg#endif 4776888252Smrgextern Bool AlpDGAInit(ScreenPtr pScreen); 4876888252Smrgextern Bool AlpI2CInit(ScrnInfoPtr pScrn); 4976888252Smrg 5076888252Smrg/* Card-specific driver information */ 5176888252Smrg#define ALPPTR(p) ((AlpPtr)((p)->chip.alp)) 5276888252Smrg 5376888252Smrgtypedef struct alpRec { 5476888252Smrg unsigned char * HWCursorBits; 5576888252Smrg unsigned char * CursorBits; 5676888252Smrg 5776888252Smrg AlpRegRec SavedReg; 5876888252Smrg AlpRegRec ModeReg; 5976888252Smrg LCDType lcdType; 6076888252Smrg int lcdWidth, lcdHeight; 6176888252Smrg int CursorWidth; 6276888252Smrg int CursorHeight; 6376888252Smrg int waitMsk; 6476888252Smrg int scanlineDest; 6576888252Smrg int scanlineCount; 6676888252Smrg int scanlineWidth; 6776888252Smrg 6876888252Smrg int SubsequentColorExpandScanlineDest; 6976888252Smrg int SubsequentColorExpandScanlineByteWidth; 7076888252Smrg int SubsequentColorExpandScanlineDWordWidth; 7176888252Smrg 7276888252Smrg /* Offset into framebuffer of a 8-byte scratch area for fills */ 7376888252Smrg CARD32 monoPattern8x8; 7476888252Smrg 7576888252Smrg Bool autoStart; 7676888252Smrg 7776888252Smrg /* MMIO Base for BitBLT operation. This is 7876888252Smrg IOBase for 5446 and 7548, IOBase+0x100 for 5480 */ 7976888252Smrg unsigned char * BLTBase; 8076888252Smrg CARD32 transRop; 8176888252Smrg/* XXX For XF86Config based mem configuration */ 8276888252Smrg CARD32 sr0f, sr17; 8376888252Smrg} AlpRec, *AlpPtr; 8476888252Smrg 8576888252Smrg# endif /* _ALP_PRIVATE_ */ 8676888252Smrg#endif /* ALP_H */ 8776888252Smrg 88