Commit 49e893b5 authored by Dave Airlie's avatar Dave Airlie

Merge tag 'vmwgfx-fixes-3.14-2014-03-02' of...

Merge tag 'vmwgfx-fixes-3.14-2014-03-02' of git://people.freedesktop.org/~thomash/linux into drm-fixes

A couple of minor fixes.

Pull request of 2014-03-02

* tag 'vmwgfx-fixes-3.14-2014-03-02' of git://people.freedesktop.org/~thomash/linux:
  drm/vmwgfx: avoid null pointer dereference at failure paths
  drm/vmwgfx: Make sure backing mobs are cleared when allocated. Update driver date.
  drm/vmwgfx: Remove some unused surface formats
parents b0447888 6950e23e
...@@ -261,12 +261,7 @@ typedef enum SVGA3dSurfaceFormat { ...@@ -261,12 +261,7 @@ typedef enum SVGA3dSurfaceFormat {
/* Planar video formats. */ /* Planar video formats. */
SVGA3D_YV12 = 121, SVGA3D_YV12 = 121,
/* Shader constant formats. */ SVGA3D_FORMAT_MAX = 122,
SVGA3D_SURFACE_SHADERCONST_FLOAT = 122,
SVGA3D_SURFACE_SHADERCONST_INT = 123,
SVGA3D_SURFACE_SHADERCONST_BOOL = 124,
SVGA3D_FORMAT_MAX = 125,
} SVGA3dSurfaceFormat; } SVGA3dSurfaceFormat;
typedef uint32 SVGA3dColor; /* a, r, g, b */ typedef uint32 SVGA3dColor; /* a, r, g, b */
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include <drm/ttm/ttm_module.h> #include <drm/ttm/ttm_module.h>
#include "vmwgfx_fence.h" #include "vmwgfx_fence.h"
#define VMWGFX_DRIVER_DATE "20121114" #define VMWGFX_DRIVER_DATE "20140228"
#define VMWGFX_DRIVER_MAJOR 2 #define VMWGFX_DRIVER_MAJOR 2
#define VMWGFX_DRIVER_MINOR 5 #define VMWGFX_DRIVER_MINOR 5
#define VMWGFX_DRIVER_PATCHLEVEL 0 #define VMWGFX_DRIVER_PATCHLEVEL 0
......
...@@ -188,9 +188,10 @@ static void vmw_takedown_otable_base(struct vmw_private *dev_priv, ...@@ -188,9 +188,10 @@ static void vmw_takedown_otable_base(struct vmw_private *dev_priv,
bo = otable->page_table->pt_bo; bo = otable->page_table->pt_bo;
cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd));
if (unlikely(cmd == NULL)) if (unlikely(cmd == NULL)) {
DRM_ERROR("Failed reserving FIFO space for OTable setup.\n"); DRM_ERROR("Failed reserving FIFO space for OTable "
"takedown.\n");
} else {
memset(cmd, 0, sizeof(*cmd)); memset(cmd, 0, sizeof(*cmd));
cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE; cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE;
cmd->header.size = sizeof(cmd->body); cmd->header.size = sizeof(cmd->body);
...@@ -200,6 +201,7 @@ static void vmw_takedown_otable_base(struct vmw_private *dev_priv, ...@@ -200,6 +201,7 @@ static void vmw_takedown_otable_base(struct vmw_private *dev_priv,
cmd->body.validSizeInBytes = 0; cmd->body.validSizeInBytes = 0;
cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID; cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID;
vmw_fifo_commit(dev_priv, sizeof(*cmd)); vmw_fifo_commit(dev_priv, sizeof(*cmd));
}
if (bo) { if (bo) {
int ret; int ret;
...@@ -562,11 +564,12 @@ void vmw_mob_unbind(struct vmw_private *dev_priv, ...@@ -562,11 +564,12 @@ void vmw_mob_unbind(struct vmw_private *dev_priv,
if (unlikely(cmd == NULL)) { if (unlikely(cmd == NULL)) {
DRM_ERROR("Failed reserving FIFO space for Memory " DRM_ERROR("Failed reserving FIFO space for Memory "
"Object unbinding.\n"); "Object unbinding.\n");
} } else {
cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB; cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB;
cmd->header.size = sizeof(cmd->body); cmd->header.size = sizeof(cmd->body);
cmd->body.mobid = mob->id; cmd->body.mobid = mob->id;
vmw_fifo_commit(dev_priv, sizeof(*cmd)); vmw_fifo_commit(dev_priv, sizeof(*cmd));
}
if (bo) { if (bo) {
vmw_fence_single_bo(bo, NULL); vmw_fence_single_bo(bo, NULL);
ttm_bo_unreserve(bo); ttm_bo_unreserve(bo);
......
...@@ -427,8 +427,7 @@ int vmw_dmabuf_init(struct vmw_private *dev_priv, ...@@ -427,8 +427,7 @@ int vmw_dmabuf_init(struct vmw_private *dev_priv,
INIT_LIST_HEAD(&vmw_bo->res_list); INIT_LIST_HEAD(&vmw_bo->res_list);
ret = ttm_bo_init(bdev, &vmw_bo->base, size, ret = ttm_bo_init(bdev, &vmw_bo->base, size,
(user) ? ttm_bo_type_device : ttm_bo_type_device, placement,
ttm_bo_type_kernel, placement,
0, interruptible, 0, interruptible,
NULL, acc_size, NULL, bo_free); NULL, acc_size, NULL, bo_free);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment