aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_drv.c')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_drv.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 61a84b958d67..b9c078860a7c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -801,11 +801,6 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
801 DRM_INFO("MMIO at 0x%08x size is %u kiB\n", 801 DRM_INFO("MMIO at 0x%08x size is %u kiB\n",
802 dev_priv->mmio_start, dev_priv->mmio_size / 1024); 802 dev_priv->mmio_start, dev_priv->mmio_size / 1024);
803 803
804 ret = vmw_ttm_global_init(dev_priv);
805 if (unlikely(ret != 0))
806 goto out_err0;
807
808
809 vmw_master_init(&dev_priv->fbdev_master); 804 vmw_master_init(&dev_priv->fbdev_master);
810 ttm_lock_set_kill(&dev_priv->fbdev_master.lock, false, SIGTERM); 805 ttm_lock_set_kill(&dev_priv->fbdev_master.lock, false, SIGTERM);
811 dev_priv->active_master = &dev_priv->fbdev_master; 806 dev_priv->active_master = &dev_priv->fbdev_master;
@@ -816,7 +811,7 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
816 if (unlikely(dev_priv->mmio_virt == NULL)) { 811 if (unlikely(dev_priv->mmio_virt == NULL)) {
817 ret = -ENOMEM; 812 ret = -ENOMEM;
818 DRM_ERROR("Failed mapping MMIO.\n"); 813 DRM_ERROR("Failed mapping MMIO.\n");
819 goto out_err3; 814 goto out_err0;
820 } 815 }
821 816
822 /* Need mmio memory to check for fifo pitchlock cap. */ 817 /* Need mmio memory to check for fifo pitchlock cap. */
@@ -828,8 +823,8 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
828 goto out_err4; 823 goto out_err4;
829 } 824 }
830 825
831 dev_priv->tdev = ttm_object_device_init 826 dev_priv->tdev = ttm_object_device_init(&ttm_mem_glob, 12,
832 (dev_priv->mem_global_ref.object, 12, &vmw_prime_dmabuf_ops); 827 &vmw_prime_dmabuf_ops);
833 828
834 if (unlikely(dev_priv->tdev == NULL)) { 829 if (unlikely(dev_priv->tdev == NULL)) {
835 DRM_ERROR("Unable to initialize TTM object management.\n"); 830 DRM_ERROR("Unable to initialize TTM object management.\n");
@@ -870,7 +865,6 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
870 } 865 }
871 866
872 ret = ttm_bo_device_init(&dev_priv->bdev, 867 ret = ttm_bo_device_init(&dev_priv->bdev,
873 dev_priv->bo_global_ref.ref.object,
874 &vmw_bo_driver, 868 &vmw_bo_driver,
875 dev->anon_inode->i_mapping, 869 dev->anon_inode->i_mapping,
876 VMWGFX_FILE_PAGE_OFFSET, 870 VMWGFX_FILE_PAGE_OFFSET,
@@ -992,8 +986,6 @@ out_no_device:
992 ttm_object_device_release(&dev_priv->tdev); 986 ttm_object_device_release(&dev_priv->tdev);
993out_err4: 987out_err4:
994 memunmap(dev_priv->mmio_virt); 988 memunmap(dev_priv->mmio_virt);
995out_err3:
996 vmw_ttm_global_release(dev_priv);
997out_err0: 989out_err0:
998 for (i = vmw_res_context; i < vmw_res_max; ++i) 990 for (i = vmw_res_context; i < vmw_res_max; ++i)
999 idr_destroy(&dev_priv->res_idr[i]); 991 idr_destroy(&dev_priv->res_idr[i]);
@@ -1045,7 +1037,6 @@ static void vmw_driver_unload(struct drm_device *dev)
1045 memunmap(dev_priv->mmio_virt); 1037 memunmap(dev_priv->mmio_virt);
1046 if (dev_priv->ctx.staged_bindings) 1038 if (dev_priv->ctx.staged_bindings)
1047 vmw_binding_state_free(dev_priv->ctx.staged_bindings); 1039 vmw_binding_state_free(dev_priv->ctx.staged_bindings);
1048 vmw_ttm_global_release(dev_priv);
1049 1040
1050 for (i = vmw_res_context; i < vmw_res_max; ++i) 1041 for (i = vmw_res_context; i < vmw_res_max; ++i)
1051 idr_destroy(&dev_priv->res_idr[i]); 1042 idr_destroy(&dev_priv->res_idr[i]);