On Son, 2011-03-13 at 13:19 +0100, Michel Dänzer wrote:
On Son, 2011-03-13 at 21:06 +1000, Dave Airlie wrote:
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)
This can spuriously limit the BO to active_vram_size in GTT again.
On second thought, I don't understand why this would be necessary / helpful at all. If active_vram_size is the maximum amount of VRAM that should ever be used anywhere (as opposed to the maximum amount visible to the CPU, which I was thinking of before), why is the VRAM ttm_mem_type_manager size field larger than that in the first place?