At Wed, 6 Jul 2011 11:53:47 +0800, Raymond Yau wrote:
Refer to commit ce764ab22e40a046065c9417ee5f04ad2a816ac1
ALSA: hda - Add channel-mode support to Realtek auto-parser
It seem that max channel is six instead of two when the channel mode is 2ch for those 3 jacks motherboard
using hda-emu and alsa-info from http://thread.gmane.org/gmane.linux.alsa.devel/86816
PCM 0 p 44100 2 16
Open PCM ALC887 Analog for play Available PCM parameters: channels: 2/6 formats: S16_LE S32_LE rates: 44100 48000 96000 192000 Prepare PCM, rate=44100, channels=2, format=16 bits
because
spec->multiout.max_channels = spec->multiout.num_dacs * 2;
is assigned after alc_auto_add_multi_channel_mode() increase spec->multiout.num_dacs from 1 to 3
spec->multiout.num_dacs = num_pins + 1;
Right, and this is intentional. Since there should be enough amount of DACs, the driver keeps using the surround DACs statically. In that way, apps can keep opening the device in the surround mode while user can switch the outputs on the fly via channel-mode mixer enum.
Takashi