[alsa-devel] HDMI LPCM (7.1) with AMD/FGLRX

Andrée 'Glaucous' glakke1 at gmail.com
Mon Aug 8 11:32:43 CEST 2011


Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100200
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x5]: PCM AC3
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Device: name="HDMI 0", type="HDMI", device=3
  Converter: stream=1, channel=0
  Digital: Enabled
  Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=03, enabled=1
  Connection: 1

Since it's R6xx, it should be processed by patch_generic_hdmi().


id = 0x1002aa01, .name = "R6xx HDMI",	.patch = patch_generic_hdmi

Although this might not be proof enough, how best would I debug and
check if it's using patch_generic_hdmi?
I also checked the ELD, while outputting video to HDMI (to make sure
it's enabled) to the screen.

(Generic is symlink to card2)

monitor_present		0
eld_valid		1
connection_type		HDMI
eld_version		[0x0] reserved
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		[0x0]
sad_count		0

It seems to think that it's valid at least, but I doesn't seem to
output any information about it (speaker count etc).

On 8 August 2011 09:16, Takashi Iwai <tiwai at suse.de> wrote:

> At Sun, 7 Aug 2011 21:17:46 +0200,
> Andrée 'Glaucous' wrote:
> >
> > Hello.
> >
> > I'm wondering if there's any ongoing development on multichannel sound
> > support for HDMI - LPCM/5.1/7.1, not bitstreamed audio such as DTS/AC3
> > (which works).
> > I've tried both a AMD HD 4870 and AMD HD 6870, on both 2 channel and
> > bitstreamed audio works with ALSA, but not LPCM. LPCM works perfectly
> (5.1,
> > 7.1) on Windows.
> >
> > According to the mailing list there seem to have been some activity in
> this
> > area (January or so), but no success. I'd gladly try out patches.
> Check whether your HDMI codec chip is processed via
> patch_generic_hdmi() in patch_hdmi.c.  Some ATI codecs are via
> patch_atihdmi() and it doesn't support multi-channel LPCM.
> If it's through patch_generic_hdmi(), basically it should work as is,
> since the very same function is used by Intel and Nvidia HDMI, too, and
> LPCM works on them.  Of course, some unknown ATI-specific things might
> be missing.  But first check whether ELD validity is set, i.e. whether
> the video driver passes the right ELD to HDMI auido side.
> Takashi

More information about the Alsa-devel mailing list