summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_bo.c
diff options
context:
space:
mode:
authorFrancisco Jerez2009-12-11 18:40:17 +0100
committerBen Skeggs2009-12-16 08:05:26 +0100
commit22fbd53809eb7a1b00fe09159fe0a565fb6c725c (patch)
tree7cd5b9d5d0a7ec9bb8fe69a7abc5ef0c7519a19e /drivers/gpu/drm/nouveau/nouveau_bo.c
parentdrm/nouveau: Add proper error handling to nouveau_card_init (diff)
downloadkernel-qcow2-linux-22fbd53809eb7a1b00fe09159fe0a565fb6c725c.tar.gz
kernel-qcow2-linux-22fbd53809eb7a1b00fe09159fe0a565fb6c725c.tar.xz
kernel-qcow2-linux-22fbd53809eb7a1b00fe09159fe0a565fb6c725c.zip
drm/nouveau: Fix up buffer eviction, and evict them to GART, if possible.
Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bo.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index aa2dfbc3e351..e9f01906c52e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -400,10 +400,16 @@ nouveau_bo_evict_flags(struct ttm_buffer_object *bo, struct ttm_placement *pl)
struct nouveau_bo *nvbo = nouveau_bo(bo);
switch (bo->mem.mem_type) {
+ case TTM_PL_VRAM:
+ nouveau_bo_placement_set(nvbo, TTM_PL_FLAG_TT |
+ TTM_PL_FLAG_SYSTEM);
+ break;
default:
nouveau_bo_placement_set(nvbo, TTM_PL_FLAG_SYSTEM);
break;
}
+
+ *pl = nvbo->placement;
}