From: Dave Airlie airlied@redhat.com
Iterations of this patch seemed to break active vram, this seems like a good plan for it.
second attempt to fix: https://bugs.freedesktop.org/show_bug.cgi?id=35254
Reported-by: Michael Larabel @ phoronix Signed-off-by: Dave Airlie airlied@redhat.com Cc: stable@kernel.org --- drivers/gpu/drm/radeon/radeon_object.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 7d6b8e8..620c321 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -73,9 +73,11 @@ void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) rbo->placement.lpfn = 0; rbo->placement.placement = rbo->placements; rbo->placement.busy_placement = rbo->placements; - if (domain & RADEON_GEM_DOMAIN_VRAM) + if (domain & RADEON_GEM_DOMAIN_VRAM) { rbo->placements[c++] = TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM; + rbo->placement.lpfn = rbo->rdev->mc.active_vram_size >> PAGE_SHIFT; + } if (domain & RADEON_GEM_DOMAIN_GTT) rbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; if (domain & RADEON_GEM_DOMAIN_CPU)