Re: [alsa-devel] [PATCH] HDA: patch-realtek: toshiba dynabook SS RX1 which use ALC262
At Thu, 28 Aug 2008 13:40:23 +0000, Hiroshi Miura wrote:
Recent patch for toshiba dynabook SS RX1 against recent snapshot;
Thanks. Now applied and pushed to my tree.
Takashi
Hiroshi
2008/8/26 Takashi Iwai tiwai@suse.de:
Hi Miura-san,
At Tue, 26 Aug 2008 17:39:17 +0900, 三浦 SPS wrote:
Hi Takashi,
When I test with recent tree on the Toshiba laptop, Toshiba dynabook SS RX1, some mixer items are not controlled by ALSA. Some mixer items appears as an OSS mixer control. Chipset is HDA intel with Realtek ALC262.
I make this patch by using as many datas and functions in existent model.
Toshiba hda-intel ALC262 should be controlled as same model as fujitsu. There is an only difference in nid of head phone jack.
A related bugtrack id is #3386 and I also post it there. https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3386
Thanks. The changes look OK, but your MUA broke the embedded patch.
BTW, I merged other patches to add more support in patch_realtek.c, and one of them is the support for Toshiba S06. Could you check whether it's compatible with yours? It seems S06 uses the digital mic instead of analog mic, and this can be a difference.
Signed-off-by: Hiroshi Miura miurahr@acm.org
--- alsa-driver-unstable/alsa-kernel/pci/hda/patch_realtek.c.orig 2008-08-27 06:05:19.000000000 +0000 +++ alsa-driver-unstable/alsa-kernel/pci/hda/patch_realtek.c 2008-08-27 11:28:04.000000000 +0000 @@ -103,6 +103,7 @@ enum { ALC262_LENOVO_3000, ALC262_NEC, ALC262_TOSHIBA_S06,
- ALC262_TOSHIBA_RX1, ALC262_AUTO, ALC262_MODEL_LAST /* last tag */
}; @@ -9705,6 +9706,25 @@ static struct snd_kcontrol_new alc262_le { } /* end */ };
+static struct snd_kcontrol_new alc262_toshiba_rx1_mixer[] = {
- HDA_BIND_VOL("Master Playback Volume", &alc262_fujitsu_bind_master_vol),
- {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Master Playback Switch",
.info = snd_hda_mixer_amp_switch_info,
.get = snd_hda_mixer_amp_switch_get,
.put = alc262_sony_master_sw_put,
.private_value = HDA_COMPOSE_AMP_VAL(0x15, 3, 0, HDA_OUTPUT),
- },
- HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
- HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
- HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
- HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT),
- HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT),
- HDA_CODEC_VOLUME("Front Mic Boost", 0x19, 0, HDA_INPUT),
- { } /* end */
+};
/* additional init verbs for Benq laptops */ static struct hda_verb alc262_EAPD_verbs[] = { {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, @@ -10169,6 +10189,24 @@ static struct hda_verb alc262_HP_BPC_Wil { } };
+static struct hda_verb alc262_toshiba_rx1_unsol_verbs[] = {
- {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, /* Front Speaker */
- {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
- {0x14, AC_VERB_SET_CONNECT_SEL, 0x01},
- {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, /* MIC jack */
- {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, /* Front MIC */
- {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) },
- {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) },
- {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP }, /* HP jack */
- {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
- {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
- {}
+};
#ifdef CONFIG_SND_HDA_POWER_SAVE #define alc262_loopbacks alc880_loopbacks #endif @@ -10258,6 +10296,8 @@ static const char *alc262_models[ALC262_ [ALC262_ULTRA] = "ultra", [ALC262_LENOVO_3000] = "lenovo-3000", [ALC262_NEC] = "nec",
- [ALC262_TOSHIBA_S06] = "toshiba-s06",
- [ALC262_TOSHIBA_RX1] = "toshiba-rx1", [ALC262_AUTO] = "auto",
};
@@ -10292,7 +10332,7 @@ static struct snd_pci_quirk alc262_cfg_t SND_PCI_QUIRK(0x104d, 0x900e, "Sony ASSAMD", ALC262_SONY_ASSAMD), SND_PCI_QUIRK(0x104d, 0x9015, "Sony 0x9015", ALC262_SONY_ASSAMD), SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1",
ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x1179, 0x0268, "Toshiba S06", ALC262_TOSHIBA_S06), SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FUJITSU), SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FUJITSU),ALC262_TOSHIBA_RX1),
@@ -10500,6 +10540,18 @@ static struct alc_config_preset alc262_p .unsol_event = alc262_toshiba_s06_unsol_event, .init_hook = alc262_toshiba_s06_init_hook, },
- [ALC262_TOSHIBA_RX1] = {
.mixers = { alc262_toshiba_rx1_mixer },
.init_verbs = { alc262_init_verbs, alc262_toshiba_rx1_unsol_verbs },
.num_dacs = ARRAY_SIZE(alc262_dac_nids),
.dac_nids = alc262_dac_nids,
.hp_nid = 0x03,
.num_channel_mode = ARRAY_SIZE(alc262_modes),
.channel_mode = alc262_modes,
.input_mux = &alc262_capture_source,
.unsol_event = alc262_hippo_unsol_event,
.init_hook = alc262_hippo_automute,
- },
};
static int patch_alc262(struct hda_codec *codec)
-- HIroshi Miura NTT DATA Corp. and IPA OSS center (株)NTTデータ /(独)情報処理推進機構 三浦広志
participants (1)
-
Takashi Iwai