diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ddi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 07cba6c0b1b5..35f0b7c9d0a6 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
@@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp) | |||
2227 | udelay(600); | 2227 | udelay(600); |
2228 | } | 2228 | } |
2229 | 2229 | ||
2230 | bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv, | ||
2231 | struct intel_crtc *intel_crtc) | ||
2232 | { | ||
2233 | u32 temp; | ||
2234 | |||
2235 | if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) { | ||
2236 | temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD); | ||
2237 | if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe)) | ||
2238 | return true; | ||
2239 | } | ||
2240 | return false; | ||
2241 | } | ||
2242 | |||
2243 | void intel_ddi_get_config(struct intel_encoder *encoder, | 2230 | void intel_ddi_get_config(struct intel_encoder *encoder, |
2244 | struct intel_crtc_state *pipe_config) | 2231 | struct intel_crtc_state *pipe_config) |
2245 | { | 2232 | { |
@@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder, | |||
2305 | break; | 2292 | break; |
2306 | } | 2293 | } |
2307 | 2294 | ||
2308 | pipe_config->has_audio = | 2295 | if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) { |
2309 | intel_ddi_is_audio_enabled(dev_priv, intel_crtc); | 2296 | temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD); |
2297 | if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe)) | ||
2298 | pipe_config->has_audio = true; | ||
2299 | } | ||
2310 | 2300 | ||
2311 | if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp && | 2301 | if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp && |
2312 | pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) { | 2302 | pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) { |