From: Ben Skeggs Date: Wed, 16 Dec 2009 06:22:42 +0000 (+1000) Subject: drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=37cb3e08852be92d94e6a65c489bd8afa2e8a15f;p=openwrt%2Fstaging%2Fblogic.git drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag Signed-off-by: Ben Skeggs --- 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