Browse Source

drm/i915/glk: Allow dotclock up to 2 * cdclk on geminilake

Geminilake has double wide pipes so it can output two pixels per CD
clock.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1480667037-11215-8-git-send-email-ander.conselvan.de.oliveira@intel.com
Ander Conselvan de Oliveira 8 years ago
parent
commit
09d093869f
1 changed files with 6 additions and 4 deletions
  1. 6 4
      drivers/gpu/drm/i915/intel_display.c

+ 6 - 4
drivers/gpu/drm/i915/intel_display.c

@@ -5805,8 +5805,10 @@ static int intel_compute_max_dotclk(struct drm_i915_private *dev_priv)
 {
 {
 	int max_cdclk_freq = dev_priv->max_cdclk_freq;
 	int max_cdclk_freq = dev_priv->max_cdclk_freq;
 
 
-	if (INTEL_INFO(dev_priv)->gen >= 9 ||
-	    IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
+	if (IS_GEMINILAKE(dev_priv))
+		return 2 * max_cdclk_freq;
+	else if (INTEL_INFO(dev_priv)->gen >= 9 ||
+		 IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
 		return max_cdclk_freq;
 		return max_cdclk_freq;
 	else if (IS_CHERRYVIEW(dev_priv))
 	else if (IS_CHERRYVIEW(dev_priv))
 		return max_cdclk_freq*95/100;
 		return max_cdclk_freq*95/100;
@@ -6563,9 +6565,9 @@ static int valleyview_calc_cdclk(struct drm_i915_private *dev_priv,
 
 
 static int glk_calc_cdclk(int max_pixclk)
 static int glk_calc_cdclk(int max_pixclk)
 {
 {
-	if (max_pixclk > 158400)
+	if (max_pixclk > 2 * 158400)
 		return 316800;
 		return 316800;
-	else if (max_pixclk > 79200)
+	else if (max_pixclk > 2 * 79200)
 		return 158400;
 		return 158400;
 	else
 	else
 		return 79200;
 		return 79200;