diff options
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 80a0629f4917..b02404395e52 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -992,6 +992,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
992 | dell-m26 Dell Inspiron 1501 | 992 | dell-m26 Dell Inspiron 1501 |
993 | dell-m27 Dell Inspiron E1705/9400 | 993 | dell-m27 Dell Inspiron E1705/9400 |
994 | gateway Gateway laptops with EAPD control | 994 | gateway Gateway laptops with EAPD control |
995 | panasonic Panasonic CF-74 | ||
995 | 996 | ||
996 | STAC9205/9254 | 997 | STAC9205/9254 |
997 | ref Reference board | 998 | ref Reference board |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index b8e69a1b93f0..a39fbd89a985 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -52,6 +52,7 @@ enum { | |||
52 | STAC_9200_DELL_M26, | 52 | STAC_9200_DELL_M26, |
53 | STAC_9200_DELL_M27, | 53 | STAC_9200_DELL_M27, |
54 | STAC_9200_GATEWAY, | 54 | STAC_9200_GATEWAY, |
55 | STAC_9200_PANASONIC, | ||
55 | STAC_9200_MODELS | 56 | STAC_9200_MODELS |
56 | }; | 57 | }; |
57 | 58 | ||
@@ -1121,6 +1122,7 @@ static unsigned int *stac9200_brd_tbl[STAC_9200_MODELS] = { | |||
1121 | [STAC_9200_DELL_M25] = dell9200_m25_pin_configs, | 1122 | [STAC_9200_DELL_M25] = dell9200_m25_pin_configs, |
1122 | [STAC_9200_DELL_M26] = dell9200_m26_pin_configs, | 1123 | [STAC_9200_DELL_M26] = dell9200_m26_pin_configs, |
1123 | [STAC_9200_DELL_M27] = dell9200_m27_pin_configs, | 1124 | [STAC_9200_DELL_M27] = dell9200_m27_pin_configs, |
1125 | [STAC_9200_PANASONIC] = ref9200_pin_configs, | ||
1124 | }; | 1126 | }; |
1125 | 1127 | ||
1126 | static const char *stac9200_models[STAC_9200_MODELS] = { | 1128 | static const char *stac9200_models[STAC_9200_MODELS] = { |
@@ -1137,6 +1139,7 @@ static const char *stac9200_models[STAC_9200_MODELS] = { | |||
1137 | [STAC_9200_DELL_M26] = "dell-m26", | 1139 | [STAC_9200_DELL_M26] = "dell-m26", |
1138 | [STAC_9200_DELL_M27] = "dell-m27", | 1140 | [STAC_9200_DELL_M27] = "dell-m27", |
1139 | [STAC_9200_GATEWAY] = "gateway", | 1141 | [STAC_9200_GATEWAY] = "gateway", |
1142 | [STAC_9200_PANASONIC] = "panasonic", | ||
1140 | }; | 1143 | }; |
1141 | 1144 | ||
1142 | static struct snd_pci_quirk stac9200_cfg_tbl[] = { | 1145 | static struct snd_pci_quirk stac9200_cfg_tbl[] = { |
@@ -1203,7 +1206,7 @@ static struct snd_pci_quirk stac9200_cfg_tbl[] = { | |||
1203 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6, | 1206 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6, |
1204 | "unknown Dell", STAC_9200_DELL_M26), | 1207 | "unknown Dell", STAC_9200_DELL_M26), |
1205 | /* Panasonic */ | 1208 | /* Panasonic */ |
1206 | SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_REF), | 1209 | SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC), |
1207 | /* Gateway machines needs EAPD to be set on resume */ | 1210 | /* Gateway machines needs EAPD to be set on resume */ |
1208 | SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY), | 1211 | SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY), |
1209 | SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", | 1212 | SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", |
@@ -3302,6 +3305,11 @@ static int patch_stac9200(struct hda_codec *codec) | |||
3302 | spec->init = stac9200_core_init; | 3305 | spec->init = stac9200_core_init; |
3303 | spec->mixer = stac9200_mixer; | 3306 | spec->mixer = stac9200_mixer; |
3304 | 3307 | ||
3308 | if (spec->board_config == STAC_9200_PANASONIC) { | ||
3309 | spec->gpio_mask = spec->gpio_dir = 0x09; | ||
3310 | spec->gpio_data = 0x00; | ||
3311 | } | ||
3312 | |||
3305 | err = stac9200_parse_auto_config(codec); | 3313 | err = stac9200_parse_auto_config(codec); |
3306 | if (err < 0) { | 3314 | if (err < 0) { |
3307 | stac92xx_free(codec); | 3315 | stac92xx_free(codec); |