i915: add new pciids for 945GME, 965GME/GLE
[safe/jmp/linux-2.6] / drivers / char / drm / via_drv.h
index 0606c75..b46ca8e 100644 (file)
 #ifndef _VIA_DRV_H_
 #define _VIA_DRV_H_
 
+#include "drm_sman.h"
 #define DRIVER_AUTHOR  "Various"
 
 #define DRIVER_NAME            "via"
 #define DRIVER_DESC            "VIA Unichrome / Pro"
-#define DRIVER_DATE            "20051022"
+#define DRIVER_DATE            "20070202"
 
 #define DRIVER_MAJOR           2
-#define DRIVER_MINOR           7
-#define DRIVER_PATCHLEVEL      2
+#define DRIVER_MINOR           11
+#define DRIVER_PATCHLEVEL      1
 
 #include "via_verifier.h"
 
@@ -78,19 +79,27 @@ typedef struct drm_via_private {
        char pci_buf[VIA_PCI_BUF_SIZE];
        const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE];
        uint32_t num_fire_offsets;
-       int pro_group_a;
+       int chipset;
        drm_via_irq_t via_irqs[VIA_NUM_IRQS];
        unsigned num_irqs;
        maskarray_t *irq_masks;
        uint32_t irq_enable_mask;
        uint32_t irq_pending_mask;
        int *irq_map;
+       unsigned int idle_fault;
+       drm_sman_t sman;
+       int vram_initialized;
+       int agp_initialized;
+       unsigned long vram_offset;
+       unsigned long agp_offset;
        drm_via_blitq_t blit_queues[VIA_NUM_BLIT_ENGINES];
+       uint32_t dma_diff;
 } drm_via_private_t;
 
 enum via_family {
-       VIA_OTHER = 0,
-       VIA_PRO_GROUP_A,
+  VIA_OTHER = 0,     /* Baseline */
+  VIA_PRO_GROUP_A,   /* Another video engine and DMA commands */
+  VIA_DX9_0          /* Same video as pro_group_a, but 3D is unsupported */
 };
 
 /* VIA MMIO register access */
@@ -110,11 +119,6 @@ extern int via_mem_free(DRM_IOCTL_ARGS);
 extern int via_agp_init(DRM_IOCTL_ARGS);
 extern int via_map_init(DRM_IOCTL_ARGS);
 extern int via_decoder_futex(DRM_IOCTL_ARGS);
-extern int via_dma_init(DRM_IOCTL_ARGS);
-extern int via_cmdbuffer(DRM_IOCTL_ARGS);
-extern int via_flush_ioctl(DRM_IOCTL_ARGS);
-extern int via_pci_cmdbuffer(DRM_IOCTL_ARGS);
-extern int via_cmdbuf_size(DRM_IOCTL_ARGS);
 extern int via_wait_irq(DRM_IOCTL_ARGS);
 extern int via_dma_blit_sync( DRM_IOCTL_ARGS );
 extern int via_dma_blit( DRM_IOCTL_ARGS );
@@ -139,8 +143,9 @@ extern int via_driver_dma_quiescent(drm_device_t * dev);
 extern void via_init_futex(drm_via_private_t * dev_priv);
 extern void via_cleanup_futex(drm_via_private_t * dev_priv);
 extern void via_release_futex(drm_via_private_t * dev_priv, int context);
-extern int via_driver_irq_wait(drm_device_t * dev, unsigned int irq,
-                              int force_sequence, unsigned int *sequence);
+
+extern void via_reclaim_buffers_locked(drm_device_t *dev, struct file *filp);
+extern void via_lastclose(drm_device_t *dev);
 
 extern void via_dmablit_handler(drm_device_t *dev, int engine, int from_irq);
 extern void via_init_dmablit(drm_device_t *dev);