drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM.
authorMichel Dänzer <daenzer@vmware.com>
Fri, 26 Mar 2010 19:18:55 +0000 (19:18 +0000)
committerDave Airlie <airlied@redhat.com>
Wed, 31 Mar 2010 03:12:59 +0000 (13:12 +1000)
This prevented radeon.test=1 from testing transfers from/to GTT beyond the
visible VRAM size.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_object.c

index fc9d00ac6b15ff68494c437dd758aff4f3214f66..dc7e3f44913869da0a518b44a44237ec75df76e2 100644 (file)
@@ -185,8 +185,10 @@ int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr)
                return 0;
        }
        radeon_ttm_placement_from_domain(bo, domain);
-       /* force to pin into visible video ram */
-       bo->placement.lpfn = bo->rdev->mc.visible_vram_size >> PAGE_SHIFT;
+       if (domain == RADEON_GEM_DOMAIN_VRAM) {
+               /* force to pin into visible video ram */
+               bo->placement.lpfn = bo->rdev->mc.visible_vram_size >> PAGE_SHIFT;
+       }
        for (i = 0; i < bo->placement.num_placement; i++)
                bo->placements[i] |= TTM_PL_FLAG_NO_EVICT;
        r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false);