diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_legacy_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c index b6d8081e1246..df23d6a01d02 100644 --- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c | |||
@@ -403,7 +403,7 @@ int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y, | |||
403 | 403 | ||
404 | /* if scanout was in GTT this really wouldn't work */ | 404 | /* if scanout was in GTT this really wouldn't work */ |
405 | /* crtc offset is from display base addr not FB location */ | 405 | /* crtc offset is from display base addr not FB location */ |
406 | radeon_crtc->legacy_display_base_addr = rdev->mc.vram_location; | 406 | radeon_crtc->legacy_display_base_addr = rdev->mc.vram_start; |
407 | 407 | ||
408 | base -= radeon_crtc->legacy_display_base_addr; | 408 | base -= radeon_crtc->legacy_display_base_addr; |
409 | 409 | ||
@@ -582,29 +582,6 @@ static bool radeon_set_crtc_timing(struct drm_crtc *crtc, struct drm_display_mod | |||
582 | ? RADEON_CRTC_V_SYNC_POL | 582 | ? RADEON_CRTC_V_SYNC_POL |
583 | : 0)); | 583 | : 0)); |
584 | 584 | ||
585 | /* TODO -> Dell Server */ | ||
586 | if (0) { | ||
587 | uint32_t disp_hw_debug = RREG32(RADEON_DISP_HW_DEBUG); | ||
588 | uint32_t tv_dac_cntl = RREG32(RADEON_TV_DAC_CNTL); | ||
589 | uint32_t dac2_cntl = RREG32(RADEON_DAC_CNTL2); | ||
590 | uint32_t crtc2_gen_cntl = RREG32(RADEON_CRTC2_GEN_CNTL); | ||
591 | |||
592 | dac2_cntl &= ~RADEON_DAC2_DAC_CLK_SEL; | ||
593 | dac2_cntl |= RADEON_DAC2_DAC2_CLK_SEL; | ||
594 | |||
595 | /* For CRT on DAC2, don't turn it on if BIOS didn't | ||
596 | enable it, even it's detected. | ||
597 | */ | ||
598 | disp_hw_debug |= RADEON_CRT2_DISP1_SEL; | ||
599 | tv_dac_cntl &= ~((1<<2) | (3<<8) | (7<<24) | (0xff<<16)); | ||
600 | tv_dac_cntl |= (0x03 | (2<<8) | (0x58<<16)); | ||
601 | |||
602 | WREG32(RADEON_TV_DAC_CNTL, tv_dac_cntl); | ||
603 | WREG32(RADEON_DISP_HW_DEBUG, disp_hw_debug); | ||
604 | WREG32(RADEON_DAC_CNTL2, dac2_cntl); | ||
605 | WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl); | ||
606 | } | ||
607 | |||
608 | if (radeon_crtc->crtc_id) { | 585 | if (radeon_crtc->crtc_id) { |
609 | uint32_t crtc2_gen_cntl; | 586 | uint32_t crtc2_gen_cntl; |
610 | uint32_t disp2_merge_cntl; | 587 | uint32_t disp2_merge_cntl; |
@@ -726,6 +703,10 @@ static void radeon_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) | |||
726 | pll = &rdev->clock.p1pll; | 703 | pll = &rdev->clock.p1pll; |
727 | 704 | ||
728 | pll->flags = RADEON_PLL_LEGACY; | 705 | pll->flags = RADEON_PLL_LEGACY; |
706 | if (radeon_new_pll == 1) | ||
707 | pll->algo = PLL_ALGO_NEW; | ||
708 | else | ||
709 | pll->algo = PLL_ALGO_LEGACY; | ||
729 | 710 | ||
730 | if (mode->clock > 200000) /* range limits??? */ | 711 | if (mode->clock > 200000) /* range limits??? */ |
731 | pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; | 712 | pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; |