drm/amdgpu/si: Call amdgpu_ttm_set_active_vram_size from si_dma_start/stop
authorMichel Dänzer <michel.daenzer@amd.com>
Wed, 7 Sep 2016 02:51:06 +0000 (11:51 +0900)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 14 Sep 2016 19:10:27 +0000 (15:10 -0400)
Without this, we were only ever using the first 256MB of VRAM.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97593
Tested-by: Konstantin A. Lepikhov <lakostis@altlinux.org>
Tested-by: Arek Ruśniak <arek.rusi@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/si_dma.c

index 2abdaa681797efe8293dbb99e1f9c576fb40a735..4cbd4086ee7dcfb43673ea2dc1b8f6514e1d2d29 100644 (file)
@@ -132,6 +132,8 @@ static void si_dma_stop(struct amdgpu_device *adev)
                rb_cntl &= ~DMA_RB_ENABLE;
                WREG32(DMA_RB_CNTL + sdma_offsets[i], rb_cntl);
 
+               if (adev->mman.buffer_funcs_ring == ring)
+                       amdgpu_ttm_set_active_vram_size(adev, adev->mc.visible_vram_size);
                ring->ready = false;
        }
 }
@@ -192,6 +194,9 @@ static int si_dma_start(struct amdgpu_device *adev)
                        ring->ready = false;
                        return r;
                }
+
+               if (adev->mman.buffer_funcs_ring == ring)
+                       amdgpu_ttm_set_active_vram_size(adev, adev->mc.real_vram_size);
        }
 
        return 0;