diff options
author | Gareth Hughes <gareth@users.sourceforge.net> | 2001-02-16 05:24:06 +0000 |
---|---|---|
committer | Gareth Hughes <gareth@users.sourceforge.net> | 2001-02-16 05:24:06 +0000 |
commit | 01a14789edce0ce1cae0f3fd4328833399fae56d (patch) | |
tree | 455e6c689273e86516654df7b62e97a3131256d5 /linux/i810_drv.h | |
parent | 1d30ac11404c588e4a158d72f987c1fb3e478bea (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.h | 19 |
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) |