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: default avatarAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1480667037-11215-8-git-send-email-ander.conselvan.de.oliveira@intel.com
parent 89b3c3c7
...@@ -5805,8 +5805,10 @@ static int intel_compute_max_dotclk(struct drm_i915_private *dev_priv) ...@@ -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 || if (IS_GEMINILAKE(dev_priv))
IS_HASWELL(dev_priv) || IS_BROADWELL(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, ...@@ -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;
......
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