Mercurial > illumos > illumos-gate
changeset 11955:3370151db88f
6932506 The fix in 6862287 does not fix the mute issue
author | Zhao Edgar Liu - Sun Microsystems <Edgar.Liu@Sun.COM> |
---|---|
date | Fri, 19 Mar 2010 10:22:54 +0800 |
parents | d6630fa76b91 |
children | 872ffb603131 |
files | usr/src/uts/common/io/audio/drv/audiohd/audiohd.c |
diffstat | 1 files changed, 13 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c Thu Mar 18 18:06:26 2010 -0600 +++ b/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c Fri Mar 19 10:22:54 2010 +0800 @@ -1208,25 +1208,20 @@ maxgain = w->outamp_cap & AUDIOHDC_AMP_CAP_STEP_NUMS; maxgain >>= AUDIOHD_GAIN_OFF; - if (w->outamp_cap) { - verb = AUDIOHDC_AMP_SET_OUTPUT | - (gain * maxgain / 100); - if (gain == 0) { - /* set mute bit in amplifier */ - verb |= AUDIOHDC_AMP_SET_MUTE; - } - - (void) audioha_codec_4bit_verb_get(statep, - path->codec->index, - wid, - AUDIOHDC_VERB_SET_AMP_MUTE, - AUDIOHDC_AMP_SET_LEFT | verb); - (void) audioha_codec_4bit_verb_get(statep, - path->codec->index, - wid, - AUDIOHDC_VERB_SET_AMP_MUTE, - AUDIOHDC_AMP_SET_RIGHT | verb); + + verb = AUDIOHDC_AMP_SET_OUTPUT | AUDIOHDC_AMP_SET_INPUT + | (gain * maxgain / 100); + if (gain == 0) { + /* set mute bit in amplifier */ + verb |= AUDIOHDC_AMP_SET_MUTE; } + + (void) audioha_codec_4bit_verb_get(statep, + path->codec->index, wid, AUDIOHDC_VERB_SET_AMP_MUTE, + AUDIOHDC_AMP_SET_LEFT | verb); + (void) audioha_codec_4bit_verb_get(statep, + path->codec->index, wid, AUDIOHDC_VERB_SET_AMP_MUTE, + AUDIOHDC_AMP_SET_RIGHT | verb); } }