summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMa Ling <ling.ma@intel.com>2008-11-07 14:23:41 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2008-11-13 09:51:17 +0800
commit42ec6938bdea3a5b065a4248fdca5f031415191e (patch)
tree791a5c3654fba6740088337fbe9a45044f3400aa /src
parent42b3903c3fda95a7c536cb957d8163d8dc54a9a1 (diff)
enable Intel G35 SDVO HDMI audio output
Set the SDVO_AUDIO_ENABLE bit to enable SDVO HDMI audio output of the Intel G35 chipset. Signed-off-by: Ma Ling <ling.ma@intel.com> Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/i830_sdvo.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index 4a424de4..256d16d8 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -1019,7 +1019,7 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
struct i830_sdvo_priv *dev_priv = intel_output->dev_priv;
xf86CrtcPtr crtc = output->crtc;
I830CrtcPrivatePtr intel_crtc = crtc->driver_private;
- uint32_t sdvox;
+ uint32_t sdvox = 0;
int sdvo_pixel_multiply;
struct i830_sdvo_in_out_map in_out;
struct i830_sdvo_dtd input_dtd;
@@ -1041,8 +1041,10 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
&in_out, sizeof(in_out));
status = i830_sdvo_read_response(output, NULL, 0);
- if (dev_priv->is_hdmi)
+ if (dev_priv->is_hdmi) {
i830_sdvo_set_avi_infoframe(output, mode);
+ sdvox |= SDVO_AUDIO_ENABLE;
+ }
i830_sdvo_get_dtd_from_mode(&input_dtd, mode);
@@ -1090,11 +1092,11 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
/* Set the SDVO control regs. */
if (IS_I965G(pI830)) {
- sdvox = SDVO_BORDER_ENABLE |
+ sdvox |= SDVO_BORDER_ENABLE |
SDVO_VSYNC_ACTIVE_HIGH |
SDVO_HSYNC_ACTIVE_HIGH;
} else {
- sdvox = INREG(dev_priv->output_device);
+ sdvox |= INREG(dev_priv->output_device);
switch (dev_priv->output_device) {
case SDVOB:
sdvox &= SDVOB_PRESERVE_MASK;