Bug 79801 - amd cards don't get full hdmi functionality
Summary: amd cards don't get full hdmi functionality
Status: RESOLVED FIXED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL: D
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-08 15:37 UTC by Pierre Ossman
Modified: 2014-09-02 10:02 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Pierre Ossman 2014-06-08 15:37:56 UTC
These lines in PulseAudio's udev configutration restrict full HDMI functionality to just Nvidia and Intel:

> # NVidia and Intel HDAs often have more than one HDMI codec/port on the same card
> ATTRS{vendor}=="0x10de", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"
> ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"

But AMD cards also support multiple ports, and multi-channel data.
Comment 1 Raymond 2014-06-09 03:40:27 UTC
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-December/069924.html

do your amd graphic card support  Discrete Digital Multi Point Audio ?
Comment 2 Pierre Ossman 2014-06-09 05:19:55 UTC
I have 4 HDMI devices, so I'd say so:

card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Comment 3 Raymond 2014-06-10 06:28:35 UTC
cat /proc/asound/card*/eld#*.0 


xrandr --verbose
Comment 4 Pierre Ossman 2014-06-10 17:55:40 UTC
(In reply to comment #3)
> cat /proc/asound/card*/eld#*.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		3
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	[0xb] DTS-HD
sad1_channels		2
sad1_rates		[0x1ec0] 44100 48000 88200 96000 176400 192000
sad2_coding_type	[0xc] MLP (Dolby TrueHD)
sad2_channels		2
sad2_rates		[0x1ec0] 44100 48000 88200 96000 176400 192000

> 
> xrandr --verbose

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
HDMI-0 disconnected primary 1920x1080+0+0 (0x56) normal (normal left inverted right x axis y axis) 0mm x 0mm
	Identifier: 0x53
	Timestamp:  6883522
	Subpixel:   horizontal rgb
	Gamma:      1.0:1.0:1.0
	Brightness: 1.0
	Clones:    
	CRTC:       0
	CRTCs:      0 1 2 3
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	_MUTTER_PRESENTATION_OUTPUT: 0 
	dither: off 
		supported: offon
	audio: auto 
		supported: offonauto
	underscan vborder: 0 
		range: (0, 128)
	underscan hborder: 0 
		range: (0, 128)
	underscan: off 
		supported: offonauto
	coherent: 1 
		range: (0, 1)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
	Identifier: 0x54
	Timestamp:  6883522
	Subpixel:   horizontal rgb
	Clones:    
	CRTCs:      0 1 2 3
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	dither: off 
		supported: offon
	audio: auto 
		supported: offonauto
	underscan vborder: 0 
		range: (0, 128)
	underscan hborder: 0 
		range: (0, 128)
	underscan: off 
		supported: offonauto
	coherent: 1 
		range: (0, 1)
  1920x1080 (0x56)  148.5MHz
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock   56.2KHz
        v: height 1080 start 1084 end 1089 total 1125           clock   50.0Hz
Comment 5 Raymond 2014-07-13 11:41:14 UTC
ATTRS{vendor}=="0x10de", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"
ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"


these rules add all Intel hda controllers and ac97  controllers but AC97 controller don't support hdmi

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/intel8x0.c

how about excluding all AC97 controllers



static DEFINE_PCI_DEVICE_TABLE(snd_intel8x0_ids) = {
	{ PCI_VDEVICE(INTEL, 0x2415), DEVICE_INTEL },	/* 82801AA */
	{ PCI_VDEVICE(INTEL, 0x2425), DEVICE_INTEL },	/* 82901AB */
	{ PCI_VDEVICE(INTEL, 0x2445), DEVICE_INTEL },	/* 82801BA */
	{ PCI_VDEVICE(INTEL, 0x2485), DEVICE_INTEL },	/* ICH3 */
	{ PCI_VDEVICE(INTEL, 0x24c5), DEVICE_INTEL_ICH4 }, /* ICH4 */
	{ PCI_VDEVICE(INTEL, 0x24d5), DEVICE_INTEL_ICH4 }, /* ICH5 */
	{ PCI_VDEVICE(INTEL, 0x25a6), DEVICE_INTEL_ICH4 }, /* ESB */
	{ PCI_VDEVICE(INTEL, 0x266e), DEVICE_INTEL_ICH4 }, /* ICH6 */
	{ PCI_VDEVICE(INTEL, 0x27de), DEVICE_INTEL_ICH4 }, /* ICH7 */
	{ PCI_VDEVICE(INTEL, 0x2698), DEVICE_INTEL_ICH4 }, /* ESB2 */
	{ PCI_VDEVICE(INTEL, 0x7195), DEVICE_INTEL },	/* 440MX */
	{ PCI_VDEVICE(SI, 0x7012), DEVICE_SIS },	/* SI7012 */
	{ PCI_VDEVICE(NVIDIA, 0x01b1), DEVICE_NFORCE },	/* NFORCE */
	{ PCI_VDEVICE(NVIDIA, 0x003a), DEVICE_NFORCE },	/* MCP04 */
	{ PCI_VDEVICE(NVIDIA, 0x006a), DEVICE_NFORCE },	/* NFORCE2 */
	{ PCI_VDEVICE(NVIDIA, 0x0059), DEVICE_NFORCE },	/* CK804 */
	{ PCI_VDEVICE(NVIDIA, 0x008a), DEVICE_NFORCE },	/* CK8 */
	{ PCI_VDEVICE(NVIDIA, 0x00da), DEVICE_NFORCE },	/* NFORCE3 */
	{ PCI_VDEVICE(NVIDIA, 0x00ea), DEVICE_NFORCE },	/* CK8S */
	{ PCI_VDEVICE(NVIDIA, 0x026b), DEVICE_NFORCE },	/* MCP51 */
	{ PCI_VDEVICE(AMD, 0x746d), DEVICE_INTEL },	/* AMD8111 */
	{ PCI_VDEVICE(AMD, 0x7445), DEVICE_INTEL },	/* AMD768 */
	{ PCI_VDEVICE(AL, 0x5455), DEVICE_ALI },   /* Ali5455 */
	{ 0, }
Comment 6 David Henningsson 2014-09-02 10:02:23 UTC
This should now be fixed by Alexander's patch:

commit afbe9605c64ae896e7ebf1dc259976fecd5b2628
Author: Alexander E. Patrakov <patrakov@gmail.com>
Date:   Fri Aug 1 14:37:25 2014 +0600

    alsa: Add extra HDMI mappings


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.