]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amdgpu: keep stolen memory for arct
authorHawking Zhang <Hawking.Zhang@amd.com>
Fri, 28 Jun 2019 03:07:53 +0000 (11:07 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:06 +0000 (14:18 -0500)
Any dce register read back from arct is invalid. use hard code
stolen memory for arct until we validate the s3.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Le Ma <Le.Ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index a05040249a50f2ad5cde4e097935c4f57155e03c..9b6afed0129ffe66616168d52df056d4d91dcdca 100644 (file)
@@ -645,6 +645,7 @@ static bool gmc_v9_0_keep_stolen_memory(struct amdgpu_device *adev)
        switch (adev->asic_type) {
        case CHIP_VEGA10:
        case CHIP_RAVEN:
+       case CHIP_ARCTURUS:
                return true;
        case CHIP_VEGA12:
        case CHIP_VEGA20:
@@ -945,7 +946,7 @@ static int gmc_v9_0_gart_init(struct amdgpu_device *adev)
 
 static unsigned gmc_v9_0_get_vbios_fb_size(struct amdgpu_device *adev)
 {
-       u32 d1vga_control = RREG32_SOC15(DCE, 0, mmD1VGA_CONTROL);
+       u32 d1vga_control;
        unsigned size;
 
        /*
@@ -955,6 +956,7 @@ static unsigned gmc_v9_0_get_vbios_fb_size(struct amdgpu_device *adev)
        if (gmc_v9_0_keep_stolen_memory(adev))
                return 9 * 1024 * 1024;
 
+       d1vga_control = RREG32_SOC15(DCE, 0, mmD1VGA_CONTROL);
        if (REG_GET_FIELD(d1vga_control, D1VGA_CONTROL, D1VGA_MODE_ENABLE)) {
                size = 9 * 1024 * 1024; /* reserve 8MB for vga emulator and 1 MB for FB */
        } else {