[alsa-devel] [PATCH] hda/patch_sigmatel.c Panasonic CF-74 speaker output
Takashi Iwai
tiwai at suse.de
Fri Feb 29 11:36:01 CET 2008
At Thu, 28 Feb 2008 09:11:49 -0500,
Kyler Laird wrote:
>
> This patch causes ALSA to send sound to the speakers of a Panasonic
> CF-74 (Toughbook) instead of just its headphone jack.
Thanks. I think this should be only for specific PCI IDs. Or more
better, create a new model to enable it.
Is the PCI SSID of your device 10f7:8338 ?
Your patch cannot be applied to the latest code because of code
changes. The patch below adds a quick fix based on your information
(for 2.6.25 or later). Could you give it a try?
Takashi
---
diff -r 54a51b975975 sound/pci/hda/patch_sigmatel.c
--- a/sound/pci/hda/patch_sigmatel.c Thu Feb 28 12:46:32 2008 +0100
+++ b/sound/pci/hda/patch_sigmatel.c Fri Feb 29 11:39:33 2008 +0100
@@ -51,6 +51,7 @@ enum {
STAC_9200_DELL_M26,
STAC_9200_DELL_M27,
STAC_9200_GATEWAY,
+ STAC_9200_PANASONIC,
STAC_9200_MODELS
};
@@ -1083,6 +1084,7 @@ static unsigned int *stac9200_brd_tbl[ST
[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] = {
@@ -1099,6 +1101,7 @@ static const char *stac9200_models[STAC_
[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[] = {
@@ -1165,7 +1168,7 @@ static struct snd_pci_quirk stac9200_cfg
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*",
@@ -3263,6 +3266,11 @@ static int patch_stac9200(struct hda_cod
else
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) {
More information about the Alsa-devel
mailing list