summaryrefslogtreecommitdiff
path: root/linux/i810_drv.h
diff options
context:
space:
mode:
authorGareth Hughes <gareth@users.sourceforge.net>2001-02-16 05:24:06 +0000
committerGareth Hughes <gareth@users.sourceforge.net>2001-02-16 05:24:06 +0000
commit01a14789edce0ce1cae0f3fd4328833399fae56d (patch)
tree455e6c689273e86516654df7b62e97a3131256d5 /linux/i810_drv.h
parent1d30ac11404c588e4a158d72f987c1fb3e478bea (diff)
- Clean up the way customization of the templates is done.ati-5-0-1-20010220-head
- Fix old-style DMA for gamma driver (please test). - Pull out IRQ handling into drm_dma.h (please test on i810, gamma). - Lots of general cleanups, remove compiler warnings etc.
Diffstat (limited to 'linux/i810_drv.h')
-rw-r--r--linux/i810_drv.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/linux/i810_drv.h b/linux/i810_drv.h
index e7824093..43d44e02 100644
--- a/linux/i810_drv.h
+++ b/linux/i810_drv.h
@@ -80,12 +80,6 @@ typedef struct drm_i810_private {
extern int i810_dma_schedule(drm_device_t *dev, int locked);
extern int i810_getbuf(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
-extern int i810_irq_install(drm_device_t *dev, int irq);
-extern int i810_irq_uninstall(drm_device_t *dev);
-extern int i810_control(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg);
-extern int i810_lock(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg);
extern int i810_dma_init(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
extern int i810_flush_ioctl(struct inode *inode, struct file *filp,
@@ -113,6 +107,19 @@ int i810_swap_bufs(struct inode *inode, struct file *filp,
int i810_clear_bufs(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
+
+#define I810_REG(reg) 2
+#define I810_BASE(reg) ((unsigned long) \
+ dev->maplist[I810_REG(reg)]->handle)
+#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 GFX_OP_USER_INTERRUPT ((0<<29)|(2<<23))
#define GFX_OP_BREAKPOINT_INTERRUPT ((0<<29)|(1<<23))
#define CMD_REPORT_HEAD (7<<23)