vserver 1.9.3
[linux-2.6.git] / drivers / char / drm / radeon_drv.h
index fd23aa2..5df7233 100644 (file)
@@ -60,6 +60,9 @@ typedef struct drm_radeon_depth_clear_t {
        u32 se_cntl;
 } drm_radeon_depth_clear_t;
 
+struct drm_radeon_driver_file_fields {
+       int64_t radeon_fb_delta;
+};
 
 struct mem_block {
        struct mem_block *next;
@@ -73,6 +76,8 @@ typedef struct drm_radeon_private {
        drm_radeon_ring_buffer_t ring;
        drm_radeon_sarea_t *sarea_priv;
 
+       u32 fb_location;
+
        int gart_size;
        u32 gart_vm_start;
        unsigned long gart_buffers_offset;
@@ -133,11 +138,9 @@ typedef struct drm_radeon_private {
        unsigned long gart_textures_offset;
 
        drm_local_map_t *sarea;
-       drm_local_map_t *fb;
        drm_local_map_t *mmio;
        drm_local_map_t *cp_ring;
        drm_local_map_t *ring_rptr;
-       drm_local_map_t *buffers;
        drm_local_map_t *gart_textures;
 
        struct mem_block *gart_heap;
@@ -184,6 +187,7 @@ extern int radeon_cp_indirect( DRM_IOCTL_ARGS );
 extern int radeon_cp_vertex2( DRM_IOCTL_ARGS );
 extern int radeon_cp_cmdbuf( DRM_IOCTL_ARGS );
 extern int radeon_cp_getparam( DRM_IOCTL_ARGS );
+extern int radeon_cp_setparam( DRM_IOCTL_ARGS );
 extern int radeon_cp_flip( DRM_IOCTL_ARGS );
 
 extern int radeon_mem_alloc( DRM_IOCTL_ARGS );
@@ -201,6 +205,11 @@ extern int radeon_wait_irq(drm_device_t *dev, int swi_nr);
 extern int radeon_emit_irq(drm_device_t *dev);
 
 extern void radeon_do_release(drm_device_t *dev);
+extern int radeon_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence);
+extern irqreturn_t radeon_driver_irq_handler( DRM_IRQ_ARGS );
+extern void radeon_driver_irq_preinstall( drm_device_t *dev );
+extern void radeon_driver_irq_postinstall( drm_device_t *dev );
+extern void radeon_driver_irq_uninstall( drm_device_t *dev );
 
 /* Flags for stats.boxes
  */
@@ -239,6 +248,7 @@ extern void radeon_do_release(drm_device_t *dev);
 #define RADEON_CRTC2_OFFSET            0x0324
 #define RADEON_CRTC2_OFFSET_CNTL       0x0328
 
+#define RADEON_RB3D_COLOROFFSET                0x1c40
 #define RADEON_RB3D_COLORPITCH         0x1c48
 
 #define RADEON_DP_GUI_MASTER_CNTL      0x146c
@@ -332,6 +342,7 @@ extern void radeon_do_release(drm_device_t *dev);
 #define RADEON_PP_MISC                 0x1c14
 #define RADEON_PP_ROT_MATRIX_0         0x1d58
 #define RADEON_PP_TXFILTER_0           0x1c54
+#define RADEON_PP_TXOFFSET_0           0x1c5c
 #define RADEON_PP_TXFILTER_1           0x1c6c
 #define RADEON_PP_TXFILTER_2           0x1c84
 
@@ -686,6 +697,7 @@ extern void radeon_do_release(drm_device_t *dev);
 #define R200_SE_VTX_FMT_1                 0x208c
 #define R200_RE_CNTL                      0x1c50 
 
+#define R200_RB3D_BLENDCOLOR              0x3218
 
 /* Constants */
 #define RADEON_MAX_USEC_TIMEOUT                100000  /* 100 ms */
@@ -882,7 +894,7 @@ do {                                                                        \
 
 #define OUT_RING_USER_TABLE( tab, sz ) do {                    \
        int _size = (sz);                                       \
-       int *_tab = (tab);                                      \
+       int __user *_tab = (tab);                                       \
                                                                \
        if (write + _size > mask) {                             \
                int i = (mask+1) - write;                       \