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@xxxxxxx>: > > 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@xxxxxxx> > --- > --- 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), > + ALC262_TOSHIBA_RX1), > 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), > @@ -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データ /(独)情報処理推進機構 > 三浦広志 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel