]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
vmwgfx: Enable use of the vblank system
[net-next-2.6.git] / drivers / gpu / drm / vmwgfx / vmwgfx_drv.h
index eaad520953393f5f5da3601627e0ec141c4c4a1f..58de6393f611dd79fbbebeab81102dcf0f4abfcb 100644 (file)
@@ -164,7 +164,7 @@ struct vmw_vga_topology_state {
 struct vmw_private {
        struct ttm_bo_device bdev;
        struct ttm_bo_global_ref bo_global_ref;
-       struct ttm_global_reference mem_global_ref;
+       struct drm_global_reference mem_global_ref;
 
        struct vmw_fifo_state fifo;
 
@@ -277,6 +277,7 @@ struct vmw_private {
 
        bool stealth;
        bool is_opened;
+       bool enable_fb;
 
        /**
         * Master management.
@@ -285,6 +286,9 @@ struct vmw_private {
        struct vmw_master *active_master;
        struct vmw_master fbdev_master;
        struct notifier_block pm_nb;
+
+       struct mutex release_mutex;
+       uint32_t num_3d_resources;
 };
 
 static inline struct vmw_private *vmw_priv(struct drm_device *dev)
@@ -319,6 +323,9 @@ static inline uint32_t vmw_read(struct vmw_private *dev_priv,
        return val;
 }
 
+int vmw_3d_resource_inc(struct vmw_private *dev_priv);
+void vmw_3d_resource_dec(struct vmw_private *dev_priv);
+
 /**
  * GMR utilities - vmwgfx_gmr.c
  */
@@ -511,6 +518,7 @@ void vmw_kms_write_svga(struct vmw_private *vmw_priv,
                        unsigned bbp, unsigned depth);
 int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
                                struct drm_file *file_priv);
+u32 vmw_get_vblank_counter(struct drm_device *dev, int crtc);
 
 /**
  * Overlay control - vmwgfx_overlay.c