FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 11-03-2009, 04:48 PM
Leann Ogasawara
 
Default SRU: Toshiba NB200 (Realtek ALC272) mute speakers when headphones are plugged in

>From 13986cae0d540ca8a98ec0a7ca081b44edb2c8e8 Mon Sep 17 00:00:00 2001
From: Leann Ogasawara <leann.ogasawara@canonical.com>
Date: Fri, 21 Aug 2009 13:56:28 -0700
Subject: [PATCH] UBUNTU: SAUCE: Toshiba NB200 (Realtek ALC272) mute speakers when headphones are plugged in

OriginalAuthor: Andres Salomon <dilinger@canonical.com>
OriginalLocation: Hardy LUM netbook-lpia branch
BugLink: http://bugs.launchpad.net/bugs/438318

Mute the speakers when headphones are plugged in for the Toshiba
NB200, Realtek ALC272 (Vendor ID: 0x10ec:0272, Subsystem ID:
0x1179:0xff6e, Revision ID: 0x100001). Code was forward ported from
Hardy LUM (netbook-lpia branch).

Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
---
sound/pci/hda/patch_realtek.c | 38 ++++++++++++++++++++++++++++++++++++--
1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 79710c5..1b9f430 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -15646,6 +15646,40 @@ static void alc663_m51va_inithook(struct hda_codec *codec)
alc663_m51va_mic_automute(codec);
}

+static void alc272_toshiba_speaker_automute(struct hda_codec *codec)
+{
+ unsigned int present;
+ unsigned char bits;
+
+ present = snd_hda_codec_read(codec, 0x21, 0,
+ AC_VERB_GET_PIN_SENSE, 0)
+ & AC_PINSENSE_PRESENCE;
+ bits = present ? HDA_AMP_MUTE : 0;
+ snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 0,
+ AMP_OUT_MUTE, bits);
+ snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 1,
+ AMP_OUT_MUTE, bits);
+}
+
+static void alc272_toshiba_unsol_event(struct hda_codec *codec,
+ unsigned int res)
+{
+ switch (res >> 26) {
+ case ALC880_HP_EVENT:
+ alc272_toshiba_speaker_automute(codec);
+ break;
+ case ALC880_MIC_EVENT:
+ alc663_m51va_mic_automute(codec);
+ break;
+ }
+}
+
+static void alc272_toshiba_inithook(struct hda_codec *codec)
+{
+ alc272_toshiba_speaker_automute(codec);
+ alc663_m51va_mic_automute(codec);
+}
+
/* ***************** Mode1 ******************************/
static void alc663_mode1_unsol_event(struct hda_codec *codec,
unsigned int res)
@@ -16086,8 +16120,8 @@ static struct alc_config_preset alc662_presets[] = {
.capsrc_nids = alc662_capsrc_nids,
.channel_mode = alc662_3ST_2ch_modes,
.input_mux = &alc663_m51va_capture_source,
- .unsol_event = alc663_m51va_unsol_event,
- .init_hook = alc663_m51va_inithook,
+ .unsol_event = alc272_toshiba_unsol_event,
+ .init_hook = alc272_toshiba_inithook,
},
[ALC663_ASUS_M51VA] = {
.mixers = { alc663_m51va_mixer, alc662_capture_mixer},
--
1.5.6.3




--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 11-04-2009, 02:50 PM
Stefan Bader
 
Default SRU: Toshiba NB200 (Realtek ALC272) mute speakers when headphones are plugged in

The change to alc662_presets[] looks suspicious but on due to the
the patch hints. The patch actually only changes the ALC272_TOSHIBA_NB200
element within that array. So it only changes the newly added model.

Leann Ogasawara wrote:
>>From 13986cae0d540ca8a98ec0a7ca081b44edb2c8e8 Mon Sep 17 00:00:00 2001
> From: Leann Ogasawara <leann.ogasawara@canonical.com>
> Date: Fri, 21 Aug 2009 13:56:28 -0700
> Subject: [PATCH] UBUNTU: SAUCE: Toshiba NB200 (Realtek ALC272) mute speakers when headphones are plugged in
>
> OriginalAuthor: Andres Salomon <dilinger@canonical.com>
> OriginalLocation: Hardy LUM netbook-lpia branch
> BugLink: http://bugs.launchpad.net/bugs/438318
>
> Mute the speakers when headphones are plugged in for the Toshiba
> NB200, Realtek ALC272 (Vendor ID: 0x10ec:0272, Subsystem ID:
> 0x1179:0xff6e, Revision ID: 0x100001). Code was forward ported from
> Hardy LUM (netbook-lpia branch).
>
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>

Acked-by: Stefan Bader <stefan.bader@canonical>

> ---
> sound/pci/hda/patch_realtek.c | 38 ++++++++++++++++++++++++++++++++++++--
> 1 files changed, 36 insertions(+), 2 deletions(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 79710c5..1b9f430 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -15646,6 +15646,40 @@ static void alc663_m51va_inithook(struct hda_codec *codec)
> alc663_m51va_mic_automute(codec);
> }
>
> +static void alc272_toshiba_speaker_automute(struct hda_codec *codec)
> +{
> + unsigned int present;
> + unsigned char bits;
> +
> + present = snd_hda_codec_read(codec, 0x21, 0,
> + AC_VERB_GET_PIN_SENSE, 0)
> + & AC_PINSENSE_PRESENCE;
> + bits = present ? HDA_AMP_MUTE : 0;
> + snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 0,
> + AMP_OUT_MUTE, bits);
> + snd_hda_codec_amp_stereo(codec, 0x17, HDA_OUTPUT, 1,
> + AMP_OUT_MUTE, bits);
> +}
> +
> +static void alc272_toshiba_unsol_event(struct hda_codec *codec,
> + unsigned int res)
> +{
> + switch (res >> 26) {
> + case ALC880_HP_EVENT:
> + alc272_toshiba_speaker_automute(codec);
> + break;
> + case ALC880_MIC_EVENT:
> + alc663_m51va_mic_automute(codec);
> + break;
> + }
> +}
> +
> +static void alc272_toshiba_inithook(struct hda_codec *codec)
> +{
> + alc272_toshiba_speaker_automute(codec);
> + alc663_m51va_mic_automute(codec);
> +}
> +
> /* ***************** Mode1 ******************************/
> static void alc663_mode1_unsol_event(struct hda_codec *codec,
> unsigned int res)
> @@ -16086,8 +16120,8 @@ static struct alc_config_preset alc662_presets[] = {
> .capsrc_nids = alc662_capsrc_nids,
> .channel_mode = alc662_3ST_2ch_modes,
> .input_mux = &alc663_m51va_capture_source,
> - .unsol_event = alc663_m51va_unsol_event,
> - .init_hook = alc663_m51va_inithook,
> + .unsol_event = alc272_toshiba_unsol_event,
> + .init_hook = alc272_toshiba_inithook,
> },
> [ALC663_ASUS_M51VA] = {
> .mixers = { alc663_m51va_mixer, alc662_capture_mixer},


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 12:58 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org