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: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Thomas Hellström <thellstrom@vmware.com> Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-8-kraxel@redhat.com
This commit is contained in:
parent
133e880952
commit
293f86b365
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue