#ifndef _VTYPES_H_
#define _VTYPES_H_
#include "Xmd.h"
#include "xf86Pci.h"
#define V1000_DEVICE 0x0001
#define V2000_DEVICE 0x2000
#define MC_SIZE 0x10000
#define XSERVER
typedef CARD32 vu32;
typedef CARD16 vu16;
typedef CARD8 vu8;
typedef INT32 vs32;
typedef INT16 vs16;
typedef INT8 vs8;
typedef enum {
V_PIXFMT_DSTFMT=0,
V_PIXFMT_332=1,
#define V_PIXFMT_233 V_PIXFMT_332
V_PIXFMT_8I=2,
V_PIXFMT_8A=3,
V_PIXFMT_565=4,
V_PIXFMT_4444=5,
V_PIXFMT_1555=6,
V_PIXFMT_4I_565=8,
V_PIXFMT_4I_4444=9,
V_PIXFMT_4I_1555=10,
V_PIXFMT_8888=12,
V_PIXFMT_Y0CRY1CB=13
#define V_PIXFMT_Y0CBY1CR V_PIXFMT_Y0CRY1CB
} vpixfmt;
struct verite_modeinfo_t {
int clock;
int hdisplay;
int hsyncstart;
int hsyncend;
int htotal;
int hskew;
int vdisplay;
int vsyncstart;
int vsyncend;
int vtotal;
int screenwidth;
int virtualwidth;
int screenheight;
int virtualheight;
int bitsperpixel;
int hsynchi;
int vsynchi;
int pixelformat;
int fifosize;
int flags;
vu8 pll_n;
vu8 pll_m;
vu8 pll_p;
vu8 refresh;
vu8 doubleclock;
vu16 stride0;
vu16 stride1;
};
typedef struct _renditionRegs {
CARD8 mode;
CARD8 memendian;
CARD32 sclkpll;
CARD32 dramctl;
CARD8 plldev;
CARD32 pclkpll;
CARD8 daccmd0;
CARD8 daccmd1;
CARD8 daccmd2;
CARD8 daccmd3;
CARD32 crtch;
CARD32 crtcv;
CARD32 vbasea;
CARD32 crtcoff;
CARD32 crtcctl;
} RenditionRegRec, *RenditionRegPtr;
struct verite_board_t {
vu16 chip;
IOADDRESS io_base, vgaio_base;
vu32 mmio_base;
vu32 vmmio_base;
vu32 mem_size;
vu8 *mem_base;
vu8 *vmem_base;
Bool init;
Bool accel;
vu32 csucode_base;
vu32 ucode_base;
vu32 ucode_entry;
vu32 cursor_base;
int Rop;
int Color;
struct verite_modeinfo_t mode;
vu8 cursor_hi;
vu8 cursor_low;
vu8 offset_hi;
vu8 offset_low;
vu8 *scr_contents;
Bool hwcursor_used;
vu16 hwcursor_vmemsize;
vu32 hwcursor_membase;
vu32 fbOffset;
Bool overclock_mem;
Bool shadowfb;
vu8 *shadowPtr;
vu32 shadowPitch;
void (*PointerMoved)(int index, int x, int y);
int rotate;
vu8 ucode_buffer[MC_SIZE];
};
typedef struct _renditionRec
{
struct verite_board_t board;
struct verite_modeinfo_t mode;
PCITAG pcitag;
pciVideoPtr PciInfo;
EntityInfoPtr pEnt;
CloseScreenProcPtr CloseScreen;
xf86CursorInfoPtr CursorInfoRec;
XAAInfoRecPtr AccelInfoRec;
OptionInfoPtr Options;
RenditionRegRec saveRegs;
} renditionRec, *renditionPtr;
#define RENDITIONPTR(p) ((renditionPtr)((p)->driverPrivate))
#endif