830d48d85979bbdc2e741a4f94b58463427a8ef7
1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h,v 1.85 2002/12/16 16:19:17 dawes Exp $ */
3 * MGA Millennium (MGA2064W) functions
5 * Copyright 1996 The XFree86 Project, Inc.
19 #include "linux/types.h"
22 #define PCI_CHIP_MGA2085 0x0518
23 #define PCI_CHIP_MGA2064 0x0519
24 #define PCI_CHIP_MGA1064 0x051A
25 #define PCI_CHIP_MGA2164 0x051B
26 #define PCI_CHIP_MGA2164_AGP 0x051F
27 #define PCI_CHIP_MGAG200_PCI 0x0520
28 #define PCI_CHIP_MGAG200 0x0521
29 #define PCI_CHIP_MGAG400 0x0525
30 #define PCI_CHIP_MGAG550 0x2527
31 #define PCI_CHIP_MGAG100_PCI 0x1000
32 #define PCI_CHIP_MGAG100 0x1001
35 # define MMIO_IN8(base, offset) \
36 *(volatile unsigned char *)(((unsigned char*)(base)) + (offset))
37 # define MMIO_IN16(base, offset) \
38 *(volatile unsigned short *)(void *)(((unsigned char*)(base)) + (offset))
39 # define MMIO_IN32(base, offset) \
40 *(volatile unsigned int *)(void *)(((unsigned char*)(base)) + (offset))
41 # define MMIO_OUT8(base, offset, val) \
42 *(volatile unsigned char *)(((unsigned char*)(base)) + (offset)) = (val)
43 # define MMIO_OUT16(base, offset, val) \
44 *(volatile unsigned short *)(void *)(((unsigned char*)(base)) + (offset)) = (val)
45 # define MMIO_OUT32(base, offset, val) \
46 *(volatile unsigned int *)(void *)(((unsigned char*)(base)) + (offset)) = (val)
48 #define INREG8(addr) MMIO_IN8(pMga->IOBase, addr)
49 #define INREG16(addr) MMIO_IN16(pMga->IOBase, addr)
50 #define INREG(addr) MMIO_IN32(pMga->IOBase, addr)
51 #define OUTREG8(addr, val) MMIO_OUT8(pMga->IOBase, addr, val)
52 #define OUTREG16(addr, val) MMIO_OUT16(pMga->IOBase, addr, val)
53 #define OUTREG(addr, val) MMIO_OUT32(pMga->IOBase, addr, val)
55 #define MGAIOMAPSIZE 0x00004000
59 int Chipset
; /**< \brief Chipset number */
61 int irq
; /**< \brief IRQ number */
64 int frontOffset
; /**< \brief Front color buffer offset */
65 int frontPitch
; /**< \brief Front color buffer pitch */
66 int backOffset
; /**< \brief Back color buffer offset */
67 int backPitch
; /**< \brief Back color buffer pitch */
68 int depthOffset
; /**< \brief Depth buffer offset */
69 int depthPitch
; /**< \brief Depth buffer pitch */
70 int textureOffset
; /**< \brief Texture area offset */
71 int textureSize
; /**< \brief Texture area size */
72 int logTextureGranularity
;
78 drmSize agpSize
; /**< \brief AGP map size */
79 int agpMode
; /**< \brief AGP mode */
92 drmRegion agpTextures
;
94 drmBufMapPtr drmBuffers
;
96 unsigned long IOAddress
;
97 unsigned char *IOBase
;
105 #define MGA_FRONT 0x1
107 #define MGA_DEPTH 0x4
109 #define MGA_AGP_1X_MODE 0x01
110 #define MGA_AGP_2X_MODE 0x02
111 #define MGA_AGP_4X_MODE 0x04
112 #define MGA_AGP_MODE_MASK 0x07