[Intel-gfx] Problems with HDMI audio on Intel DG45FC motherboard

Wu Fengguang fengguang.wu at intel.com
Wed Oct 21 03:38:12 CEST 2009


On Wed, Oct 21, 2009 at 06:37:58AM +0800, David Härdeman wrote:
> On Tue, Oct 20, 2009 at 09:26:00AM +0800, Wu Fengguang wrote:
> >On Thu, Oct 15, 2009 at 01:40:53AM +0800, David Härdeman wrote:
> >> ii) Is there any documentation somewhere on how this mapping is supposed 
> >> to be performed in user space?
> >
> >I think Shane has provided a good example for you in another email :)
> >Here are more descriptions for the route plugin:
> 
> So perhaps I should still file a bug with the ALSA bugtracker asking for 
> the default ALSA userspace to include a channel mapping along Shane's 
> recommendation?

That would be good. I'm not sure if PulseAudio need a separate fix.
(Lennart CCed).

> >> >Complete silence for how much time?
> >> 
> >> For the entire duration of the particular movie/audio track/video 
> >> clip/whatever.
> >> 
> >
> >I actually have a DG45FC box and have not run into this problem for
> >all the HDMI monitors I have. What's your monitor model?
> 
> A Samsung LE-55A956 LCD TV. But I think the problem is not with the 
> monitor (TV) but rather with the receiver that is between the DG45FC and 
> the TV. The receiver is a Marantz SR8002 with HDMI support.

Got it. If you have a HDMI capable TV or monitor, it would be possible to get
rid of the Marantz and check if the problem sticks :)

> >Did the kernel emit some error messages?
> 
> Nope

OK. You can get more debug info if turning on

CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
CONFIG_SND_PCM_XRUN_DEBUG=y

> >What if you change display
> >modes with xrandr?
> 
> Haven't tried that yet...currently running on 1920x1080 at 60 which should 
> (I guess) be one of the most common modes with modern LCD TV's.

The infoframe would be different for 2-channel pure music and 5.1 channel
movie. The video timing might also affect audio stream, because the HDMI
audio data is transfered in the gaps of video data.
 
> >HDMI codec/sink seem to take some time to response to the output
> >enable and new infoframe, so there are some delay. I've moved the HDMI
> >output enable command to module load time, this helps. The infoframe
> >is in theory created in run time based on the format of _each_ new
> >audio stream, so infoframe transmission has to be started/stopped
> >for each track..
> 
> So my current theory is along the line of HDMI audio infoframe or video 
> infoframe problems. Do you have any pointers where in the driver(s) 
> the infoframes (both audio and video) are generated so that I can add 
> some debugging statements to dump the frames and compare the working 
> and non-working scenarios?

I guess the infoframe itself should be identical for the same clip.
Have you tried upgrading to a recent Xorg/intel gfx driver?

Anyway, the kernel driver code is linux/sound/pci/hda/patch_intelhdmi.c
The relevant function is hdmi_setup_audio_infoframe(). Inside which the
hdmi_setup_channel_mapping() is not functioning for G45,
hdmi_setup_channel_allocation() is no-op for 2-channel music.
hdmi_debug_dip_size() and hdmi_clear_dip_buffers() can also be commented out.
And feel free to ask more questions :)

Thanks,
Fengguang



More information about the Intel-gfx mailing list