Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
vmwgfx_drv.c File Reference
#include <linux/module.h>
#include <drm/drmP.h>
#include "vmwgfx_drv.h"
#include <drm/ttm/ttm_placement.h>
#include <drm/ttm/ttm_bo_driver.h>
#include <drm/ttm/ttm_object.h>
#include <drm/ttm/ttm_module.h>

Go to the source code of this file.

Macros

#define VMWGFX_DRIVER_NAME   "vmwgfx"
 
#define VMWGFX_DRIVER_DESC   "Linux drm driver for VMware graphics devices"
 
#define VMWGFX_CHIP_SVGAII   0
 
#define VMW_FB_RESERVATION   0
 
#define VMW_MIN_INITIAL_WIDTH   800
 
#define VMW_MIN_INITIAL_HEIGHT   600
 
#define DRM_IOCTL_VMW_GET_PARAM
 
#define DRM_IOCTL_VMW_ALLOC_DMABUF
 
#define DRM_IOCTL_VMW_UNREF_DMABUF
 
#define DRM_IOCTL_VMW_CURSOR_BYPASS
 
#define DRM_IOCTL_VMW_CONTROL_STREAM
 
#define DRM_IOCTL_VMW_CLAIM_STREAM
 
#define DRM_IOCTL_VMW_UNREF_STREAM
 
#define DRM_IOCTL_VMW_CREATE_CONTEXT
 
#define DRM_IOCTL_VMW_UNREF_CONTEXT
 
#define DRM_IOCTL_VMW_CREATE_SURFACE
 
#define DRM_IOCTL_VMW_UNREF_SURFACE
 
#define DRM_IOCTL_VMW_REF_SURFACE
 
#define DRM_IOCTL_VMW_EXECBUF
 
#define DRM_IOCTL_VMW_GET_3D_CAP
 
#define DRM_IOCTL_VMW_FENCE_WAIT
 
#define DRM_IOCTL_VMW_FENCE_SIGNALED
 
#define DRM_IOCTL_VMW_FENCE_UNREF
 
#define DRM_IOCTL_VMW_FENCE_EVENT
 
#define DRM_IOCTL_VMW_PRESENT
 
#define DRM_IOCTL_VMW_PRESENT_READBACK
 
#define DRM_IOCTL_VMW_UPDATE_LAYOUT
 
#define VMW_IOCTL_DEF(ioctl, func, flags)   [DRM_IOCTL_NR(DRM_IOCTL_##ioctl) - DRM_COMMAND_BASE] = {DRM_##ioctl, flags, func, DRM_IOCTL_##ioctl}
 

Functions

 MODULE_DEVICE_TABLE (pci, vmw_pci_id_list)
 
 MODULE_PARM_DESC (enable_fbdev,"Enable vmwgfx fbdev")
 
 module_param_named (enable_fbdev, enable_fbdev, int, 0600)
 
int vmw_3d_resource_inc (struct vmw_private *dev_priv, bool unhide_svga)
 
void vmw_3d_resource_dec (struct vmw_private *dev_priv, bool hide_svga)
 
 module_init (vmwgfx_init)
 
 module_exit (vmwgfx_exit)
 
 MODULE_AUTHOR ("VMware Inc. and others")
 
 MODULE_DESCRIPTION ("Standalone drm driver for the VMware SVGA device")
 
 MODULE_LICENSE ("GPL and additional rights")
 
 MODULE_VERSION (__stringify(VMWGFX_DRIVER_MAJOR)"."__stringify(VMWGFX_DRIVER_MINOR)"."__stringify(VMWGFX_DRIVER_PATCHLEVEL)".""0")
 

Macro Definition Documentation

#define DRM_IOCTL_VMW_ALLOC_DMABUF
#define DRM_IOCTL_VMW_CLAIM_STREAM
Value:

Definition at line 65 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_CONTROL_STREAM
#define DRM_IOCTL_VMW_CREATE_CONTEXT
Value:

Definition at line 72 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_CREATE_SURFACE
#define DRM_IOCTL_VMW_CURSOR_BYPASS
#define DRM_IOCTL_VMW_EXECBUF
Value:

Definition at line 87 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_FENCE_EVENT
Value:

Definition at line 102 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_FENCE_SIGNALED
#define DRM_IOCTL_VMW_FENCE_UNREF
Value:

Definition at line 99 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_FENCE_WAIT
Value:

Definition at line 93 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_GET_3D_CAP
Value:

Definition at line 90 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_GET_PARAM
Value:

Fully encoded drm commands. Might move to vmw_drm.h

Definition at line 49 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_PRESENT
Value:

Definition at line 105 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_PRESENT_READBACK
#define DRM_IOCTL_VMW_REF_SURFACE
#define DRM_IOCTL_VMW_UNREF_CONTEXT
Value:

Definition at line 75 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_UNREF_DMABUF
Value:

Definition at line 55 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_UNREF_STREAM
Value:

Definition at line 68 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_UNREF_SURFACE
Value:

Definition at line 81 of file vmwgfx_drv.c.

#define DRM_IOCTL_VMW_UPDATE_LAYOUT
#define VMW_FB_RESERVATION   0

Definition at line 39 of file vmwgfx_drv.c.

#define VMW_IOCTL_DEF (   ioctl,
  func,
  flags 
)    [DRM_IOCTL_NR(DRM_IOCTL_##ioctl) - DRM_COMMAND_BASE] = {DRM_##ioctl, flags, func, DRM_IOCTL_##ioctl}

The core DRM version of this macro doesn't account for DRM_COMMAND_BASE.

Definition at line 120 of file vmwgfx_drv.c.

#define VMW_MIN_INITIAL_HEIGHT   600

Definition at line 42 of file vmwgfx_drv.c.

#define VMW_MIN_INITIAL_WIDTH   800

Definition at line 41 of file vmwgfx_drv.c.

#define VMWGFX_CHIP_SVGAII   0

Definition at line 38 of file vmwgfx_drv.c.

#define VMWGFX_DRIVER_DESC   "Linux drm driver for VMware graphics devices"

Definition at line 37 of file vmwgfx_drv.c.

#define VMWGFX_DRIVER_NAME   "vmwgfx"

Definition at line 36 of file vmwgfx_drv.c.

Function Documentation

MODULE_AUTHOR ( "VMware Inc. and others"  )
MODULE_DESCRIPTION ( "Standalone drm driver for the VMware SVGA device )
MODULE_DEVICE_TABLE ( pci  ,
vmw_pci_id_list   
)
module_exit ( vmwgfx_exit  )
module_init ( vmwgfx_init  )
MODULE_LICENSE ( "GPL and additional rights"  )
module_param_named ( enable_fbdev  ,
enable_fbdev  ,
int  ,
0600   
)
MODULE_PARM_DESC ( enable_fbdev  ,
"Enable vmwgfx fbdev  
)
void vmw_3d_resource_dec ( struct vmw_private dev_priv,
bool  hide_svga 
)

Decrease the 3d resource refcount. If the count reaches zero, disable the fifo, switching to vga mode. Note that the master holds a refcount as well, and may request an explicit switch to vga mode when it releases its refcount to account for the situation of an X server vt switch to VGA with 3d resources active.

Definition at line 373 of file vmwgfx_drv.c.

int vmw_3d_resource_inc ( struct vmw_private dev_priv,
bool  unhide_svga 
)

Increase the 3d resource refcount. If the count was prevously zero, initialize the fifo, switching to svga mode. Note that the master holds a ref as well, and may request an explicit switch to svga mode if fb is not running, using .

Definition at line 343 of file vmwgfx_drv.c.