[alsa-devel] max channels of 3 jacks 6 channels motherboard using model=auto realtek codec

Raymond Yau superquad.vortex2 at gmail.com
Sun Jul 10 05:31:44 CEST 2011


2011/7/6 Takashi Iwai <tiwai at suse.de>:
> 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.
>
>

How can the driver support 6 channels when the input jacks have not
been retasked as output ?

This behaviour seem different from model=3stack-6ch or
model=3stack-6ch-dig or those via codec with smart51 "OFF"

Another example is 4jacks 8 channels CLEVO P150HM notebook in

http://thread.gmane.org/gmane.linux.alsa.devel/86475/focus=86601

I wonder how PA server can know the notebook support multi channels
when it does not check the existence of "Channel Mode" or "Smart51"
control  since input jacks remain for input by default

http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/10096

Even jack dectect api cannot provide any info whether the jack is
retaskable or not or any event which indicate the jacks have been
retasked from input to output or vice versa


More information about the Alsa-devel mailing list