aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ddi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ddi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c25
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
130static const struct ddi_buf_trans skl_ddi_translations_dp[] = { 130static 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
142static const struct ddi_buf_trans skl_ddi_translations_hdmi[] = { 142static const struct ddi_buf_trans skl_ddi_translations_hdmi[] = {
@@ -834,7 +834,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder,
834void intel_ddi_clock_get(struct intel_encoder *encoder, 834void 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
840static void 845static 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
2115static void intel_ddi_destroy(struct drm_encoder *encoder) 2116static void intel_ddi_destroy(struct drm_encoder *encoder)