Comment 2 for bug 734805

Revision history for this message
ArbitRabbit (arbitrabbit) wrote :

The patch from this thread https://bugzilla.kernel.org/show_bug.cgi?id=30832 seems to fix it. I have tested with mainline 2.6.38 smf 2.6.37.4

Some boards seem to prefer the legacy pll algo for tv-out.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=30832

Signed-off-by: Alex Deucher <email address hidden>

---
 drivers/gpu/drm/radeon/atombios_crtc.c | 6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index c74f646..80e26c0 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -957,7 +957,11 @@ static void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode
  /* adjust pixel clock as needed */
  adjusted_clock = atombios_adjust_pll(crtc, mode, pll, ss_enabled, &ss);

- if (ASIC_IS_AVIVO(rdev))
+ if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
+ /* TV seems to prefer the legacy algo on some boards */
+ radeon_compute_pll_legacy(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
+ &ref_div, &post_div);
+ else if (ASIC_IS_AVIVO(rdev))
   radeon_compute_pll_avivo(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
       &ref_div, &post_div);
  else