[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hfw7wfszx.wl%tiwai@suse.de>
Date: Thu, 09 Aug 2012 09:02:10 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Thierry Reding <thierry.reding@...onic-design.de>
Cc: Jaroslav Kysela <perex@...ex.cz>,
David Henningsson <david.henningsson@...onical.com>,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ALSA: hda/realtek - Keep analog bypass muted on ALC892
At Thu, 9 Aug 2012 08:47:19 +0200,
Thierry Reding wrote:
>
> Unmuting the analog bypass causes any input to be directly bypassed to
> the outputs, which is usually not expected by the user.
>
> Signed-off-by: Thierry Reding <thierry.reding@...onic-design.de>
> ---
> Note that this patch could be generalized to include all codec variants
> that have this second channel. As I don't have access to all the data
> sheets I'll leave that decision up to somebody with more hardware
> available.
Hmm, are you really sure that this is exclusive switch between two?
All Realtek codecs with this mixer widget mixes two sources up.
Otherwise it must not be a "mixer" widget at all but it must be a
"selector" widget.
And I haven't received a bug report regarding this although ALC892 is
no new chip and the auto-parser has been enabled for so long time.
thanks,
Takashi
>
> sound/pci/hda/patch_realtek.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 4f81dd4..54d0917 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -3752,8 +3752,15 @@ static void alc_auto_set_output_and_unmute(struct hda_codec *codec,
> if (nid_has_mute(codec, mix, HDA_INPUT)) {
> snd_hda_codec_write(codec, mix, 0, AC_VERB_SET_AMP_GAIN_MUTE,
> AMP_IN_UNMUTE(0));
> - snd_hda_codec_write(codec, mix, 0, AC_VERB_SET_AMP_GAIN_MUTE,
> - AMP_IN_UNMUTE(1));
> + /*
> + * On ALC892, the second entry in the connection list is the
> + * analog bypass. Unmuting it will cause any inputs to be
> + * directly forwarded to the corresponding outputs.
> + */
> + if (codec->subsystem_id != 0x10ec0892)
> + snd_hda_codec_write(codec, mix, 0,
> + AC_VERB_SET_AMP_GAIN_MUTE,
> + AMP_IN_UNMUTE(1));
> }
> /* initialize volume */
> nid = alc_look_for_out_vol_nid(codec, pin, dac);
> --
> 1.7.11.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists