diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-08-04 18:19:51 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-12-01 20:37:10 -0500 |
commit | 38e1492130c42ac806ffd8b21ccf64eb1c997d10 (patch) | |
tree | b83e8f1c23148a7b46ef39691b0bbbe7fcbeb347 /drivers/gpu/drm/radeon/radeon_gem.c | |
parent | 47381156a8f0d793bacfa346cc4cc515399525f7 (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.c | 10 |
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 | ||