]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/radeon/kms: prefer legacy pll algo for tv-out
authorAlex Deucher <alexdeucher@gmail.com>
Tue, 22 Mar 2011 05:46:12 +0000 (01:46 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Mar 2011 18:36:33 +0000 (11:36 -0700)
commit 64146f8b2af1ba77fe3c21d9d6d7213b9bb72b40 upstream.

ntsc seems to work fine with either algo, some
pal TVs seem pickier.

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

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/radeon/atombios_crtc.c

index 4a5a73bcf460aa100ad2af019c53cf71d3192cff..e967cc869b3b229d5ff6eeeb448a963d047f4cc4 100644 (file)
@@ -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