|
@@ -269,6 +269,10 @@ static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode)
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
|
|
|
u32 temp;
|
|
|
+ u32 enable_bits = SDVO_ENABLE;
|
|
|
+
|
|
|
+ if (intel_hdmi->has_audio)
|
|
|
+ enable_bits |= SDVO_AUDIO_ENABLE;
|
|
|
|
|
|
temp = I915_READ(intel_hdmi->sdvox_reg);
|
|
|
|
|
@@ -281,9 +285,9 @@ static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode)
|
|
|
}
|
|
|
|
|
|
if (mode != DRM_MODE_DPMS_ON) {
|
|
|
- temp &= ~SDVO_ENABLE;
|
|
|
+ temp &= ~enable_bits;
|
|
|
} else {
|
|
|
- temp |= SDVO_ENABLE;
|
|
|
+ temp |= enable_bits;
|
|
|
}
|
|
|
|
|
|
I915_WRITE(intel_hdmi->sdvox_reg, temp);
|