Commit 293f86b3 authored by Gerd Hoffmann's avatar Gerd Hoffmann

drm/vmwgfx: switch to own vma manager

Add struct drm_vma_offset_manager to vma_private, initialize it and
pass it to ttm_bo_device_init().

With this in place the last user of ttm's embedded vma offset manager
is gone and we can remove it (in a separate patch).
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: default avatarThomas Hellström <thellstrom@vmware.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-8-kraxel@redhat.com
parent 133e8809
...@@ -827,10 +827,13 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset) ...@@ -827,10 +827,13 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
goto out_no_fman; goto out_no_fman;
} }
drm_vma_offset_manager_init(&dev_priv->vma_manager,
DRM_FILE_PAGE_OFFSET_START,
DRM_FILE_PAGE_OFFSET_SIZE);
ret = ttm_bo_device_init(&dev_priv->bdev, ret = ttm_bo_device_init(&dev_priv->bdev,
&vmw_bo_driver, &vmw_bo_driver,
dev->anon_inode->i_mapping, dev->anon_inode->i_mapping,
NULL, &dev_priv->vma_manager,
false); false);
if (unlikely(ret != 0)) { if (unlikely(ret != 0)) {
DRM_ERROR("Failed initializing TTM buffer object driver.\n"); DRM_ERROR("Failed initializing TTM buffer object driver.\n");
...@@ -987,6 +990,7 @@ static void vmw_driver_unload(struct drm_device *dev) ...@@ -987,6 +990,7 @@ static void vmw_driver_unload(struct drm_device *dev)
if (dev_priv->has_mob) if (dev_priv->has_mob)
(void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB); (void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB);
(void) ttm_bo_device_release(&dev_priv->bdev); (void) ttm_bo_device_release(&dev_priv->bdev);
drm_vma_offset_manager_destroy(&dev_priv->vma_manager);
vmw_release_device_late(dev_priv); vmw_release_device_late(dev_priv);
vmw_fence_manager_takedown(dev_priv->fman); vmw_fence_manager_takedown(dev_priv->fman);
if (dev_priv->capabilities & SVGA_CAP_IRQMASK) if (dev_priv->capabilities & SVGA_CAP_IRQMASK)
......
...@@ -420,6 +420,7 @@ struct vmw_private { ...@@ -420,6 +420,7 @@ struct vmw_private {
struct vmw_fifo_state fifo; struct vmw_fifo_state fifo;
struct drm_device *dev; struct drm_device *dev;
struct drm_vma_offset_manager vma_manager;
unsigned long vmw_chipset; unsigned long vmw_chipset;
unsigned int io_start; unsigned int io_start;
uint32_t vram_start; uint32_t vram_start;
......
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