summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm/ttm_bo_manager.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-07-03 09:02:23 +0200
committerDave Airlie <airlied@redhat.com>2014-07-08 11:15:58 +1000
commite3f202798aaa808e7a38faa8c3a9f0aa93b85cc0 (patch)
tree3eac926b195d382c73a900c2eae11137aab9cf09 /drivers/gpu/drm/ttm/ttm_bo_manager.c
parent4e4e7dc55af5aa62497ac060e3cfd143bd4b4db3 (diff)
downloadlwn-e3f202798aaa808e7a38faa8c3a9f0aa93b85cc0.tar.gz
lwn-e3f202798aaa808e7a38faa8c3a9f0aa93b85cc0.zip
drm/ttm: fix handling of TTM_PL_FLAG_TOPDOWN v2
bo->mem.placement is not initialized when ttm_bo_man_get_node is called, so the flag had no effect at all. v2: change nouveau and vmwgfx as well Signed-off-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_manager.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo_manager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_manager.c b/drivers/gpu/drm/ttm/ttm_bo_manager.c
index bd850c9f4bca..9e103a4875c8 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_manager.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_manager.c
@@ -50,6 +50,7 @@ struct ttm_range_manager {
static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man,
struct ttm_buffer_object *bo,
struct ttm_placement *placement,
+ uint32_t flags,
struct ttm_mem_reg *mem)
{
struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv;
@@ -67,7 +68,7 @@ static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man,
if (!node)
return -ENOMEM;
- if (bo->mem.placement & TTM_PL_FLAG_TOPDOWN)
+ if (flags & TTM_PL_FLAG_TOPDOWN)
aflags = DRM_MM_CREATE_TOP;
spin_lock(&rman->lock);