Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
i810_drv.h File Reference

Go to the source code of this file.

Data Structures

struct  drm_i810_buf_priv
 
struct  _drm_i810_ring_buffer
 
struct  drm_i810_private
 

Macros

#define DRIVER_AUTHOR   "VA Linux Systems Inc."
 
#define DRIVER_NAME   "i810"
 
#define DRIVER_DESC   "Intel i810"
 
#define DRIVER_DATE   "20030605"
 
#define DRIVER_MAJOR   1
 
#define DRIVER_MINOR   4
 
#define DRIVER_PATCHLEVEL   0
 
#define I810_BASE(reg)
 
#define I810_ADDR(reg)   (I810_BASE(reg) + reg)
 
#define I810_DEREF(reg)   (*(__volatile__ int *)I810_ADDR(reg))
 
#define I810_READ(reg)   I810_DEREF(reg)
 
#define I810_WRITE(reg, val)   do { I810_DEREF(reg) = val; } while (0)
 
#define I810_DEREF16(reg)   (*(__volatile__ u16 *)I810_ADDR(reg))
 
#define I810_READ16(reg)   I810_DEREF16(reg)
 
#define I810_WRITE16(reg, val)   do { I810_DEREF16(reg) = val; } while (0)
 
#define I810_VERBOSE   0
 
#define RING_LOCALS
 
#define BEGIN_LP_RING(n)
 
#define ADVANCE_LP_RING()
 
#define OUT_RING(n)
 
#define GFX_OP_USER_INTERRUPT   ((0<<29)|(2<<23))
 
#define GFX_OP_BREAKPOINT_INTERRUPT   ((0<<29)|(1<<23))
 
#define CMD_REPORT_HEAD   (7<<23)
 
#define CMD_STORE_DWORD_IDX   ((0x21<<23) | 0x1)
 
#define CMD_OP_BATCH_BUFFER   ((0x0<<29)|(0x30<<23)|0x1)
 
#define INST_PARSER_CLIENT   0x00000000
 
#define INST_OP_FLUSH   0x02000000
 
#define INST_FLUSH_MAP_CACHE   0x00000001
 
#define BB1_START_ADDR_MASK   (~0x7)
 
#define BB1_PROTECTED   (1<<0)
 
#define BB1_UNPROTECTED   (0<<0)
 
#define BB2_END_ADDR_MASK   (~0x7)
 
#define I810REG_HWSTAM   0x02098
 
#define I810REG_INT_IDENTITY_R   0x020a4
 
#define I810REG_INT_MASK_R   0x020a8
 
#define I810REG_INT_ENABLE_R   0x020a0
 
#define LP_RING   0x2030
 
#define HP_RING   0x2040
 
#define RING_TAIL   0x00
 
#define TAIL_ADDR   0x000FFFF8
 
#define RING_HEAD   0x04
 
#define HEAD_WRAP_COUNT   0xFFE00000
 
#define HEAD_WRAP_ONE   0x00200000
 
#define HEAD_ADDR   0x001FFFFC
 
#define RING_START   0x08
 
#define START_ADDR   0x00FFFFF8
 
#define RING_LEN   0x0C
 
#define RING_NR_PAGES   0x000FF000
 
#define RING_REPORT_MASK   0x00000006
 
#define RING_REPORT_64K   0x00000002
 
#define RING_REPORT_128K   0x00000004
 
#define RING_NO_REPORT   0x00000000
 
#define RING_VALID_MASK   0x00000001
 
#define RING_VALID   0x00000001
 
#define RING_INVALID   0x00000000
 
#define GFX_OP_SCISSOR   ((0x3<<29)|(0x1c<<24)|(0x10<<19))
 
#define SC_UPDATE_SCISSOR   (0x1<<1)
 
#define SC_ENABLE_MASK   (0x1<<0)
 
#define SC_ENABLE   (0x1<<0)
 
#define GFX_OP_SCISSOR_INFO   ((0x3<<29)|(0x1d<<24)|(0x81<<16)|(0x1))
 
#define SCI_YMIN_MASK   (0xffff<<16)
 
#define SCI_XMIN_MASK   (0xffff<<0)
 
#define SCI_YMAX_MASK   (0xffff<<16)
 
#define SCI_XMAX_MASK   (0xffff<<0)
 
#define GFX_OP_COLOR_FACTOR   ((0x3<<29)|(0x1d<<24)|(0x1<<16)|0x0)
 
#define GFX_OP_STIPPLE   ((0x3<<29)|(0x1d<<24)|(0x83<<16))
 
#define GFX_OP_MAP_INFO   ((0x3<<29)|(0x1d<<24)|0x2)
 
