In some cases the amount of vram may be less than the BAR size,
if so, limit visible vram to the amount of actual vram, not the
BAR size.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
        adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
        adev->mc.visible_vram_size = adev->mc.aper_size;
 
+       /* In case the PCI BAR is larger than the actual amount of vram */
+       if (adev->mc.visible_vram_size > adev->mc.real_vram_size)
+               adev->mc.visible_vram_size = adev->mc.real_vram_size;
+
        /* unless the user had overridden it, set the gart
         * size equal to the 1024 or vram, whichever is larger.
         */
 
        adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
        adev->mc.visible_vram_size = adev->mc.aper_size;
 
+       /* In case the PCI BAR is larger than the actual amount of vram */
+       if (adev->mc.visible_vram_size > adev->mc.real_vram_size)
+               adev->mc.visible_vram_size = adev->mc.real_vram_size;
+
        /* unless the user had overridden it, set the gart
         * size equal to the 1024 or vram, whichever is larger.
         */