Explorar o código

drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs %!s(int64=15) %!d(string=hai) anos
pai
achega
37cb3e0885
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      drivers/gpu/drm/nouveau/nouveau_bo.c

+ 5 - 0
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