Commit edb89984 authored by Dave Airlie's avatar Dave Airlie

drm/vmwgfx: fix regression in thp code due to ttm init refactor.

When I refactored this code with the new init paths, I failed to
set the funcs back up properly, this caused a failure to bringup
gdm properly.

Fixes: 252f8d7b ("drm/vmwgfx/ttm: convert vram mm init to new code paths")
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201001042012.13114-1-airlied@gmail.com
parent 2101bfca
...@@ -26,6 +26,8 @@ static struct vmw_thp_manager *to_thp_manager(struct ttm_resource_manager *man) ...@@ -26,6 +26,8 @@ static struct vmw_thp_manager *to_thp_manager(struct ttm_resource_manager *man)
return container_of(man, struct vmw_thp_manager, manager); return container_of(man, struct vmw_thp_manager, manager);
} }
static const struct ttm_resource_manager_func vmw_thp_func;
static int vmw_thp_insert_aligned(struct drm_mm *mm, struct drm_mm_node *node, static int vmw_thp_insert_aligned(struct drm_mm *mm, struct drm_mm_node *node,
unsigned long align_pages, unsigned long align_pages,
const struct ttm_place *place, const struct ttm_place *place,
...@@ -132,6 +134,7 @@ int vmw_thp_init(struct vmw_private *dev_priv) ...@@ -132,6 +134,7 @@ int vmw_thp_init(struct vmw_private *dev_priv)
ttm_resource_manager_init(&rman->manager, ttm_resource_manager_init(&rman->manager,
dev_priv->vram_size >> PAGE_SHIFT); dev_priv->vram_size >> PAGE_SHIFT);
rman->manager.func = &vmw_thp_func;
drm_mm_init(&rman->mm, 0, rman->manager.size); drm_mm_init(&rman->mm, 0, rman->manager.size);
spin_lock_init(&rman->lock); spin_lock_init(&rman->lock);
...@@ -171,7 +174,7 @@ static void vmw_thp_debug(struct ttm_resource_manager *man, ...@@ -171,7 +174,7 @@ static void vmw_thp_debug(struct ttm_resource_manager *man,
spin_unlock(&rman->lock); spin_unlock(&rman->lock);
} }
const struct ttm_resource_manager_func vmw_thp_func = { static const struct ttm_resource_manager_func vmw_thp_func = {
.alloc = vmw_thp_get_node, .alloc = vmw_thp_get_node,
.free = vmw_thp_put_node, .free = vmw_thp_put_node,
.debug = vmw_thp_debug .debug = vmw_thp_debug
......
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