diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-03-18 04:53:23 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:26 -0400 |
commit | 117f257d7a9599ff9cb5ab7a6a10201c6294b5f1 (patch) | |
tree | 61fe1c41d4ca6854b2f2fce5fcc2e8981f35505c /sound/pci/hda/patch_sigmatel.c | |
parent | 2add9b925394746eff692ff0875d21ea2d5289e2 (diff) |
[ALSA] hda-codec - Fix spekaer output of Panasonic CF-74
Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec
to fix the speaker output.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 |
1 files changed, 9 insertions, 1 deletions
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); |