drm/radeon/kms/vm: set vram base offset properly for TN
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 20 Mar 2012 21:18:38 +0000 (17:18 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 21 Mar 2012 06:55:57 +0000 (06:55 +0000)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/ni.c

index 833892f1f48a4efc1328ded66570c30b7a48d1b5..bae3ec332b45641f88f3c4032264c2e7888520d1 100644 (file)
@@ -1746,7 +1746,12 @@ int cayman_vm_init(struct radeon_device *rdev)
        /* number of VMs */
        rdev->vm_manager.nvm = 8;
        /* base offset of vram pages */
-       rdev->vm_manager.vram_base_offset = 0;
+       if (rdev->flags & RADEON_IS_IGP) {
+               u64 tmp = RREG32(FUS_MC_VM_FB_OFFSET);
+               tmp <<= 22;
+               rdev->vm_manager.vram_base_offset = tmp;
+       } else
+               rdev->vm_manager.vram_base_offset = 0;
        return 0;
 }