[alsa-devel] [RFC] Fix for conflict of HDMI and SPDIF IEC958 controls

Raymond Yau superquad.vortex2 at gmail.com
Mon Oct 15 15:10:44 CEST 2012


> > > > > >
> > > > > > 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
> > > >


More information about the Alsa-devel mailing list