[alsa-devel] [pulseaudio-discuss] Issue with multiple hdmi codecs in radeonhd, hacked to work

Deucher, Alexander Alexander.Deucher at amd.com
Mon Dec 9 16:24:50 CET 2013



> -----Original Message-----
> From: Anssi Hannula [mailto:anssi.hannula at iki.fi]
> Sent: Saturday, December 07, 2013 7:59 PM
> To: Raymond Yau; John Ettedgui; ALSA Development Mailing List
> Cc: Takashi Iwai; Deucher, Alexander
> Subject: Re: [pulseaudio-discuss] Issue with multiple hdmi codecs in
> radeonhd, hacked to work
> 
> 07.12.2013 09:18, Raymond Yau kirjoitti:
> >     I just changed my RadeonHD 4670 for a 7870, and now when I type
> >     "aplay -l"  I get many HDMI codecs instead of just one like for the
> >     previous
> >
> >
> > Do your card specification support Discrete Digital Multi-Point Audio
> > (DDMA) /?/
> >
> > DDMA enables Radeon™HD 7700-7900 Series GPUs with the ability to
> output
> > multiple and independent audio streams simultaneously through digital
> > interfaces that support audio, such as DisplayPort and HDMI®. Each audio
> > stream can be multi-channel (up to 8 channels)
> 
> AFAIK yes, the multi-hdmi-device AMD cards are "DDMA".
> 
> [...]
> > monitor_present        1
> > eld_valid        1
> > monitor_name
> > connection_type        HDMI
> > eld_version        [0x2] CEA-861D or below
> > edid_version        [0x0] no CEA EDID Timing Extension block present
> > manufacture_id        0x0
> > product_id        0x0
> > port_id            0x0
> > support_hdcp        0
> > support_ai        0
> > audio_sync_delay    0
> > speakers        [0x5f] FL/FR LFE FC RL/RR RC RLC/RRC
> > sad_count        6
> > sad0_coding_type    [0x1] LPCM
> > sad0_channels        8
> > sad0_rates        [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
> > sad0_bits        [0xe0000] 16 20 24
> > sad1_coding_type    [0x2] AC-3
> > sad1_channels        6
> > sad1_rates        [0xe0] 32000 44100 48000
> > sad1_max_bitrate    640000
> > sad2_coding_type    [0x7] DTS
> > sad2_channels        6
> > sad2_rates        [0x6c0] 44100 48000 88200 96000
> > sad2_max_bitrate    1536000
> > sad3_coding_type    [0xa] E-AC-3/DD+ (Dolby Digital Plus)
> > sad3_channels        8
> > sad3_rates        [0xc0] 44100 48000
> > sad4_coding_type    [0xb] DTS-HD
> > sad4_channels        8
> > sad4_rates        [0x1ec0] 44100 48000 88200 96000 176400 192000
> > sad5_coding_type    [0xc] MLP (Dolby TrueHD)
> > sad5_channels        8
> > sad5_rates        [0x1ec0] 44100 48000 88200 96000 176400 192000
> > monitor_present        1
> > eld_valid        0
> > monitor_present        1
> > eld_valid        0
> > monitor_present        1
> > eld_valid        0
> > monitor_present        1
> > eld_valid        0
> > monitor_present        1
> > eld_valid        0
> >
> > e.g. HDMI status message in function hdmi_present_sense in
> patch_hdmi.c
> >
> > need to find out why eld->monitor_present was set  for all six complexes
> >
> > the value return by function atihdmi_pin_get_eld since it change
> > eld->eld_valid to false when it is negative
> 
> When CONFIG_SND_DEBUG_VERBOSE is enabled, hdmi_present_sense()
> prints
> the actual hw Presence_Detect/ELD_Valid before eld->eld_valid is
> overridden to 0 (and hdmi_intrinsic_event() prints the hot plug event
> values).
> 
> Alex, do you have information regarding why "Presence detect" (aka
> monitor_present above) seems to be set for all HDMI pins in the response
> of Pin Sense 0xF09 verb (or if it is even expected), and/or if we should
> use alternate means of getting jack status?

The GPU driver needs to set the status properly when the monitor is connected/disconnected.  At the moment the GPU driver calls the audio_enable(true) once at driver load time, but it should call it at runtime when a monitor is connected (true) or disconnected (false).  If I have time this week I'll see if I can whip up a patch to test.

Alex

> 
> CONFIG_SND_DEBUG_VERBOSE log might also be interesting, I wonder if
> eld_valid is also 1 for every pin or not (before ALSA forces 0). Also, I
> wonder if all monitor_present fields are 1 with fglrx driver as well, or
> when all displays are unplugged...
> 
> [...]
> 
> --
> Anssi Hannula



More information about the Alsa-devel mailing list