[alsa-devel] [Intel-gfx] Problems with HDMI audio on Intel DG45FC motherboard
Wu Fengguang
fengguang.wu at intel.com
Mon Nov 2 10:11:08 CET 2009
On Fri, Oct 30, 2009 at 06:29:32AM +0800, David Härdeman wrote:
> On Thu, Oct 29, 2009 at 05:46:02PM +0800, Wu Fengguang wrote:
> > I'm not sure why your device can silence even nothing changed with the
> > infoframe. Would you retry the attached patch and post the dmesg? This
> > is just to make things more clear. I'm not against your patch in general.
>
> dmesg attached...the first and third speaker-test invocation produced
> audible sound while the second and fourth didn't (the changed infoframe
> seems to cause the receiver to reset some internal state which kicks it
> into working).
OK, your device seems to work if there is a switch of infoframe,
ie. coupled with the "HDMI: updating infoframe" message.
Note that the message only happens if the audio infoframe don't match
up with previous one, _or_ the previous one has been wiped out by some
reset operation:
Data Island Packet Data
-----------------------
The contents of this buffer are cleared during function reset
or HD audio link reset.
Could you try dumping the audio infoframe data at the beginning of
hdmi_switch_infoframe() or hdmi_stop_infoframe_trans(), to check if
the previous content have been reset to 0?
Thanks,
Fengguang
---
Content-Description: intel-hdmi-oct-29.log
> Script started on Thu 29 Oct 2009 11:18:26 PM CET
> scott:~/new8# dmesg -c > /dev/null
> scott:~/new8# speaker-test -c2 -D hdmi -twav -l1
>
> speaker-test 1.0.20
>
> Playback device is hdmi
> Stream parameters are 48000Hz, S16_LE, 2 channels
> WAV file(s)
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 64 to 16384
> Period size range from 32 to 8192
> Using max buffer size 16384
> Periods = 4
> was set period_size = 4096
> was set buffer_size = 16384
> 0 - Front Left
> 1 - Front Right
> Time per period = 2.730676
> scott:~/new8# dmesg -c
> [ 470.461885] ALSA sound/pci/hda/hda_intel.c:1621: azx_pcm_prepare: bufsize=0x10000, format=0x11
> [ 470.461959] HDMI: hdmi_setup_audio_infoframe
> [ 470.461961] HDMI: trying to update infoframe
> [ 470.462067] infoframe 132 =? 132
> [ 470.462110] infoframe 1 =? 1
> [ 470.462153] infoframe 10 =? 10
> [ 470.462187] infoframe 87 =? 112
> [ 470.462188] HDMI: updating infoframe
> [ 470.462283] HDMI: ELD buf size is 64
> [ 470.462336] HDMI: DIP GP[0] buf size is 13
> [ 470.462379] HDMI: DIP GP[1] buf size is 10
> [ 470.462422] HDMI: DIP GP[2] buf size is 30
> [ 470.462464] HDMI: DIP GP[3] buf size is 30
> [ 470.462498] HDMI: DIP GP[4] buf size is 0
> [ 470.462551] HDMI: DIP GP[5] buf size is 0
> [ 470.462584] HDMI: DIP GP[6] buf size is 0
> [ 470.462627] HDMI: DIP GP[7] buf size is 0
> [ 470.462644] ALSA sound/pci/hda/hda_codec.c:1083: hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x11
> [ 473.199329] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> [ 473.199389] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> scott:~/new8# speaker-test -c2 -D hdmi -twav -l1
>
> speaker-test 1.0.20
>
> Playback device is hdmi
> Stream parameters are 48000Hz, S16_LE, 2 channels
> WAV file(s)
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 64 to 16384
> Period size range from 32 to 8192
> Using max buffer size 16384
> Periods = 4
> was set period_size = 4096
> was set buffer_size = 16384
> 0 - Front Left
> 1 - Front Right
> Time per period = 2.730384
> scott:~/new8# dmesg -c
> [ 489.945260] ALSA sound/pci/hda/hda_intel.c:1621: azx_pcm_prepare: bufsize=0x10000, format=0x11
> [ 489.945341] HDMI: hdmi_setup_audio_infoframe
> [ 489.945342] HDMI: trying to update infoframe
> [ 489.945447] infoframe 132 =? 132
> [ 489.945489] infoframe 1 =? 1
> [ 489.945531] infoframe 10 =? 10
> [ 489.945573] infoframe 112 =? 112
> [ 489.945614] infoframe 1 =? 1
> [ 489.945656] infoframe 0 =? 0
> [ 489.945697] infoframe 0 =? 0
> [ 489.945739] infoframe 0 =? 0
> [ 489.945781] infoframe 0 =? 0
> [ 489.945823] infoframe 0 =? 0
> [ 489.945864] infoframe 0 =? 0
> [ 489.945906] infoframe 0 =? 0
> [ 489.945948] infoframe 0 =? 0
> [ 489.945989] infoframe 0 =? 0
> [ 489.945991] ALSA sound/pci/hda/hda_codec.c:1083: hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x11
> [ 492.682520] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> [ 492.682584] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> scott:~/new8# speaker-test -c8 -D hdmi -twav -l1
>
> speaker-test 1.0.20
>
> Playback device is hdmi
> Stream parameters are 48000Hz, S16_LE, 8 channels
> WAV file(s)
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 16 to 4096
> Period size range from 8 to 2048
> Using max buffer size 4096
> Periods = 4
> was set period_size = 1024
> was set buffer_size = 4096
> 0 - Front Left
> 4 - Center
> 1 - Front Right
> 7 - Side Right
> 3 - Rear Right
> 2 - Rear Left
> 6 - Side Left
> 5 - LFE
> Time per period = 11.307268
> scott:~/new8# dmesg -c
> [ 540.685870] ALSA sound/pci/hda/hda_intel.c:1621: azx_pcm_prepare: bufsize=0x10000, format=0x17
> [ 540.685954] HDMI: hdmi_setup_audio_infoframe
> [ 540.685959] ALSA sound/pci/hda/patch_intelhdmi.c:605: HDMI: select CA 0x13 for 8-channel allocation: FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC FLW/FRW FLH/FRH TC FCH
> [ 540.686168] HDMI: ASP channel 0 => slot 0
> [ 540.686201] HDMI: ASP channel 0 => slot 0
> [ 540.686254] HDMI: ASP channel 0 => slot 0
> [ 540.686306] HDMI: ASP channel 0 => slot 0
> [ 540.686349] HDMI: ASP channel 0 => slot 0
> [ 540.686393] HDMI: ASP channel 0 => slot 0
> [ 540.686436] HDMI: ASP channel 0 => slot 0
> [ 540.686470] HDMI: ASP channel 0 => slot 0
> [ 540.686472] HDMI: trying to update infoframe
> [ 540.686586] infoframe 132 =? 132
> [ 540.686639] infoframe 1 =? 1
> [ 540.686682] infoframe 10 =? 10
> [ 540.686726] infoframe 112 =? 87
> [ 540.686727] HDMI: updating infoframe
> [ 540.686812] HDMI: ELD buf size is 64
> [ 540.686844] HDMI: DIP GP[0] buf size is 13
> [ 540.686897] HDMI: DIP GP[1] buf size is 10
> [ 540.686930] HDMI: DIP GP[2] buf size is 30
> [ 540.686973] HDMI: DIP GP[3] buf size is 30
> [ 540.687016] HDMI: DIP GP[4] buf size is 0
> [ 540.687059] HDMI: DIP GP[5] buf size is 0
> [ 540.687093] HDMI: DIP GP[6] buf size is 0
> [ 540.687146] HDMI: DIP GP[7] buf size is 0
> [ 540.687160] ALSA sound/pci/hda/hda_codec.c:1083: hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x17
> [ 551.999466] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> [ 551.999526] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> scott:~/new8# speaker-test -c8 -D hdmi -twav -l1
>
> speaker-test 1.0.20
>
> Playback device is hdmi
> Stream parameters are 48000Hz, S16_LE, 8 channels
> WAV file(s)
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 16 to 4096
> Period size range from 8 to 2048
> Using max buffer size 4096
> Periods = 4
> was set period_size = 1024
> was set buffer_size = 4096
> 0 - Front Left
> 4 - Center
> 1 - Front Right
> 7 - Side Right
> 3 - Rear Right
> 2 - Rear Left
> 6 - Side Left
> 5 - LFE
> Time per period = 11.307234
> scott:~/new8# dmesg -c
> [ 569.801850] ALSA sound/pci/hda/hda_intel.c:1621: azx_pcm_prepare: bufsize=0x10000, format=0x17
> [ 569.801933] HDMI: hdmi_setup_audio_infoframe
> [ 569.801939] ALSA sound/pci/hda/patch_intelhdmi.c:605: HDMI: select CA 0x13 for 8-channel allocation: FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC FLW/FRW FLH/FRH TC FCH
> [ 569.802149] HDMI: ASP channel 0 => slot 0
> [ 569.802202] HDMI: ASP channel 0 => slot 0
> [ 569.802235] HDMI: ASP channel 0 => slot 0
> [ 569.802278] HDMI: ASP channel 0 => slot 0
> [ 569.802321] HDMI: ASP channel 0 => slot 0
> [ 569.802364] HDMI: ASP channel 0 => slot 0
> [ 569.802398] HDMI: ASP channel 0 => slot 0
> [ 569.802451] HDMI: ASP channel 0 => slot 0
> [ 569.802453] HDMI: trying to update infoframe
> [ 569.802567] infoframe 132 =? 132
> [ 569.802620] infoframe 1 =? 1
> [ 569.802673] infoframe 10 =? 10
> [ 569.802715] infoframe 87 =? 87
> [ 569.802758] infoframe 7 =? 7
> [ 569.802801] infoframe 0 =? 0
> [ 569.802834] infoframe 0 =? 0
> [ 569.802887] infoframe 19 =? 19
> [ 569.802920] infoframe 0 =? 0
> [ 569.802972] infoframe 0 =? 0
> [ 569.803025] infoframe 0 =? 0
> [ 569.803068] infoframe 0 =? 0
> [ 569.803111] infoframe 0 =? 0
> [ 569.803154] infoframe 0 =? 0
> [ 569.803156] ALSA sound/pci/hda/hda_codec.c:1083: hda_codec_setup_stream: NID=0x2, stream=0x5, channel=0, format=0x17
> [ 581.115970] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> [ 581.116033] ALSA sound/pci/hda/hda_codec.c:1096: hda_codec_cleanup_stream: NID=0x2
> scott:~/new8# exit
> exit
>
> Script done on Thu 29 Oct 2009 11:21:01 PM CET
More information about the Alsa-devel
mailing list