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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel