diff options
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_drv.c')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 15 |
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); |
993 | out_err4: | 987 | out_err4: |
994 | memunmap(dev_priv->mmio_virt); | 988 | memunmap(dev_priv->mmio_virt); |
995 | out_err3: | ||
996 | vmw_ttm_global_release(dev_priv); | ||
997 | out_err0: | 989 | out_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]); |