summaryrefslogtreecommitdiff
path: root/shared/via_drv.h
diff options
context:
space:
mode:
Diffstat (limited to 'shared/via_drv.h')
-rw-r--r--shared/via_drv.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/shared/via_drv.h b/shared/via_drv.h
index 9677b7f3..582eb6de 100644
--- a/shared/via_drv.h
+++ b/shared/via_drv.h
@@ -27,6 +27,11 @@
#include "via_drm.h"
+typedef struct drm_via_ring_buffer {
+ drm_map_t map;
+ char * virtual_start;
+} drm_via_ring_buffer_t;
+
typedef struct drm_via_private {
drm_via_sarea_t *sarea_priv;
drm_map_t *sarea;
@@ -34,6 +39,13 @@ typedef struct drm_via_private {
drm_map_t *mmio;
unsigned long agpAddr;
wait_queue_head_t decoder_queue[VIA_NR_XVMC_LOCKS];
+ char * dma_ptr;
+ unsigned int dma_low;
+ unsigned int dma_high;
+ unsigned int dma_offset;
+ uint32_t * last_pause_ptr;
+ volatile uint32_t * hw_addr_ptr;
+ drm_via_ring_buffer_t ring;
} drm_via_private_t;
@@ -53,4 +65,6 @@ extern int via_do_cleanup_map(drm_device_t *dev);
extern int via_map_init(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
+extern int via_dma_cleanup(drm_device_t *dev);
+
#endif