#define GFX_OP_DESTBUFFER_VARS   ((0x3<<29)|(0x1d<<24)|(0x85<<16)|0x0)
 
#define GFX_OP_DRAWRECT_INFO   ((0x3<<29)|(0x1d<<24)|(0x80<<16)|(0x3))
 
#define GFX_OP_PRIMITIVE   ((0x3<<29)|(0x1f<<24))
 
#define CMD_OP_Z_BUFFER_INFO   ((0x0<<29)|(0x16<<23))
 
#define CMD_OP_DESTBUFFER_INFO   ((0x0<<29)|(0x15<<23))
 
#define CMD_OP_FRONTBUFFER_INFO   ((0x0<<29)|(0x14<<23))
 
#define CMD_OP_WAIT_FOR_EVENT   ((0x0<<29)|(0x03<<23))
 
#define BR00_BITBLT_CLIENT   0x40000000
 
#define BR00_OP_COLOR_BLT   0x10000000
 
#define BR00_OP_SRC_COPY_BLT   0x10C00000
 
#define BR13_SOLID_PATTERN   0x80000000
 
#define WAIT_FOR_PLANE_A_SCANLINES   (1<<1)
 
#define WAIT_FOR_PLANE_A_FLIP   (1<<2)
 
#define WAIT_FOR_VBLANK   (1<<3)
 

Typedefs

typedef struct drm_i810_buf_priv drm_i810_buf_priv_t
 
typedef struct
_drm_i810_ring_buffer 
drm_i810_ring_buffer_t
 
typedef struct drm_i810_private drm_i810_private_t
 

Functions

int i810_driver_dma_quiescent (struct drm_device *dev)
 
void i810_driver_reclaim_buffers (struct drm_device *dev, struct drm_file *file_priv)
 
int i810_driver_load (struct drm_device *, unsigned long flags)
 
void i810_driver_lastclose (struct drm_device *dev)
 
void i810_driver_preclose (struct drm_device *dev, struct drm_file *file_priv)
 
int i810_driver_device_is_agp (struct drm_device *dev)
 
long i810_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
 

Variables

struct drm_ioctl_desc i810_ioctls []
 
int i810_max_ioctl
 

Macro Definition Documentation

#define ADVANCE_LP_RING ( )
Value:
do { \
if (I810_VERBOSE) \
DRM_DEBUG("ADVANCE_LP_RING\n"); \
dev_priv->ring.tail = outring; \
I810_WRITE(LP_RING + RING_TAIL, outring); \
} while (0)

Definition at line 156 of file i810_drv.h.

#define BB1_PROTECTED   (1<<0)

Definition at line 182 of file i810_drv.h.

#define BB1_START_ADDR_MASK   (~0x7)

Definition at line 181 of file i810_drv.h.

#define BB1_UNPROTECTED   (0<<0)

Definition at line 183 of file i810_drv.h.

#define BB2_END_ADDR_MASK   (~0x7)

Definition at line 184 of file i810_drv.h.

#define BEGIN_LP_RING (   n)
Value:
do { \
if (I810_VERBOSE) \
DRM_DEBUG("BEGIN_LP_RING(%d)\n", n); \
if (dev_priv->ring.space < n*4) \
i810_wait_ring(dev, n*4); \
dev_priv->ring.space -= n*4; \
outring = dev_priv->ring.tail; \
ringmask = dev_priv->ring.tail_mask; \
virt = dev_priv->ring.virtual_start; \
} while (0)

Definition at line 145 of file i810_drv.h.

#define BR00_BITBLT_CLIENT   0x40000000

Definition at line 234 of file i810_drv.h.

#define BR00_OP_COLOR_BLT   0x10000000

Definition at line 235 of file i810_drv.h.

#define BR00_OP_SRC_COPY_BLT   0x10C00000

Definition at line 236 of file i810_drv.h.

#define BR13_SOLID_PATTERN   0x80000000

Definition at line 237 of file i810_drv.h.

#define CMD_OP_BATCH_BUFFER   ((0x0<<29)|(0x30<<23)|0x1)

Definition at line 175 of file i810_drv.h.

#define CMD_OP_DESTBUFFER_INFO   ((0x0<<29)|(0x15<<23))

Definition at line 230 of file i810_drv.h.

#define CMD_OP_FRONTBUFFER_INFO   ((0x0<<29)|(0x14<<23))

Definition at line 231 of file i810_drv.h.

#define CMD_OP_WAIT_FOR_EVENT   ((0x0<<29)|(0x03<<23))

Definition at line 232 of file i810_drv.h.

#define CMD_OP_Z_BUFFER_INFO   ((0x0<<29)|(0x16<<23))

