Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Wu, Fengguang" <fengguang.wu@intel.com>
To: Alexander Werner <alexander.werner@lambda-audiosystems.de>
Cc: "Ma, Ling" <ling.ma@intel.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"Wang, Zhenyu Z" <zhenyu.z.wang@intel.com>
Subject: Re: Intel G45 8-Channel LPCM over HDMI
Date: Wed, 5 Nov 2008 12:46:25 +0800	[thread overview]
Message-ID: <1225860387.293695.26980@de> (raw)
In-Reply-To: <C804A129-7BFB-4F0B-BE64-CCAE549FB895@lambda-audiosystems.de>

On Tue, Nov 04, 2008 at 10:36:35PM +0800, Alexander Werner wrote:
> > It's ready now!
> >
> > We did a lot of code refactor, testing and bug fixes in the last ten
> > days, and now it's ready for release :-)
> >
> > Note that X.org intel video patches are also necessary for HDMI  
> > sound output.
> >
> > However our 3 HDMI monitors have only 2-channel audio support, so
> > 8-channel LPCM audio may not work for now.
> >
> > Thank you,
> > Fengguang
> >
> That's great news! I'll test the patch as soon as my replacement board  
> arrives.

Thank you. The G45 HDMI audio can be enabled by the submitted ALSA
kernel patch together with this X.org intel driver patch:

Cheers,
Fengguang
---

[PATCH] enable HDMI audio output

Set the SDVO_AUDIO_ENABLE bit to enable audio output for
        - integrated HDMI (e.g. G45)
        - SDVO HDMI (e.g. G35)

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Ma Ling <ling.ma@intel.com>
---
 src/i810_reg.h  |    1 +
 src/i830_hdmi.c |    1 +
 src/i830_sdvo.c |   10 ++++++----
 3 files changed, 8 insertions(+), 4 deletions(-)

--- xf86-video-intel.orig/src/i810_reg.h
+++ xf86-video-intel/src/i810_reg.h
@@ -1281,6 +1281,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
 /** Requird for HDMI operation */
 #define SDVO_NULL_PACKETS_DURING_VSYNC		(1 << 9)
 #define SDVO_BORDER_ENABLE			(1 << 7)
+#define SDVO_AUDIO_ENABLE			(1 << 6)
 /** New with 965, default is to be set */
 #define SDVO_VSYNC_ACTIVE_HIGH			(1 << 4)
 /** New with 965, default is to be set */
--- xf86-video-intel.orig/src/i830_hdmi.c
+++ xf86-video-intel/src/i830_hdmi.c
@@ -75,6 +75,7 @@ i830_hdmi_mode_set(xf86OutputPtr output,
     uint32_t sdvox;
 
     sdvox = SDVO_ENCODING_HDMI |
+	SDVO_AUDIO_ENABLE |
 	SDVO_BORDER_ENABLE |
 	SDVO_VSYNC_ACTIVE_HIGH |
 	SDVO_HSYNC_ACTIVE_HIGH;
--- xf86-video-intel.orig/src/i830_sdvo.c
+++ xf86-video-intel/src/i830_sdvo.c
@@ -1017,7 +1017,7 @@ i830_sdvo_mode_set(xf86OutputPtr output,
     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;
@@ -1039,8 +1039,10 @@ i830_sdvo_mode_set(xf86OutputPtr output,
 			&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);
 
@@ -1088,11 +1090,11 @@ i830_sdvo_mode_set(xf86OutputPtr output,
 
     /* 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;

  reply	other threads:[~2008-11-05  4:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-02 14:16 Intel G45 8-Channel LPCM over HDMI Alexander Werner
2008-11-02 20:09 ` Vedran Miletić
2008-11-02 22:45   ` Alexander Werner
2008-11-03 17:12     ` Vedran Miletić
2009-11-18 12:41       ` adelias
2009-12-11  5:03         ` Wu Fengguang
2008-11-03  7:05 ` Takashi Iwai
2008-11-04  9:51   ` Wu Fengguang
2008-11-04 14:36     ` Alexander Werner
2008-11-05  4:46       ` Wu, Fengguang [this message]
2008-11-05  5:16         ` Wang, Zhenyu Z

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1225860387.293695.26980@de \
    --to=fengguang.wu@intel.com \
    --cc=alexander.werner@lambda-audiosystems.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=ling.ma@intel.com \
    --cc=zhenyu.z.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox