drm/radeon: use vram/gart pinned size in radeon_gem_info_ioctl
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Jul 2014 16:16:20 +0000 (12:16 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Aug 2014 12:53:34 +0000 (08:53 -0400)
Gives a more accurate limit than the previous code.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
drivers/gpu/drm/radeon/radeon_gem.c

index ce1d61efa1f9654706ba8b8b7cfcfd06d49c4349..1ec62444e32e0c90b2a014969f7e9af78269a754 100644 (file)
@@ -209,18 +209,15 @@ int radeon_gem_info_ioctl(struct drm_device *dev, void *data,
        struct radeon_device *rdev = dev->dev_private;
        struct drm_radeon_gem_info *args = data;
        struct ttm_mem_type_manager *man;
-       unsigned i;
 
        man = &rdev->mman.bdev.man[TTM_PL_VRAM];
 
        args->vram_size = rdev->mc.real_vram_size;
        args->vram_visible = (u64)man->size << PAGE_SHIFT;
-       if (rdev->stollen_vga_memory)
-               args->vram_visible -= radeon_bo_size(rdev->stollen_vga_memory);
-       args->vram_visible -= radeon_fbdev_total_size(rdev);
-       args->gart_size = rdev->mc.gtt_size - 4096 - RADEON_IB_POOL_SIZE*64*1024;
-       for(i = 0; i < RADEON_NUM_RINGS; ++i)
-               args->gart_size -= rdev->ring[i].ring_size;
+       args->vram_visible -= rdev->vram_pin_size;
+       args->gart_size = rdev->mc.gtt_size;
+       args->gart_size -= rdev->gart_pin_size;
+
        return 0;
 }