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

Anssi Hannula anssi.hannula at iki.fi
Tue Dec 10 08:22:38 PST 2013


10.12.2013 15:54, Raymond Yau kirjoitti:
> 
>         Codec: ATI R6xx HDMI
>         Address: 0
>         AFG Function Id: 0x1 (unsol 0)
>         Vendor Id: 0x1002aa01
>         Subsystem Id: 0x00aa0100
>         Revision Id: 0x100300
> 
>         seem that your codec may get Audio-Video Association Port ID and
>         Sink Information for your DENON-AVAMP
> 
> 
> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/hda_eld.c?id=89250f84644676c1ed6a09acef1033e14596a402
> 
> Revision ID 3 and later (0x100300 as reported by procfs codec#X) have
> support for providing more information than the previous revisions (but
> only if supported by the display driver).
> 
> manufacture_id        0x0
> product_id        0x0
> port_id            0x0
> 
> you have to find out those values return by hda_codec_read
> ATI_VERB_GET_SINK_INFO_DATA as your codec are revision 3 and your
> graphic driver got the product_id, manufacture_id, port_id

Not sure what you are after exactly, but I don't think those are
supported by the radeon driver just yet. The filled fields currently are
(per dce6_afmt.c): latency fields, speaker allocation, short audio
descriptors, connector type.

Should be relatively trivial to add support for the rest, though, as the
correct registers are named clearly in sid.h
(AZ_F0_CODEC_PIN_CONTROL_SINK_INFOx). It is not very high on my TODO at
the moment, though.


> Manufacturer: DON Model 26 Serial Number 16843009
> Made week 0 of 2011
> Monitor name: DENON
> 
> Audio data block
>     Linear PCM, max channels 7
>     Supported sample rates (kHz): 192 176.4 96 88.2 48 44.1 32
>     Supported sample sizes (bits): 24 20 16
>     DTS, max channels 5
>     Supported sample rates (kHz): 96 88.2 48 44.1
>     Maximum bit rate: 1016 kHz
>     AC-3, max channels 5
>     Supported sample rates (kHz): 48 44.1 32
>     Maximum bit rate: 1016 kHz
>     DTS-HD, max channels 7
>     Supported sample rates (kHz): 192 176.4 96 88.2 48 44.1
>     Dolby Digital+, max channels 7
>     Supported sample rates (kHz): 48 44.1
>     MAT (MLP), max channels 7
>     Supported sample rates (kHz): 192 176.4 96 88.2 48 44.1
>   Speaker allocation data block
> 
> Do those SAD in EDID in xorg.log  match with the specification of your
> Denon HDMI receiver ?
> 
> 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
> 
> seem emulated ELD 's max bitrate are different from those in SAD of EDID

Whatever you used to decode the EDID misdecoded the bitrates.
The SADs from the Xorg log are:
0f7f07 3d1ec0 150750 5f7e01 570600 677e00
PCM    DTS    AC-3   DTS-HD E-AC-3 TrueHD

As per CEA-861 maximum bitrate for format codes 2 to 8 (DTS and AC-3 in
this case) is encoded in 3rd byte, divided by 8kHz.
DTS: 0xC0 * 8k = 1536k
AC-3: 0x50 * 8k = 640k

[...]
-- 
Anssi Hannula


More information about the pulseaudio-discuss mailing list