aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
index 1c8c0f536aed..72ab2d04f048 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
@@ -428,7 +428,6 @@ static void gmc_v8_0_vram_gtt_location(struct amdgpu_device *adev,
428 */ 428 */
429static void gmc_v8_0_mc_program(struct amdgpu_device *adev) 429static void gmc_v8_0_mc_program(struct amdgpu_device *adev)
430{ 430{
431 struct amdgpu_mode_mc_save save;
432 u32 tmp; 431 u32 tmp;
433 int i, j; 432 int i, j;
434 433
@@ -442,10 +441,6 @@ static void gmc_v8_0_mc_program(struct amdgpu_device *adev)
442 } 441 }
443 WREG32(mmHDP_REG_COHERENCY_FLUSH_CNTL, 0); 442 WREG32(mmHDP_REG_COHERENCY_FLUSH_CNTL, 0);
444 443
445 if (adev->mode_info.num_crtc)
446 amdgpu_display_set_vga_render_state(adev, false);
447
448 gmc_v8_0_mc_stop(adev, &save);
449 if (gmc_v8_0_wait_for_idle((void *)adev)) { 444 if (gmc_v8_0_wait_for_idle((void *)adev)) {
450 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 445 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
451 } 446 }
@@ -456,20 +451,12 @@ static void gmc_v8_0_mc_program(struct amdgpu_device *adev)
456 adev->mc.vram_end >> 12); 451 adev->mc.vram_end >> 12);
457 WREG32(mmMC_VM_SYSTEM_APERTURE_DEFAULT_ADDR, 452 WREG32(mmMC_VM_SYSTEM_APERTURE_DEFAULT_ADDR,
458 adev->vram_scratch.gpu_addr >> 12); 453 adev->vram_scratch.gpu_addr >> 12);
459 tmp = ((adev->mc.vram_end >> 24) & 0xFFFF) << 16;
460 tmp |= ((adev->mc.vram_start >> 24) & 0xFFFF);
461 WREG32(mmMC_VM_FB_LOCATION, tmp);
462 /* XXX double check these! */
463 WREG32(mmHDP_NONSURFACE_BASE, (adev->mc.vram_start >> 8));
464 WREG32(mmHDP_NONSURFACE_INFO, (2 << 7) | (1 << 30));
465 WREG32(mmHDP_NONSURFACE_SIZE, 0x3FFFFFFF);
466 WREG32(mmMC_VM_AGP_BASE, 0); 454 WREG32(mmMC_VM_AGP_BASE, 0);
467 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF); 455 WREG32(mmMC_VM_AGP_TOP, 0x0FFFFFFF);
468 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF); 456 WREG32(mmMC_VM_AGP_BOT, 0x0FFFFFFF);
469 if (gmc_v8_0_wait_for_idle((void *)adev)) { 457 if (gmc_v8_0_wait_for_idle((void *)adev)) {
470 dev_warn(adev->dev, "Wait for MC idle timedout !\n"); 458 dev_warn(adev->dev, "Wait for MC idle timedout !\n");
471 } 459 }
472 gmc_v8_0_mc_resume(adev, &save);
473 460
474 WREG32(mmBIF_FB_EN, BIF_FB_EN__FB_READ_EN_MASK | BIF_FB_EN__FB_WRITE_EN_MASK); 461 WREG32(mmBIF_FB_EN, BIF_FB_EN__FB_READ_EN_MASK | BIF_FB_EN__FB_WRITE_EN_MASK);
475 462