[alsa-devel] PATCH] hda: Add STAC_DELL_M4_3 quirk
Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the board config switch to assign number of digital muxes, microphones, and SPDIF muxes via the PCI quirk defined.
Signed-off-by: Matthew Ranostay mranostay@embeddedalley.com ---
diff --git a/Documentation/ALSA-Configuration.txt b/Documentation/ALSA-Configuration.txt index 3ab5fb1..8b99a22 100644 --- a/Documentation/ALSA-Configuration.txt +++ b/Documentation/ALSA-Configuration.txt @@ -1076,6 +1076,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ref Reference board dell-m4-1 Dell desktops dell-m4-2 Dell desktops + dell-m4-3 Dell desktops
STAC92HD73* ref Reference board diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c index e0298df..f1a0f13 100644 --- a/pci/hda/patch_sigmatel.c +++ b/pci/hda/patch_sigmatel.c @@ -83,6 +83,7 @@ enum { STAC_92HD71BXX_REF, STAC_DELL_M4_1, STAC_DELL_M4_2, + STAC_DELL_M4_3, STAC_HP_M4, STAC_92HD71BXX_MODELS }; @@ -1689,10 +1690,17 @@ static unsigned int dell_m4_2_pin_configs[11] = { 0x40f000f0, 0x044413b0, 0x044413b0, };
+static unsigned int dell_m4_3_pin_configs[11] = { + 0x0421101f, 0x04a11221, 0x90a70330, 0x90170110, + 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x90a000f0, + 0x40f000f0, 0x044413b0, 0x044413b0, +}; + static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = { [STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs, [STAC_DELL_M4_1] = dell_m4_1_pin_configs, [STAC_DELL_M4_2] = dell_m4_2_pin_configs, + [STAC_DELL_M4_3] = dell_m4_3_pin_configs, [STAC_HP_M4] = NULL, };
@@ -1700,6 +1708,7 @@ static const char *stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = { [STAC_92HD71BXX_REF] = "ref", [STAC_DELL_M4_1] = "dell-m4-1", [STAC_DELL_M4_2] = "dell-m4-2", + [STAC_DELL_M4_3] = "dell-m4-3", [STAC_HP_M4] = "hp-m4", };
@@ -1731,6 +1740,8 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = { "unknown Dell", STAC_DELL_M4_2), SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264, "unknown Dell", STAC_DELL_M4_2), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02aa, + "unknown Dell", STAC_DELL_M4_3), {} /* terminator */ };
@@ -4650,14 +4661,21 @@ again:
switch (spec->board_config) { case STAC_HP_M4: - spec->num_dmics = 0; - spec->num_smuxes = 0; - spec->num_dmuxes = 0; - /* enable internal microphone */ stac92xx_set_config_reg(codec, 0x0e, 0x01813040); stac92xx_auto_set_pinctl(codec, 0x0e, AC_PINCTL_IN_EN | AC_PINCTL_VREF_80); + /* fallthru */ + case STAC_DELL_M4_2: + spec->num_dmics = 0; + spec->num_smuxes = 0; + spec->num_dmuxes = 0; + break; + case STAC_DELL_M4_1: + case STAC_DELL_M4_3: + spec->num_dmics = 1; + spec->num_smuxes = 0; + spec->num_dmuxes = 0; break; default: spec->num_dmics = STAC92HD71BXX_NUM_DMICS;
At Thu, 20 Nov 2008 21:21:43 -0500, Matthew Ranostay wrote:
Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the board config switch to assign number of digital muxes, microphones, and SPDIF muxes via the PCI quirk defined.
Signed-off-by: Matthew Ranostay mranostay@embeddedalley.com
Applied now.
BTW, your embedded mail seems broken due to linebreaks. At the next time, check your MUA setting, or use an attachment if it's difficult to fix.
thanks,
Takashi
diff --git a/Documentation/ALSA-Configuration.txt b/Documentation/ALSA-Configuration.txt index 3ab5fb1..8b99a22 100644 --- a/Documentation/ALSA-Configuration.txt +++ b/Documentation/ALSA-Configuration.txt @@ -1076,6 +1076,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ref Reference board dell-m4-1 Dell desktops dell-m4-2 Dell desktops
dell-m4-3 Dell desktops
STAC92HD73* ref Reference board
diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c index e0298df..f1a0f13 100644 --- a/pci/hda/patch_sigmatel.c +++ b/pci/hda/patch_sigmatel.c @@ -83,6 +83,7 @@ enum { STAC_92HD71BXX_REF, STAC_DELL_M4_1, STAC_DELL_M4_2,
- STAC_DELL_M4_3, STAC_HP_M4, STAC_92HD71BXX_MODELS
}; @@ -1689,10 +1690,17 @@ static unsigned int dell_m4_2_pin_configs[11] = { 0x40f000f0, 0x044413b0, 0x044413b0, };
+static unsigned int dell_m4_3_pin_configs[11] = {
- 0x0421101f, 0x04a11221, 0x90a70330, 0x90170110,
- 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x90a000f0,
- 0x40f000f0, 0x044413b0, 0x044413b0,
+};
static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = { [STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs, [STAC_DELL_M4_1] = dell_m4_1_pin_configs, [STAC_DELL_M4_2] = dell_m4_2_pin_configs,
- [STAC_DELL_M4_3] = dell_m4_3_pin_configs, [STAC_HP_M4] = NULL,
};
@@ -1700,6 +1708,7 @@ static const char *stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = { [STAC_92HD71BXX_REF] = "ref", [STAC_DELL_M4_1] = "dell-m4-1", [STAC_DELL_M4_2] = "dell-m4-2",
- [STAC_DELL_M4_3] = "dell-m4-3", [STAC_HP_M4] = "hp-m4",
};
@@ -1731,6 +1740,8 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = { "unknown Dell", STAC_DELL_M4_2), SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264, "unknown Dell", STAC_DELL_M4_2),
- SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02aa,
{} /* terminator */"unknown Dell", STAC_DELL_M4_3),
};
@@ -4650,14 +4661,21 @@ again:
switch (spec->board_config) { case STAC_HP_M4:
spec->num_dmics = 0;
spec->num_smuxes = 0;
spec->num_dmuxes = 0;
- /* enable internal microphone */ stac92xx_set_config_reg(codec, 0x0e, 0x01813040); stac92xx_auto_set_pinctl(codec, 0x0e, AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
/* fallthru */
- case STAC_DELL_M4_2:
spec->num_dmics = 0;
spec->num_smuxes = 0;
spec->num_dmuxes = 0;
break;
- case STAC_DELL_M4_1:
- case STAC_DELL_M4_3:
spec->num_dmics = 1;
spec->num_smuxes = 0;
break; default: spec->num_dmics = STAC92HD71BXX_NUM_DMICS;spec->num_dmuxes = 0;
participants (2)
-
Matthew Ranostay
-
Takashi Iwai