REG_GET_FIELD(viewport, VIEWPORT_SIZE, VIEWPORT_WIDTH) *
                        4);
        }
-       /* return 0 if the pre-OS buffer uses up most of vram */
-       if ((adev->gmc.real_vram_size - size) < (8 * 1024 * 1024))
-               return 0;
+
        return size;
 }
 
        if (r)
                return r;
 
-       adev->gmc.stolen_vga_size = gmc_v8_0_get_vbios_fb_size(adev);
+       amdgpu_gmc_get_vbios_allocations(adev);
 
        /* Memory manager */
        r = amdgpu_bo_init(adev);
        .emit_pasid_mapping = gmc_v8_0_emit_pasid_mapping,
        .set_prt = gmc_v8_0_set_prt,
        .get_vm_pde = gmc_v8_0_get_vm_pde,
-       .get_vm_pte = gmc_v8_0_get_vm_pte
+       .get_vm_pte = gmc_v8_0_get_vm_pte,
+       .get_vbios_fb_size = gmc_v8_0_get_vbios_fb_size,
 };
 
 static const struct amdgpu_irq_src_funcs gmc_v8_0_irq_funcs = {