Merge branch 'fix/hda' into topic/hda
authorTakashi Iwai <tiwai@suse.de>
Wed, 19 Aug 2009 18:10:24 +0000 (20:10 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 19 Aug 2009 18:10:24 +0000 (20:10 +0200)
1  2 
sound/pci/hda/patch_realtek.c

index efb92c83c7a68fd9c984e6f450615addd0fb20de,6f683e451f2bfc09dca7d0fa2d3bd5193f000b8a..084e291e12de36a0153e7a7950bf8706b5c5f19c
@@@ -12416,10 -12528,18 +12414,19 @@@ static struct snd_pci_quirk alc268_cfg_
        {}
  };
  
+ /* Toshiba laptops have no unique PCI SSID but only codec SSID */
+ static struct snd_pci_quirk alc268_ssid_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x1179, 0xff0a, "TOSHIBA X-200", ALC268_AUTO),
+       SND_PCI_QUIRK(0x1179, 0xff0e, "TOSHIBA X-200 HDMI", ALC268_AUTO),
+       SND_PCI_QUIRK_MASK(0x1179, 0xff00, 0xff00, "TOSHIBA A/Lx05",
+                          ALC268_TOSHIBA),
+       {}
+ };
  static struct alc_config_preset alc268_presets[] = {
        [ALC267_QUANTA_IL1] = {
 -              .mixers = { alc267_quanta_il1_mixer, alc268_beep_mixer },
 +              .mixers = { alc267_quanta_il1_mixer, alc268_beep_mixer,
 +                          alc268_capture_nosrc_mixer },
                .init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs,
                                alc267_quanta_il1_verbs },
                .num_dacs = ARRAY_SIZE(alc268_dac_nids),
@@@ -12588,9 -12703,13 +12595,13 @@@ static int patch_alc268(struct hda_code
                                                  alc268_models,
                                                  alc268_cfg_tbl);
  
+       if (board_config < 0 || board_config >= ALC268_MODEL_LAST)
+               board_config = snd_hda_check_board_codec_sid_config(codec,
+                       ALC882_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl);
        if (board_config < 0 || board_config >= ALC268_MODEL_LAST) {
 -              printk(KERN_INFO "hda_codec: Unknown model for %s, "
 -                     "trying auto-probe from BIOS...\n", codec->chip_name);
 +              printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n",
 +                     codec->chip_name);
                board_config = ALC268_AUTO;
        }