Definition at line 229 of file i810_drv.h.

#define CMD_REPORT_HEAD   (7<<23)

Definition at line 173 of file i810_drv.h.

#define CMD_STORE_DWORD_IDX   ((0x21<<23) | 0x1)

Definition at line 174 of file i810_drv.h.

#define DRIVER_AUTHOR   "VA Linux Systems Inc."

Definition at line 38 of file i810_drv.h.

#define DRIVER_DATE   "20030605"

Definition at line 42 of file i810_drv.h.

#define DRIVER_DESC   "Intel i810"

Definition at line 41 of file i810_drv.h.

#define DRIVER_MAJOR   1

Definition at line 54 of file i810_drv.h.

#define DRIVER_MINOR   4

Definition at line 55 of file i810_drv.h.

#define DRIVER_NAME   "i810"

Definition at line 40 of file i810_drv.h.

#define DRIVER_PATCHLEVEL   0

Definition at line 56 of file i810_drv.h.

#define GFX_OP_BREAKPOINT_INTERRUPT   ((0<<29)|(1<<23))

Definition at line 172 of file i810_drv.h.

#define GFX_OP_COLOR_FACTOR   ((0x3<<29)|(0x1d<<24)|(0x1<<16)|0x0)

Definition at line 222 of file i810_drv.h.

#define GFX_OP_DESTBUFFER_VARS   ((0x3<<29)|(0x1d<<24)|(0x85<<16)|0x0)

Definition at line 225 of file i810_drv.h.

#define GFX_OP_DRAWRECT_INFO   ((0x3<<29)|(0x1d<<24)|(0x80<<16)|(0x3))

Definition at line 226 of file i810_drv.h.

#define GFX_OP_MAP_INFO   ((0x3<<29)|(0x1d<<24)|0x2)

Definition at line 224 of file i810_drv.h.

#define GFX_OP_PRIMITIVE   ((0x3<<29)|(0x1f<<24))

Definition at line 227 of file i810_drv.h.

#define GFX_OP_SCISSOR   ((0x3<<29)|(0x1c<<24)|(0x10<<19))

Definition at line 211 of file i810_drv.h.

#define GFX_OP_SCISSOR_INFO   ((0x3<<29)|(0x1d<<24)|(0x81<<16)|(0x1))

Definition at line 216 of file i810_drv.h.

#define GFX_OP_STIPPLE   ((0x3<<29)|(0x1d<<24)|(0x83<<16))

Definition at line 223 of file i810_drv.h.

#define GFX_OP_USER_INTERRUPT   ((0<<29)|(2<<23))

Definition at line 171 of file i810_drv.h.

#define HEAD_ADDR   0x001FFFFC

Definition at line 198 of file i810_drv.h.

#define HEAD_WRAP_COUNT   0xFFE00000

Definition at line 196 of file i810_drv.h.

#define HEAD_WRAP_ONE   0x00200000

Definition at line 197 of file i810_drv.h.

#define HP_RING   0x2040

Definition at line 192 of file i810_drv.h.

#define I810_ADDR (   reg)    (I810_BASE(reg) + reg)

Definition at line 133 of file i810_drv.h.

#define I810_BASE (   reg)
Value:
((unsigned long) \
dev_priv->mmio_map->handle)

Definition at line 131 of file i810_drv.h.

#define I810_DEREF (   reg)    (*(__volatile__ int *)I810_ADDR(reg))

Definition at line 134 of file i810_drv.h.

#define I810_DEREF16 (   reg)    (*(__volatile__ u16 *)I810_ADDR(reg))

Definition at line 137 of file i810_drv.h.

#define I810_READ (   reg)    I810_DEREF(reg)

Definition at line 135 of file i810_drv.h.

#define I810_READ16 (   reg)    I810_DEREF16(reg)

Definition at line 138 of file i810_drv.h.

#define I810_VERBOSE   0

Definition at line 141 of file i810_drv.h.

#define I810_WRITE (   reg,
  val 
)    do { I810_DEREF(reg) = val; } while (0)

Definition at line 136 of file i810_drv.h.

#define I810_WRITE16 (   reg,
  val 
)    do { I810_DEREF16(reg) = val; } while (0)

Definition at line 139 of file i810_drv.h.

#define I810REG_HWSTAM   0x02098

Definition at line 186 of file i810_drv.h.

#define I810REG_INT_ENABLE_R   0x020a0

Definition at line 189 of file i810_drv.h.

#define I810REG_INT_IDENTITY_R   0x020a4

Definition at line 187 of file i810_drv.h.

#define I810REG_INT_MASK_R   0x020a8

