[ALSA] hda-codec - Fix spekaer output of Panasonic CF-74
authorTakashi Iwai <tiwai@suse.de>
Tue, 18 Mar 2008 08:53:23 +0000 (09:53 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 24 Apr 2008 10:00:26 +0000 (12:00 +0200)
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>
Documentation/sound/alsa/ALSA-Configuration.txt
sound/pci/hda/patch_sigmatel.c

index 80a0629f49175549abcfd93fa553f7b02e40e1d3..b02404395e52f44395841c93b2ab590bd3fa320b 100644 (file)
@@ -992,6 +992,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
          dell-m26      Dell Inspiron 1501
          dell-m27      Dell Inspiron E1705/9400
          gateway       Gateway laptops with EAPD control
+         panasonic     Panasonic CF-74
 
        STAC9205/9254
          ref           Reference board
index b8e69a1b93f02597acb22ef971fc8580696fb396..a39fbd89a9850d4f6e20e6fcdebd2c81e418e449 100644 (file)
@@ -52,6 +52,7 @@ enum {
        STAC_9200_DELL_M26,
        STAC_9200_DELL_M27,
        STAC_9200_GATEWAY,
+       STAC_9200_PANASONIC,
        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_M26] = dell9200_m26_pin_configs,
        [STAC_9200_DELL_M27] = dell9200_m27_pin_configs,
+       [STAC_9200_PANASONIC] = ref9200_pin_configs,
 };
 
 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_M27] = "dell-m27",
        [STAC_9200_GATEWAY] = "gateway",
+       [STAC_9200_PANASONIC] = "panasonic",
 };
 
 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,
                      "unknown Dell", STAC_9200_DELL_M26),
        /* 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 */
        SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY),
        SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*",
@@ -3302,6 +3305,11 @@ static int patch_stac9200(struct hda_codec *codec)
                spec->init = stac9200_core_init;
        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);
        if (err < 0) {
                stac92xx_free(codec);