diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-07-29 14:57:08 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-08-08 11:43:39 -0400 |
commit | 3d51278af91f8e96077dad3a4c1cc0b19fa8ca25 (patch) | |
tree | 436aade8b8f9ab4acb5b247b2df2b84975b17b84 | |
parent | ad13d6048f5002f1c5ab21c71a5ee136a2d8e889 (diff) |
drm/i915: Make ddi_clock_gate() HSW/BDW specific
Turns out we were again way too naive and optimistic, of course things
will change.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index b5870fd920ff..3634575534b4 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
@@ -587,8 +587,8 @@ static int intel_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv, | |||
587 | return (refclk * n * 100) / (p * r); | 587 | return (refclk * n * 100) / (p * r); |
588 | } | 588 | } |
589 | 589 | ||
590 | void intel_ddi_clock_get(struct intel_encoder *encoder, | 590 | static void hsw_ddi_clock_get(struct intel_encoder *encoder, |
591 | struct intel_crtc_config *pipe_config) | 591 | struct intel_crtc_config *pipe_config) |
592 | { | 592 | { |
593 | struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; | 593 | struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; |
594 | int link_clock = 0; | 594 | int link_clock = 0; |
@@ -643,6 +643,12 @@ void intel_ddi_clock_get(struct intel_encoder *encoder, | |||
643 | pipe_config->adjusted_mode.crtc_clock = pipe_config->port_clock; | 643 | pipe_config->adjusted_mode.crtc_clock = pipe_config->port_clock; |
644 | } | 644 | } |
645 | 645 | ||
646 | void intel_ddi_clock_get(struct intel_encoder *encoder, | ||
647 | struct intel_crtc_config *pipe_config) | ||
648 | { | ||
649 | hsw_ddi_clock_get(encoder, pipe_config); | ||
650 | } | ||
651 | |||
646 | static void | 652 | static void |
647 | hsw_ddi_calculate_wrpll(int clock /* in Hz */, | 653 | hsw_ddi_calculate_wrpll(int clock /* in Hz */, |
648 | unsigned *r2_out, unsigned *n2_out, unsigned *p_out) | 654 | unsigned *r2_out, unsigned *n2_out, unsigned *p_out) |
@@ -1480,7 +1486,7 @@ void intel_ddi_get_config(struct intel_encoder *encoder, | |||
1480 | dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp; | 1486 | dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp; |
1481 | } | 1487 | } |
1482 | 1488 | ||
1483 | intel_ddi_clock_get(encoder, pipe_config); | 1489 | hsw_ddi_clock_get(encoder, pipe_config); |
1484 | } | 1490 | } |
1485 | 1491 | ||
1486 | static void intel_ddi_destroy(struct drm_encoder *encoder) | 1492 | static void intel_ddi_destroy(struct drm_encoder *encoder) |