Definition at line 188 of file i810_drv.h.

#define INST_FLUSH_MAP_CACHE   0x00000001

Definition at line 179 of file i810_drv.h.

#define INST_OP_FLUSH   0x02000000

Definition at line 178 of file i810_drv.h.

#define INST_PARSER_CLIENT   0x00000000

Definition at line 177 of file i810_drv.h.

#define LP_RING   0x2030

Definition at line 191 of file i810_drv.h.

#define OUT_RING (   n)
Value:
do { \
if (I810_VERBOSE) \
DRM_DEBUG(" OUT_RING %x\n", (int)(n)); \
*(volatile unsigned int *)(virt + outring) = n; \
outring += 4; \
outring &= ringmask; \
} while (0)

Definition at line 163 of file i810_drv.h.

#define RING_HEAD   0x04

Definition at line 195 of file i810_drv.h.

#define RING_INVALID   0x00000000

Definition at line 209 of file i810_drv.h.

#define RING_LEN   0x0C

Definition at line 201 of file i810_drv.h.

#define RING_LOCALS
Value:
unsigned int outring, ringmask; \
volatile char *virt;

Definition at line 142 of file i810_drv.h.

#define RING_NO_REPORT   0x00000000

Definition at line 206 of file i810_drv.h.

#define RING_NR_PAGES   0x000FF000

Definition at line 202 of file i810_drv.h.

#define RING_REPORT_128K   0x00000004

Definition at line 205 of file i810_drv.h.

#define RING_REPORT_64K   0x00000002

Definition at line 204 of file i810_drv.h.

#define RING_REPORT_MASK   0x00000006

Definition at line 203 of file i810_drv.h.

#define RING_START   0x08

Definition at line 199 of file i810_drv.h.

#define RING_TAIL   0x00

Definition at line 193 of file i810_drv.h.

#define RING_VALID   0x00000001

Definition at line 208 of file i810_drv.h.

#define RING_VALID_MASK   0x00000001

Definition at line 207 of file i810_drv.h.

#define SC_ENABLE   (0x1<<0)

Definition at line 214 of file i810_drv.h.

#define SC_ENABLE_MASK   (0x1<<0)

Definition at line 213 of file i810_drv.h.

#define SC_UPDATE_SCISSOR   (0x1<<1)

Definition at line 212 of file i810_drv.h.

#define SCI_XMAX_MASK   (0xffff<<0)

Definition at line 220 of file i810_drv.h.

#define SCI_XMIN_MASK   (0xffff<<0)

Definition at line 218 of file i810_drv.h.

#define SCI_YMAX_MASK   (0xffff<<16)

Definition at line 219 of file i810_drv.h.

#define SCI_YMIN_MASK   (0xffff<<16)

Definition at line 217 of file i810_drv.h.

#define START_ADDR   0x00FFFFF8

Definition at line 200 of file i810_drv.h.

#define TAIL_ADDR   0x000FFFF8

Definition at line 194 of file i810_drv.h.

#define WAIT_FOR_PLANE_A_FLIP   (1<<2)

Definition at line 240 of file i810_drv.h.

#define WAIT_FOR_PLANE_A_SCANLINES   (1<<1)

Definition at line 239 of file i810_drv.h.

#define WAIT_FOR_VBLANK   (1<<3)

Definition at line 241 of file i810_drv.h.

Typedef Documentation

Function Documentation

int i810_driver_device_is_agp ( struct drm_device dev)

Determine if the device really is AGP or not.

All Intel graphics chipsets are treated as AGP, even if they are really PCI-e.

Parameters
devThe device to be tested.
Returns
A value of 1 is always retured to indictate every i810 is AGP.

Definition at line 1275 of file i810_dma.c.

int i810_driver_dma_quiescent ( struct drm_device dev)

Definition at line 1238 of file i810_dma.c.

void i810_driver_lastclose ( struct drm_device dev)

Definition at line 1213 of file i810_dma.c.

int i810_driver_load ( struct drm_device ,
unsigned long  flags 
)

Definition at line 1199 of file i810_dma.c.

void i810_driver_preclose ( struct drm_device dev,
struct drm_file *  file_priv 
)

Definition at line 1218 of file i810_dma.c.

void i810_driver_reclaim_buffers ( struct drm_device dev,
struct drm_file *  file_priv 
)

Definition at line 886 of file i810_dma.c.

long i810_ioctl ( struct file file,
unsigned int  cmd,
unsigned long  arg 
)

Variable Documentation

struct drm_ioctl_desc i810_ioctls[]

Definition at line 1244 of file i810_dma.c.

int i810_max_ioctl

Definition at line 1262 of file i810_dma.c.