how about those hdmi jack and iec958 on ad1989b?
On AD codecs, all digital outputs are exposed as a single cloned
device with HDA_PCM_TYPE_SPDIF.
how about ad1988b with nvidia codec ?
Nvidia codec provides devices only with HDA_PCM_TYPE_HDMI, of course.
from user point of view , how can they differenitate hdmi jack is
digital
ouput and hdmi output ?
The device 1 is from AD and the device 3 is from Nvidia codec, as you
can see below. And this is exactly the case the conflict happens as I
mentioned in the original mail.
will your fix change the spdif of those motherboard with ad1988b which
have iec958 but no hdmi jack ?
It won't change anything unless both SPDIF and HDMI *devices* are
actually created.
Which is connected to what output, you can't know exactly unless you
compare the obtained ELD. The HD-audio spec isn't good enough to
identify the actual output.
it seem that there is no presence detect on this codec
ELD has nothing to do with the presence detect bit.
ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_examples
6.1.2. Chipset with 8-channel support, single stream
This configuration is used in MCP77, MCP78, MCP79, MCP7A, and ION.
In the case where multiple HDMI display connectors are present, the audio
stream is broadcast to all HDMI connectors at once. A single ALSA device is
exposed.
ELD and PD information is not available on these chipsets.
In these chipsets, the multiple 2-channel converters are aggregated by the
ALSA driver and exposed as a single 8-channel device. Some chipsets support
2, or 8 channels (MCP77). Other chipsets support 2, 6, or 8 channels
(MCP79).
id = 0x10de0002, .name = "MCP77/78 HDMI", .patch = patch_nvhdmi_8ch_7x },
does it mean that this hdmi codec support 8 channels but no ELD info ?
Codec: Nvidia MCP77/78 HDMI
Address: 3
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0002
Subsystem Id: 0x10de0101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
rates [0x0]:
bits [0x0]:
formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital
Control: name="IEC958 Playback Con Mask", index=1, device=0
Control: name="IEC958 Playback Pro Mask", index=1, device=0
Control: name="IEC958 Playback Default", index=1, device=0
Control: name="IEC958 Playback Switch", index=1, device=0
Device: name="HDMI 0", type="HDMI", device=3
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x18560110: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x04
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/881826