Re: [PATCH 1/4] ALSA: hda - hdmi: Add ATI/AMD multi-channel audio support

From: Anssi Hannula
Date: Wed Oct 30 2013 - 11:59:14 EST


RafaÅ MiÅecki kirjoitti 2013-10-30 17:35:
2013/10/1 Anssi Hannula <anssi.hannula@xxxxxx>:
ATI/AMD codecs do not support all the standard HDA HDMI/DP functions,
instead various vendor-specific verbs are provided.

I've just tried my HD6970M (BARTS, DCE5) in my Samsung NP700G7A-S01PL.

cat /proc/asound/card1/eld#0.0
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

Command:
speaker-test -D hdmi:CARD=Generic,DEV=0 -c8 -r192000 -F S16_LE
works, I just have 5.1 (not 7.1), so Side left goes to the Read left
and Side right goes to the Rear right. But they were working!

Good :)

BTW, there is a newer version (which was actually applied) of this patchset in alsa-devel@, seems you were missing from CC on that one.

Next I've used howto from
http://phoronix.com/forums/showthread.php?27348-TrueHD-DTS-HD-E-AC3-Over-HDMI-On-Linux
to test DTS MA and TrueHD.

In the file from howto I've used:
card Generic
and then tested:

zajec@linux-samsung700g7a:~> aplay -D hdmihdtest0 -c8 -fs16_le
-r192000 thd.spdif
Playing raw data 'thd.spdif' : Signed 16 bit Little Endian, Rate
192000 Hz, Channels 8
zajec@linux-samsung700g7a:~> aplay -D hdmihdtest0 -c8 -fs16_le
-r192000 dts.spdif
Playing raw data 'dts.spdif' : Signed 16 bit Little Endian, Rate
192000 Hz, Channels 8

For the record, the "howto" is mostly a workaround for missing DEV=[1..3] on (now) very old systems, instead of messing around with asoundrc you can just use "-D hdmi:CARD=Generic,DEV=0,AES0=6" instead of -DhdmihdtestX. (in AES0 the 0x2 is non-PCM flag, 0x4 is non-copyright flag IIRC - ALSA default is 0x4).

Hooray! I got
DOLBY HD
and
DTS-HD MA
on my Denon 1912 display!

Now the main question... do you have any experience on using DTS-HD MA
(or TrueHD) with mplayer? :|

Nope (well, any that I still remember). Support is there, though, so I guess it should work.

--
Anssi Hannula

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/