aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_gem.c
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-08-04 18:19:51 -0400
committerDave Airlie <airlied@redhat.com>2009-12-01 20:37:10 -0500
commit38e1492130c42ac806ffd8b21ccf64eb1c997d10 (patch)
treeb83e8f1c23148a7b46ef39691b0bbbe7fcbeb347 /drivers/gpu/drm/radeon/radeon_gem.c
parent47381156a8f0d793bacfa346cc4cc515399525f7 (diff)
drm/radeon: Give userspace more accurate information about available memory.
This patch varies from the original and just removes memory for kernel pinned objects. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_gem.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_gem.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c
index d880edf254db..9c4f895a026e 100644
--- a/drivers/gpu/drm/radeon/radeon_gem.c
+++ b/drivers/gpu/drm/radeon/radeon_gem.c
@@ -158,9 +158,13 @@ int radeon_gem_info_ioctl(struct drm_device *dev, void *data,
158 struct drm_radeon_gem_info *args = data; 158 struct drm_radeon_gem_info *args = data;
159 159
160 args->vram_size = rdev->mc.real_vram_size; 160 args->vram_size = rdev->mc.real_vram_size;
161 /* FIXME: report somethings that makes sense */ 161 args->vram_visible = rdev->mc.real_vram_size;
162 args->vram_visible = rdev->mc.real_vram_size - (4 * 1024 * 1024); 162 if (rdev->stollen_vga_memory)
163 args->gart_size = rdev->mc.gtt_size; 163 args->vram_visible -= radeon_object_size(rdev->stollen_vga_memory);
164 if (rdev->fbdev_robj)
165 args->vram_visible -= radeon_object_size(rdev->fbdev_robj);
166 args->gart_size = rdev->mc.gtt_size - rdev->cp.ring_size - 4096 -
167 RADEON_IB_POOL_SIZE*64*1024;
164 return 0; 168 return 0;
165} 169}
166 170