if the speaker pins were placed in mout->extra_out , both speaker and subwoofer had the front channel signal
there was a changs in auto parser and the speaker pins are placed in line out and this require 4 channels instead of stereo
for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++)
if (!mout->no_share_stream && mout->extra_out_nid[i])
snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], stream_tag, 0, format);
/* surrounds */
for (i = 1; i < mout->num_dacs; i++) {
if (chs >= (i + 1) * 2) /* independent out */
snd_hda_codec_setup_stream(codec, nids[i], stream_tag,
i * 2, format);
else if (!mout->no_share_stream) /* copy front */
snd_hda_codec_setup_stream(codec, nids[i], stream_tag,
0, format);
}
snd_hda_ multi_out_ analog_ prepare( ) in hda_codec.c
if the speaker pins were placed in mout->extra_out , both speaker and subwoofer had the front channel signal
there was a changs in auto parser and the speaker pins are placed in line out and this require 4 channels instead of stereo
for (i = 0; i < ARRAY_SIZE( mout->extra_ out_nid) ; i++) >no_share_ stream && mout->extra_ out_nid[ i]) hda_codec_ setup_stream( codec,
mout- >extra_ out_nid[ i],
stream_ tag, 0, format);
if (!mout-
snd_
/* surrounds */ hda_codec_ setup_stream( codec, nids[i], stream_tag, >no_share_ stream) /* copy front */ hda_codec_ setup_stream( codec, nids[i], stream_tag,
for (i = 1; i < mout->num_dacs; i++) {
if (chs >= (i + 1) * 2) /* independent out */
snd_
i * 2, format);
else if (!mout-
snd_
0, format);
}