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

John Ettedgui john.ettedgui at gmail.com
Tue Dec 10 06:18:29 PST 2013


On Tue, Dec 10, 2013 at 5:54 AM, Raymond Yau <superquad.vortex2 at gmail.com>wrote:

>
>  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
>
>
> 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 ?
>
> I was not able to find all of these, but I found most of these and they do
match the receiver spec.

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
>
>
> Do AC3 or DTS passthrough  hdmi work (using alsa and pulseaudio) or not ?
>
> Yes with both alsa and pulseaudio (in PA, I'm using my hacked extra hdmi
conf file and not the default one)

> Do your Denon HDMI receiver support 7.1 ?
>
> yes, but I have only have it setup for 5.1

>     Profiles:
>         output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1,
> sources: 0, priority: 400)
>         output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks:
> 1, sources: 0, priority: 3300)
>         output:hdmi-stereo-extra1: Digital Stereo (HDMI) Output (sinks: 1,
> sources: 0, priority: 200)
>         output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI) Output
> (sinks: 1, sources: 0, priority: 3100)
>         output:hdmi-stereo-extra2: Digital Stereo (HDMI) Output (sinks: 1,
> sources: 0, priority: 200)
>         output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI) Output
> (sinks: 1, sources: 0, priority: 3100)
>         output:hdmi-stereo-extra3: Digital Stereo (HDMI) Output (sinks: 1,
> sources: 0, priority: 200)
>         output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI) Output
> (sinks: 1, sources: 0, priority: 3100)
>
> seem no 7.1 in pulseaudio ?
>
> I setup pulse to 6 channels, maybe that is why?
Or maybe it is unrelated?

>
> Do pulseaudio select the first HDMI as active port the default sink ?
>
> I am not sure.
>>
>
> seem no output of pactl stat
>
Ooops

>
>
> http://cgit.freedesktop.org/pulseaudio/pulseaudio/plain/src/modules/alsa/mixer/profile-sets/extra-hdmi.conf
>
> you may comment the last three hdmi devices until monitor_presence bug is
> fixed
>
> Oh I have already a hacked version of this file that works for me as
mentioned in first email, I will attach it.
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20131210/58024050/attachment-0001.html>
-------------- next part --------------
Module #0
	Name: module-device-restore
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute state of devices"
		module.version = "4.0-271-g09e8-dirty"

Module #1
	Name: module-stream-restore
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute/device state of streams"
		module.version = "4.0-271-g09e8-dirty"

Module #2
	Name: module-card-restore
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore profile of cards"
		module.version = "4.0-271-g09e8-dirty"

Module #3
	Name: module-augment-properties
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Augment the property sets of streams with additional static information"
		module.version = "4.0-271-g09e8-dirty"

Module #4
	Name: module-switch-on-port-available
	Argument: 
	Usage counter: n/a
	Properties:
		

Module #5
	Name: module-udev-detect
	Argument: tsched=0
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Detect available audio hardware and load matching drivers"
		module.version = "4.0-271-g09e8-dirty"

Module #6
	Name: module-alsa-card
	Argument: device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
	Usage counter: 0
	Properties:
		module.author = "Lennart Poettering"
		module.description = "ALSA Card"
		module.version = "4.0-271-g09e8-dirty"

Module #7
	Name: module-jackdbus-detect
	Argument: channels=2
	Usage counter: n/a
	Properties:
		module.author = "David Henningsson"
		module.description = "Adds JACK sink/source ports when JACK is started"
		module.version = "4.0-271-g09e8-dirty"

Module #8
	Name: module-bluetooth-policy
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Frédéric Dalleau"
		module.description = "When a bluetooth sink or source is added, load module-loopback"
		module.version = "4.0-271-g09e8-dirty"

Module #9
	Name: module-bluetooth-discover
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "João Paulo Rechi Vita"
		module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
		module.version = "4.0-271-g09e8-dirty"

Module #10
	Name: module-bluez5-discover
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "João Paulo Rechi Vita"
		module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
		module.version = "4.0-271-g09e8-dirty"

Module #11
	Name: module-bluez4-discover
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "João Paulo Rechi Vita"
		module.description = "Detect available BlueZ 4 Bluetooth audio devices and load BlueZ 4 Bluetooth audio drivers"
		module.version = "4.0-271-g09e8-dirty"

Module #12
	Name: module-esound-protocol-unix
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "ESOUND protocol (UNIX sockets)"
		module.version = "4.0-271-g09e8-dirty"

Module #13
	Name: module-native-protocol-unix
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Native protocol (UNIX sockets)"
		module.version = "4.0-271-g09e8-dirty"

Module #14
	Name: module-gconf
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "GConf Adapter"
		module.version = "4.0-271-g09e8-dirty"

Module #15
	Name: module-default-device-restore
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the default sink and source"
		module.version = "4.0-271-g09e8-dirty"

Module #16
	Name: module-rescue-streams
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "When a sink/source is removed, try to move its streams to the default sink/source"
		module.version = "4.0-271-g09e8-dirty"

