[PATCH 2/2] radeon: attempt to fix active vram since 93225b0d7bc030f4a93165347a65893685822d70
Michel Dänzer
michel at daenzer.net
Sun Mar 13 05:19:30 PDT 2011
On Son, 2011-03-13 at 21:06 +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied at 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 at redhat.com>
> Cc: stable at 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.
I'm afraid the whole limits handling may need an overhaul...
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
More information about the dri-devel
mailing list