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

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
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -827,10 +827,13 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
		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,
				 &vmw_bo_driver,
				 dev->anon_inode->i_mapping,
				 NULL,
				 &dev_priv->vma_manager,
				 false);
	if (unlikely(ret != 0)) {
		DRM_ERROR("Failed initializing TTM buffer object driver.\n");
@@ -987,6 +990,7 @@ static void vmw_driver_unload(struct drm_device *dev)
	if (dev_priv->has_mob)
		(void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB);
	(void) ttm_bo_device_release(&dev_priv->bdev);
	drm_vma_offset_manager_destroy(&dev_priv->vma_manager);
	vmw_release_device_late(dev_priv);
	vmw_fence_manager_takedown(dev_priv->fman);
	if (dev_priv->capabilities & SVGA_CAP_IRQMASK)
+1 −0
Original line number Diff line number Diff line
@@ -420,6 +420,7 @@ struct vmw_private {
	struct vmw_fifo_state fifo;

	struct drm_device *dev;
	struct drm_vma_offset_manager vma_manager;
	unsigned long vmw_chipset;
	unsigned int io_start;
	uint32_t vram_start;