Module #17
	Name: module-always-sink
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Colin Guthrie"
		module.description = "Always keeps at least one sink loaded even if it's a null one"
		module.version = "4.0-271-g09e8-dirty"

Module #18
	Name: module-intended-roles
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically set device of streams based on intended roles of devices"
		module.version = "4.0-271-g09e8-dirty"

Module #19
	Name: module-suspend-on-idle
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "When a sink/source is idle for too long, suspend it"
		module.version = "4.0-271-g09e8-dirty"

Module #20
	Name: module-console-kit
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Create a client for each ConsoleKit session of this user"
		module.version = "4.0-271-g09e8-dirty"

Module #21
	Name: module-systemd-login
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Create a client for each login session of this user"
		module.version = "4.0-271-g09e8-dirty"

Module #22
	Name: module-position-event-sounds
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
		module.version = "4.0-271-g09e8-dirty"

Module #23
	Name: module-role-cork
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Lennart Poettering"
		module.description = "Mute & cork streams with certain roles while others exist"
		module.version = "4.0-271-g09e8-dirty"

Module #24
	Name: module-filter-heuristics
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Colin Guthrie"
		module.description = "Detect when various filters are desirable"
		module.version = "4.0-271-g09e8-dirty"

Module #25
	Name: module-filter-apply
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Colin Guthrie"
		module.description = "Load filter sinks automatically when needed"
		module.version = "4.0-271-g09e8-dirty"

Module #26
	Name: module-dbus-protocol
	Argument: 
	Usage counter: n/a
	Properties:
		module.author = "Tanu Kaskinen"
		module.description = "D-Bus interface"
		module.version = "4.0-271-g09e8-dirty"

Sink #0
	State: SUSPENDED
	Name: alsa_output.pci-0000_01_00.1.hdmi-surround-extra1
	Description: Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] Digital Surround 5.1 (HDMI)
	Driver: module-alsa-card.c
	Sample Specification: s16le 6ch 48000Hz
	Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe
	Owner Module: 6
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_01_00.1.hdmi-surround-extra1.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 1"
		alsa.id = "HDMI 1"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "7"
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfbcfc000 irq 47"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:01:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "aab0"
		device.product.name = "Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]"
		device.string = "hdmi:0,1"
		device.buffering.buffer_size = "57600"
		device.buffering.fragment_size = "11520"
		device.access_mode = "mmap"
		device.profile.name = "hdmi-surround-extra1"
		device.profile.description = "Digital Surround 5.1 (HDMI)"
		device.description = "Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] Digital Surround 5.1 (HDMI)"
		alsa.mixer_name = "ATI R6xx HDMI"
		alsa.components = "HDA:1002aa01,00aa0100,00100300"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Ports:
		hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, available)
	Active Port: hdmi-output-1
	Formats:
		pcm

Source #0
	State: SUSPENDED
	Name: alsa_output.pci-0000_01_00.1.hdmi-surround-extra1.monitor
	Description: Monitor of Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] Digital Surround 5.1 (HDMI)
	Driver: module-alsa-card.c
	Sample Specification: s16le 6ch 48000Hz
	Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe
	Owner Module: 6
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor of Sink: alsa_output.pci-0000_01_00.1.hdmi-surround-extra1
	Latency: 0 usec, configured 0 usec
	Flags: DECIBEL_VOLUME LATENCY 
	Properties:
		device.description = "Monitor of Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] Digital Surround 5.1 (HDMI)"
		device.class = "monitor"
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfbcfc000 irq 47"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:01:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "aab0"
		device.product.name = "Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]"
		device.string = "0"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Formats:
		pcm

Client #0
	Driver: module-systemd-login.c
	Owner Module: 21
	Properties:
		application.name = "Login Session 1"
		systemd-login.session = "1"

Client #3
	Driver: protocol-native.c
	Owner Module: 13
	Properties:
		application.name = "pactl"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "28"
		application.process.id = "4245"
		application.process.user = "john"
		application.process.host = "HTPC"
		application.process.binary = "pactl"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "5cd3ebb884298f8df57b1e43000003bc"
		application.process.session_id = "1"

Card #0
	Name: alsa_card.pci-0000_01_00.1
	Driver: module-alsa-card.c
	Owner Module: 6
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfbcfc000 irq 47"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:01:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "aab0"
		device.product.name = "Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]"
		device.string = "0"
		device.description = "Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 400)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 3300)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 200)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 3100)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 200)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 3100)
		output:hdmi-stereo-extra3: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 200)
		output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 3100)
		off: Off (sinks: 0, sources: 0, priority: 0)
	Active Profile: output:hdmi-surround-extra1
	Ports:
		hdmi-output-0: HDMI / DisplayPort (priority: 5900, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo, output:hdmi-surround
		hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1
		hdmi-output-2: HDMI / DisplayPort 3 (priority: 5700, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2
		hdmi-output-3: HDMI / DisplayPort 4 (priority: 5600, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: extra-hdmi.conf.mygood
Type: application/octet-stream
Size: 1652 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20131210/58024050/attachment-0001.obj>


More information about the pulseaudio-discuss mailing list