Commit e37c67a1 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter

drm/i915: Use 200MHz cdclk on vlv when all pipes are off

Drop the cdclk frequency to 200MHz on vlv when all pipes are off. In
theory we should be able to use 200MHz also when the pixel clock is at
most 90% of 200MHz. However in practice all we seem to get is a solid
color picture or an otherwise corrupted display.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 29dc7ef3
...@@ -4556,14 +4556,19 @@ static int valleyview_calc_cdclk(struct drm_i915_private *dev_priv, ...@@ -4556,14 +4556,19 @@ static int valleyview_calc_cdclk(struct drm_i915_private *dev_priv,
* 400MHz * 400MHz
* So we check to see whether we're above 90% of the lower bin and * So we check to see whether we're above 90% of the lower bin and
* adjust if needed. * adjust if needed.
*
* We seem to get an unstable or solid color picture at 200MHz.
* Not sure what's wrong. For now use 200MHz only when all pipes
* are off.
*/ */
if (max_pixclk > freq_320*9/10) if (max_pixclk > freq_320*9/10)
return 400000; return 400000;
else if (max_pixclk > 266667*9/10) else if (max_pixclk > 266667*9/10)
return freq_320; return freq_320;
else else if (max_pixclk > 0)
return 266667; return 266667;
/* Looks like the 200MHz CDclk freq doesn't work on some configs */ else
return 200000;
} }
/* compute the max pixel clock for new configuration */ /* compute the max pixel clock for new configuration */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment