diff options
| author | Dave Airlie <airlied@redhat.com> | 2014-02-18 17:21:02 -0500 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2014-02-18 17:21:02 -0500 |
| commit | 9830e44f560de2f9f9453bb7f0eb2979b36ed139 (patch) | |
| tree | 7e6f24b1e3deec0742119b1d90696c0fa377a58c /drivers/gpu/drm | |
| parent | 560591f13e2f000977d887b31689f6b4d090ac4e (diff) | |
| parent | 36e952c1ed8ca44bca245c465c8293e175dd9222 (diff) | |
Merge tag 'vmwgfx-fixes-3.14-2014-02-18' of git://people.freedesktop.org/~thomash/linux into drm-fixes
Pull request of 2014-02-18.
Nothing special. The biggest change is adding a couple of command defines and
packing the command data correctly.
* tag 'vmwgfx-fixes-3.14-2014-02-18' of git://people.freedesktop.org/~thomash/linux:
drm/vmwgfx: Fix command defines and checks
drm/vmwgfx: Fix possible integer overflow
drm/vmwgfx: Remove stray const
drm/vmwgfx: unlock on error path in vmw_execbuf_process()
drm/vmwgfx: Get maximum mob size from register SVGA_REG_MOB_MAX_SIZE
drm/vmwgfx: Fix a couple of sparse warnings and errors
Diffstat (limited to 'drivers/gpu/drm')
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/svga3d_reg.h | 122 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/svga3d_surfacedefs.h | 11 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/svga_reg.h | 9 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_context.c | 9 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 9 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_shader.c | 16 |
9 files changed, 112 insertions, 71 deletions
diff --git a/drivers/gpu/drm/vmwgfx/svga3d_reg.h b/drivers/gpu/drm/vmwgfx/svga3d_reg.h index b645647b7776..bb594c11605e 100644 --- a/drivers/gpu/drm/vmwgfx/svga3d_reg.h +++ b/drivers/gpu/drm/vmwgfx/svga3d_reg.h | |||
| @@ -1223,9 +1223,19 @@ typedef enum { | |||
| 1223 | #define SVGA_3D_CMD_INVALIDATE_GB_IMAGE_PARTIAL 1129 | 1223 | #define SVGA_3D_CMD_INVALIDATE_GB_IMAGE_PARTIAL 1129 |
| 1224 | 1224 | ||
| 1225 | #define SVGA_3D_CMD_SET_GB_SHADERCONSTS_INLINE 1130 | 1225 | #define SVGA_3D_CMD_SET_GB_SHADERCONSTS_INLINE 1130 |
| 1226 | 1226 | #define SVGA_3D_CMD_GB_SCREEN_DMA 1131 | |
| 1227 | #define SVGA_3D_CMD_BIND_GB_SURFACE_WITH_PITCH 1132 | ||
| 1228 | #define SVGA_3D_CMD_GB_MOB_FENCE 1133 | ||
| 1229 | #define SVGA_3D_CMD_DEFINE_GB_SURFACE_V2 1134 | ||
| 1227 | #define SVGA_3D_CMD_DEFINE_GB_MOB64 1135 | 1230 | #define SVGA_3D_CMD_DEFINE_GB_MOB64 1135 |
| 1228 | #define SVGA_3D_CMD_REDEFINE_GB_MOB64 1136 | 1231 | #define SVGA_3D_CMD_REDEFINE_GB_MOB64 1136 |
| 1232 | #define SVGA_3D_CMD_NOP_ERROR 1137 | ||
| 1233 | |||
| 1234 | #define SVGA_3D_CMD_RESERVED1 1138 | ||
| 1235 | #define SVGA_3D_CMD_RESERVED2 1139 | ||
| 1236 | #define SVGA_3D_CMD_RESERVED3 1140 | ||
| 1237 | #define SVGA_3D_CMD_RESERVED4 1141 | ||
| 1238 | #define SVGA_3D_CMD_RESERVED5 1142 | ||
| 1229 | 1239 | ||
| 1230 | #define SVGA_3D_CMD_MAX 1142 | 1240 | #define SVGA_3D_CMD_MAX 1142 |
| 1231 | #define SVGA_3D_CMD_FUTURE_MAX 3000 | 1241 | #define SVGA_3D_CMD_FUTURE_MAX 3000 |
| @@ -1973,8 +1983,7 @@ struct { | |||
| 1973 | uint32 sizeInBytes; | 1983 | uint32 sizeInBytes; |
| 1974 | uint32 validSizeInBytes; | 1984 | uint32 validSizeInBytes; |
| 1975 | SVGAMobFormat ptDepth; | 1985 | SVGAMobFormat ptDepth; |
| 1976 | } | 1986 | } __packed |
| 1977 | __attribute__((__packed__)) | ||
| 1978 | SVGA3dCmdSetOTableBase; /* SVGA_3D_CMD_SET_OTABLE_BASE */ | 1987 | SVGA3dCmdSetOTableBase; /* SVGA_3D_CMD_SET_OTABLE_BASE */ |
| 1979 | 1988 | ||
| 1980 | typedef | 1989 | typedef |
| @@ -1984,15 +1993,13 @@ struct { | |||
| 1984 | uint32 sizeInBytes; | 1993 | uint32 sizeInBytes; |
| 1985 | uint32 validSizeInBytes; | 1994 | uint32 validSizeInBytes; |
| 1986 | SVGAMobFormat ptDepth; | 1995 | SVGAMobFormat ptDepth; |
| 1987 | } | 1996 | } __packed |
| 1988 | __attribute__((__packed__)) | ||
| 1989 | SVGA3dCmdSetOTableBase64; /* SVGA_3D_CMD_SET_OTABLE_BASE64 */ | 1997 | SVGA3dCmdSetOTableBase64; /* SVGA_3D_CMD_SET_OTABLE_BASE64 */ |
| 1990 | 1998 | ||
| 1991 | typedef | 1999 | typedef |
| 1992 | struct { | 2000 | struct { |
| 1993 | SVGAOTableType type; | 2001 | SVGAOTableType type; |
| 1994 | } | 2002 | } __packed |
| 1995 | __attribute__((__packed__)) | ||
| 1996 | SVGA3dCmdReadbackOTable; /* SVGA_3D_CMD_READBACK_OTABLE */ | 2003 | SVGA3dCmdReadbackOTable; /* SVGA_3D_CMD_READBACK_OTABLE */ |
| 1997 | 2004 | ||
| 1998 | /* | 2005 | /* |
| @@ -2005,8 +2012,7 @@ struct SVGA3dCmdDefineGBMob { | |||
| 2005 | SVGAMobFormat ptDepth; | 2012 | SVGAMobFormat ptDepth; |
| 2006 | PPN base; | 2013 | PPN base; |
| 2007 | uint32 sizeInBytes; | 2014 | uint32 sizeInBytes; |
| 2008 | } | 2015 | } __packed |
| 2009 | __attribute__((__packed__)) | ||
| 2010 | SVGA3dCmdDefineGBMob; /* SVGA_3D_CMD_DEFINE_GB_MOB */ | 2016 | SVGA3dCmdDefineGBMob; /* SVGA_3D_CMD_DEFINE_GB_MOB */ |
| 2011 | 2017 | ||
| 2012 | 2018 | ||
| @@ -2017,8 +2023,7 @@ SVGA3dCmdDefineGBMob; /* SVGA_3D_CMD_DEFINE_GB_MOB */ | |||
| 2017 | typedef | 2023 | typedef |
| 2018 | struct SVGA3dCmdDestroyGBMob { | 2024 | struct SVGA3dCmdDestroyGBMob { |
| 2019 | SVGAMobId mobid; | 2025 | SVGAMobId mobid; |
| 2020 | } | 2026 | } __packed |
| 2021 | __attribute__((__packed__)) | ||
| 2022 | SVGA3dCmdDestroyGBMob; /* SVGA_3D_CMD_DESTROY_GB_MOB */ | 2027 | SVGA3dCmdDestroyGBMob; /* SVGA_3D_CMD_DESTROY_GB_MOB */ |
| 2023 | 2028 | ||
| 2024 | /* | 2029 | /* |
| @@ -2031,8 +2036,7 @@ struct SVGA3dCmdRedefineGBMob { | |||
| 2031 | SVGAMobFormat ptDepth; | 2036 | SVGAMobFormat ptDepth; |
| 2032 | PPN base; | 2037 | PPN base; |
| 2033 | uint32 sizeInBytes; | 2038 | uint32 sizeInBytes; |
| 2034 | } | 2039 | } __packed |
| 2035 | __attribute__((__packed__)) | ||
| 2036 | SVGA3dCmdRedefineGBMob; /* SVGA_3D_CMD_REDEFINE_GB_MOB */ | 2040 | SVGA3dCmdRedefineGBMob; /* SVGA_3D_CMD_REDEFINE_GB_MOB */ |
| 2037 | 2041 | ||
| 2038 | /* | 2042 | /* |
| @@ -2045,8 +2049,7 @@ struct SVGA3dCmdDefineGBMob64 { | |||
| 2045 | SVGAMobFormat ptDepth; | 2049 | SVGAMobFormat ptDepth; |
| 2046 | PPN64 base; | 2050 | PPN64 base; |
| 2047 | uint32 sizeInBytes; | 2051 | uint32 sizeInBytes; |
| 2048 | } | 2052 | } __packed |
| 2049 | __attribute__((__packed__)) | ||
| 2050 | SVGA3dCmdDefineGBMob64; /* SVGA_3D_CMD_DEFINE_GB_MOB64 */ | 2053 | SVGA3dCmdDefineGBMob64; /* SVGA_3D_CMD_DEFINE_GB_MOB64 */ |
| 2051 | 2054 | ||
| 2052 | /* | 2055 | /* |
| @@ -2059,8 +2062,7 @@ struct SVGA3dCmdRedefineGBMob64 { | |||
| 2059 | SVGAMobFormat ptDepth; | 2062 | SVGAMobFormat ptDepth; |
| 2060 | PPN64 base; | 2063 | PPN64 base; |
| 2061 | uint32 sizeInBytes; | 2064 | uint32 sizeInBytes; |
| 2062 | } | 2065 | } __packed |
| 2063 | __attribute__((__packed__)) | ||
| 2064 | SVGA3dCmdRedefineGBMob64; /* SVGA_3D_CMD_REDEFINE_GB_MOB64 */ | 2066 | SVGA3dCmdRedefineGBMob64; /* SVGA_3D_CMD_REDEFINE_GB_MOB64 */ |
| 2065 | 2067 | ||
| 2066 | /* | 2068 | /* |
| @@ -2070,8 +2072,7 @@ SVGA3dCmdRedefineGBMob64; /* SVGA_3D_CMD_REDEFINE_GB_MOB64 */ | |||
| 2070 | typedef | 2072 | typedef |
| 2071 | struct SVGA3dCmdUpdateGBMobMapping { | 2073 | struct SVGA3dCmdUpdateGBMobMapping { |
| 2072 | SVGAMobId mobid; | 2074 | SVGAMobId mobid; |
| 2073 | } | 2075 | } __packed |
| 2074 | __attribute__((__packed__)) | ||
| 2075 | SVGA3dCmdUpdateGBMobMapping; /* SVGA_3D_CMD_UPDATE_GB_MOB_MAPPING */ | 2076 | SVGA3dCmdUpdateGBMobMapping; /* SVGA_3D_CMD_UPDATE_GB_MOB_MAPPING */ |
| 2076 | 2077 | ||
| 2077 | /* | 2078 | /* |
| @@ -2087,7 +2088,8 @@ struct SVGA3dCmdDefineGBSurface { | |||
| 2087 | uint32 multisampleCount; | 2088 | uint32 multisampleCount; |
| 2088 | SVGA3dTextureFilter autogenFilter; | 2089 | SVGA3dTextureFilter autogenFilter; |
| 2089 | SVGA3dSize size; | 2090 | SVGA3dSize size; |
| 2090 | } SVGA3dCmdDefineGBSurface; /* SVGA_3D_CMD_DEFINE_GB_SURFACE */ | 2091 | } __packed |
| 2092 | SVGA3dCmdDefineGBSurface; /* SVGA_3D_CMD_DEFINE_GB_SURFACE */ | ||
| 2091 | 2093 | ||
| 2092 | /* | 2094 | /* |
| 2093 | * Destroy a guest-backed surface. | 2095 | * Destroy a guest-backed surface. |
| @@ -2096,7 +2098,8 @@ struct SVGA3dCmdDefineGBSurface { | |||
| 2096 | typedef | 2098 | typedef |
| 2097 | struct SVGA3dCmdDestroyGBSurface { | 2099 | struct SVGA3dCmdDestroyGBSurface { |
| 2098 | uint32 sid; | 2100 | uint32 sid; |
| 2099 | } SVGA3dCmdDestroyGBSurface; /* SVGA_3D_CMD_DESTROY_GB_SURFACE */ | 2101 | } __packed |
| 2102 | SVGA3dCmdDestroyGBSurface; /* SVGA_3D_CMD_DESTROY_GB_SURFACE */ | ||
| 2100 | 2103 | ||
| 2101 | /* | 2104 | /* |
| 2102 | * Bind a guest-backed surface to an object. | 2105 | * Bind a guest-backed surface to an object. |
| @@ -2106,7 +2109,8 @@ typedef | |||
| 2106 | struct SVGA3dCmdBindGBSurface { | 2109 | struct SVGA3dCmdBindGBSurface { |
| 2107 | uint32 sid; | 2110 | uint32 sid; |
| 2108 | SVGAMobId mobid; | 2111 | SVGAMobId mobid; |
| 2109 | } SVGA3dCmdBindGBSurface; /* SVGA_3D_CMD_BIND_GB_SURFACE */ | 2112 | } __packed |
| 2113 | SVGA3dCmdBindGBSurface; /* SVGA_3D_CMD_BIND_GB_SURFACE */ | ||
| 2110 | 2114 | ||
| 2111 | /* | 2115 | /* |
| 2112 | * Conditionally bind a mob to a guest backed surface if testMobid | 2116 | * Conditionally bind a mob to a guest backed surface if testMobid |
| @@ -2123,7 +2127,7 @@ struct{ | |||
| 2123 | SVGAMobId testMobid; | 2127 | SVGAMobId testMobid; |
| 2124 | SVGAMobId mobid; | 2128 | SVGAMobId mobid; |
| 2125 | uint32 flags; | ||
