1/* (c) Itai Nahshon */ 2 3#ifndef CIR_H 4#define CIR_H 5 6#include "xf86Cursor.h" 7#ifdef HAVE_XAA_H 8#include "xaa.h" 9#endif 10#include "xf86i2c.h" 11#include <string.h> 12#include <stdlib.h> 13 14#include "compat-api.h" 15#include "cir_pcirename.h" 16 17/* Card-specific driver information */ 18#define CIRPTR(p) ((CirPtr)((p)->driverPrivate)) 19struct lgRec; 20struct alpRec; 21 22typedef struct { 23 ScrnInfoPtr pScrn; 24 CARD32 properties; 25 pciVideoPtr PciInfo; 26#ifndef XSERVER_LIBPCIACCESS 27 PCITAG PciTag; 28#endif 29 unsigned long PIOReg; 30 union { 31 struct lgRec *lg; 32 struct alpRec *alp; 33 } chip; 34 EntityInfoPtr pEnt; 35 int Chipset; 36 int ChipRev; 37 int Rounding; 38 int BppShift; 39 Bool HasFBitBlt; 40 CARD32 IOAddress; 41 CARD32 FbAddress; 42 unsigned char *IOBase; 43 unsigned char *FbBase; 44 long FbMapSize; 45 long IoMapSize; 46 int MinClock; 47 int MaxClock; 48 Bool NoAccel; 49 Bool HWCursor; 50 Bool UseMMIO; 51#ifdef HAVE_XAA_H 52 XAAInfoRecPtr AccelInfoRec; 53#endif 54 xf86CursorInfoPtr CursorInfoRec; 55 int DGAnumModes; 56 DGAModePtr DGAModes; 57 Bool DGAactive; 58 Bool (*DGAModeInit)(ScrnInfoPtr, DisplayModePtr); 59 int DGAViewportStatus; 60 I2CBusPtr I2CPtr1; 61 I2CBusPtr I2CPtr2; 62 CloseScreenProcPtr CloseScreen; 63 64 Bool CursorIsSkewed; 65 Bool shadowFB; 66 int rotate; 67 int ShadowPitch; 68 unsigned char * ShadowPtr; 69 void (*PointerMoved)(SCRN_ARG_TYPE arg, int x, int y); 70 int pitch; 71 72 unsigned char ** ScanlineColorExpandBuffers; 73 void (*InitAccel)(ScrnInfoPtr); 74 int offscreen_size; 75 int offscreen_offset; 76 OptionInfoPtr Options; 77} CirRec, *CirPtr; 78 79/* CirrusClk.c */ 80extern Bool 81CirrusFindClock(int *rfreq, int max_clock, int *num_out, int *den_out); 82 83/* cir_driver.c */ 84extern SymTabRec CIRChipsets[]; 85extern PciChipsets CIRPciChipsets[]; 86 87extern Bool CirMapMem(CirPtr pCir, int scrnIndex); 88extern Bool CirUnmapMem(CirPtr pCir, int scrnIndex); 89extern void cirProbeDDC(ScrnInfoPtr pScrn, int index); 90 91/* cir_dga.c */ 92extern Bool CirDGAInit(ScreenPtr pScreen); 93 94/* in cir_shadow.c */ 95void cirPointerMoved(SCRN_ARG_TYPE arg, int x, int y); 96void cirRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox); 97void cirRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox); 98void cirRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox); 99void cirRefreshArea24(ScrnInfoPtr pScrn, int num, BoxPtr pbox); 100void cirRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox); 101 102/* properties */ 103#define HWCUR64 0x1 104#define ACCEL_AUTOSTART 0x2 105 106#endif /* CIR_H */ 107