diff options
author | Dave Airlie <airlied@redhat.com> | 2010-02-24 22:44:04 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-26 01:23:23 -0500 |
commit | eb6b6d7cdd5548fa03a919d14615195600013be2 (patch) | |
tree | c499472ef28a903f94b09da9a24f66b021412813 /drivers/gpu/drm/radeon/radeon_legacy_crtc.c | |
parent | 30d6c72c4a760cfc9069ee100786e4d6cf6de59d (diff) | |
parent | 383be5d1789d9a7a2e77dca1cb0aca89507d069e (diff) |
Merge remote branch 'korg/drm-radeon-testing' into drm-next-stage
* korg/drm-radeon-testing: (62 commits)
drm/radeon/kms: update new pll algo
drm/radeon/kms: add support for square microtiles on r3xx-r5xx
drm/radeon/kms: force pinning buffer into visible VRAM
drm/radeon/kms/evergreen: fix typo in cursor code
drm/radeon/kms: implement reading active PCIE lanes on R600+
drm/radeon/kms: for downclocking non-mobility check PERFORMANCE state
drm/radeon/kms: simplify storing current and requested PM mode
drm/radeon: fixes for r6xx/r7xx gfx init
drm/radeon/rv740: fix backend setup
drm/radeon/kms: fix R3XX/R4XX memory controller initialization
[rfc] drm/radeon/kms: pm debugging check for vbl.
drm/radeon: Fix memory allocation failures in the preKMS command stream checking.
drm: Add generic multipart buffer.
drm/radeon/kms: simplify memory controller setup V2
drm/radeon: Add asic hook for dma copy to r200 cards.
drm/radeon/kms: Create asic structure for r300 pcie cards.
drm/radeon/kms: remove unused r600_gart_clear_page
drm/radeon/kms: remove HDP flushes from fence emit (v2)
drm/radeon/kms: add LVDS pll quirk for Dell Studio 15
drm/radeon/kms: simplify picking power state
...
Conflicts:
drivers/gpu/drm/radeon/atom.c
drivers/gpu/drm/radeon/atombios.h
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/radeon/r600.c
drivers/gpu/drm/radeon/r600_audio.c
drivers/gpu/drm/radeon/r600_cp.c
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_ring.c
drivers/gpu/drm/radeon/rv770.c
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; |