summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_bo.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2009-12-16 07:22:42 +0100
committerBen Skeggs <bskeggs@redhat.com>2009-12-16 08:06:13 +0100
commit37cb3e08852be92d94e6a65c489bd8afa2e8a15f (patch)
tree5cddc65127fb04cc8841fe039251ac02cfec1926 /drivers/gpu/drm/nouveau/nouveau_bo.c
parentdrm/nv50: fix suspend/resume delays without firmware present (diff)
downloadlinux-37cb3e08852be92d94e6a65c489bd8afa2e8a15f.tar.xz
linux-37cb3e08852be92d94e6a65c489bd8afa2e8a15f.zip
drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag
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.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 2f5d47021106..0cad6d834eb2 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -154,6 +154,11 @@ nouveau_bo_placement_set(struct nouveau_bo *nvbo, uint32_t memtype)
nvbo->placement.busy_placement = nvbo->placements;
nvbo->placement.num_placement = n;
nvbo->placement.num_busy_placement = n;
+
+ if (nvbo->pin_refcnt) {
+ while (n--)
+ nvbo->placements[n] |= TTM_PL_FLAG_NO_EVICT;
+ }
}
int