diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ddi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index e6b45cd150d3..1c92ad47502b 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
@@ -128,15 +128,15 @@ static const struct ddi_buf_trans bdw_ddi_translations_hdmi[] = { | |||
128 | }; | 128 | }; |
129 | 129 | ||
130 | static const struct ddi_buf_trans skl_ddi_translations_dp[] = { | 130 | static const struct ddi_buf_trans skl_ddi_translations_dp[] = { |
131 | { 0x00000018, 0x000000a0 }, | 131 | { 0x00000018, 0x000000a2 }, |
132 | { 0x00004014, 0x00000098 }, | 132 | { 0x00004014, 0x0000009B }, |
133 | { 0x00006012, 0x00000088 }, | 133 | { 0x00006012, 0x00000088 }, |
134 | { 0x00008010, 0x00000080 }, | 134 | { 0x00008010, 0x00000087 }, |
135 | { 0x00000018, 0x00000098 }, | 135 | { 0x00000018, 0x0000009B }, |
136 | { 0x00004014, 0x00000088 }, | 136 | { 0x00004014, 0x00000088 }, |
137 | { 0x00006012, 0x00000080 }, | 137 | { 0x00006012, 0x00000087 }, |
138 | { 0x00000018, 0x00000088 }, | 138 | { 0x00000018, 0x00000088 }, |
139 | { 0x00004014, 0x00000080 }, | 139 | { 0x00004014, 0x00000087 }, |
140 | }; | 140 | }; |
141 | 141 | ||
142 | static const struct ddi_buf_trans skl_ddi_translations_hdmi[] = { | 142 | static const struct ddi_buf_trans skl_ddi_translations_hdmi[] = { |
@@ -834,7 +834,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder, | |||
834 | void intel_ddi_clock_get(struct intel_encoder *encoder, | 834 | void intel_ddi_clock_get(struct intel_encoder *encoder, |
835 | struct intel_crtc_config *pipe_config) | 835 | struct intel_crtc_config *pipe_config) |
836 | { | 836 | { |
837 | hsw_ddi_clock_get(encoder, pipe_config); | 837 | struct drm_device *dev = encoder->base.dev; |
838 | |||
839 | if (INTEL_INFO(dev)->gen <= 8) | ||
840 | hsw_ddi_clock_get(encoder, pipe_config); | ||
841 | else | ||
842 | skl_ddi_clock_get(encoder, pipe_config); | ||
838 | } | 843 | } |
839 | 844 | ||
840 | static void | 845 | static void |
@@ -2029,7 +2034,6 @@ void intel_ddi_get_config(struct intel_encoder *encoder, | |||
2029 | enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder; | 2034 | enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder; |
2030 | struct intel_hdmi *intel_hdmi; | 2035 | struct intel_hdmi *intel_hdmi; |
2031 | u32 temp, flags = 0; | 2036 | u32 temp, flags = 0; |
2032 | struct drm_device *dev = dev_priv->dev; | ||
2033 | 2037 | ||
2034 | temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); | 2038 | temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); |
2035 | if (temp & TRANS_DDI_PHSYNC) | 2039 | if (temp & TRANS_DDI_PHSYNC) |
@@ -2106,10 +2110,7 @@ void intel_ddi_get_config(struct intel_encoder *encoder, | |||
2106 | dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp; | 2110 | dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp; |
2107 | } | 2111 | } |
2108 | 2112 | ||
2109 | if (INTEL_INFO(dev)->gen <= 8) | 2113 | intel_ddi_clock_get(encoder, pipe_config); |
2110 | hsw_ddi_clock_get(encoder, pipe_config); | ||
2111 | else | ||
2112 | skl_ddi_clock_get(encoder, pipe_config); | ||
2113 | } | 2114 | } |
2114 | 2115 | ||
2115 | static void intel_ddi_destroy(struct drm_encoder *encoder) | 2116 | static void intel_ddi_destroy(struct drm_encoder *encoder) |