[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