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.c20
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
2230bool 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
2243void intel_ddi_get_config(struct intel_encoder *encoder, 2230void 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) {