提交 117f257d 编写于 作者: T Takashi Iwai

[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: NTakashi Iwai <tiwai@suse.de>
上级 2add9b92
...@@ -992,6 +992,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ...@@ -992,6 +992,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
dell-m26 Dell Inspiron 1501 dell-m26 Dell Inspiron 1501
dell-m27 Dell Inspiron E1705/9400 dell-m27 Dell Inspiron E1705/9400
gateway Gateway laptops with EAPD control gateway Gateway laptops with EAPD control
panasonic Panasonic CF-74
STAC9205/9254 STAC9205/9254
ref Reference board ref Reference board
......
...@@ -52,6 +52,7 @@ enum { ...@@ -52,6 +52,7 @@ enum {
STAC_9200_DELL_M26, STAC_9200_DELL_M26,
STAC_9200_DELL_M27, STAC_9200_DELL_M27,
STAC_9200_GATEWAY, STAC_9200_GATEWAY,
STAC_9200_PANASONIC,
STAC_9200_MODELS STAC_9200_MODELS
}; };
...@@ -1121,6 +1122,7 @@ static unsigned int *stac9200_brd_tbl[STAC_9200_MODELS] = { ...@@ -1121,6 +1122,7 @@ static unsigned int *stac9200_brd_tbl[STAC_9200_MODELS] = {
[STAC_9200_DELL_M25] = dell9200_m25_pin_configs, [STAC_9200_DELL_M25] = dell9200_m25_pin_configs,
[STAC_9200_DELL_M26] = dell9200_m26_pin_configs, [STAC_9200_DELL_M26] = dell9200_m26_pin_configs,
[STAC_9200_DELL_M27] = dell9200_m27_pin_configs, [STAC_9200_DELL_M27] = dell9200_m27_pin_configs,
[STAC_9200_PANASONIC] = ref9200_pin_configs,
}; };
static const char *stac9200_models[STAC_9200_MODELS] = { static const char *stac9200_models[STAC_9200_MODELS] = {
...@@ -1137,6 +1139,7 @@ static const char *stac9200_models[STAC_9200_MODELS] = { ...@@ -1137,6 +1139,7 @@ static const char *stac9200_models[STAC_9200_MODELS] = {
[STAC_9200_DELL_M26] = "dell-m26", [STAC_9200_DELL_M26] = "dell-m26",
[STAC_9200_DELL_M27] = "dell-m27", [STAC_9200_DELL_M27] = "dell-m27",
[STAC_9200_GATEWAY] = "gateway", [STAC_9200_GATEWAY] = "gateway",
[STAC_9200_PANASONIC] = "panasonic",
}; };
static struct snd_pci_quirk stac9200_cfg_tbl[] = { static struct snd_pci_quirk stac9200_cfg_tbl[] = {
...@@ -1203,7 +1206,7 @@ static struct snd_pci_quirk stac9200_cfg_tbl[] = { ...@@ -1203,7 +1206,7 @@ static struct snd_pci_quirk stac9200_cfg_tbl[] = {
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6, SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6,
"unknown Dell", STAC_9200_DELL_M26), "unknown Dell", STAC_9200_DELL_M26),
/* Panasonic */ /* Panasonic */
SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_REF), SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC),
/* Gateway machines needs EAPD to be set on resume */ /* Gateway machines needs EAPD to be set on resume */
SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY), SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY),
SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*",
...@@ -3302,6 +3305,11 @@ static int patch_stac9200(struct hda_codec *codec) ...@@ -3302,6 +3305,11 @@ static int patch_stac9200(struct hda_codec *codec)
spec->init = stac9200_core_init; spec->init = stac9200_core_init;
spec->mixer = stac9200_mixer; spec->mixer = stac9200_mixer;
if (spec->board_config == STAC_9200_PANASONIC) {
spec->gpio_mask = spec->gpio_dir = 0x09;
spec->gpio_data = 0x00;
}
err = stac9200_parse_auto_config(codec); err = stac9200_parse_auto_config(codec);
if (err < 0) { if (err < 0) {
stac92xx_free(codec); stac92xx_free(codec);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册