[alsa-devel] [PATCH] Sigmatel STAC9221 - Add Configs for all Apple Intel Macs
This patch: * adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs (support for possibly all iMac, Mac, MacMini etc etc) * adds "intel-mac-v1" to v5 models which replace the current * reflects changes in Alsa-Configuration.txt
Please review. Regards.
At Sun, 27 May 2007 22:59:41 +0100, Ivan N. Zlatev wrote:
This patch:
- adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs
(support for possibly all iMac, Mac, MacMini etc etc)
- adds "intel-mac-v1" to v5 models which replace the current
- reflects changes in Alsa-Configuration.txt
Please review. Regards.
Thanks for the patch. The changes look good but the two things I noticed:
- Please keep the old model names and make them aliases, just points the same pin configs
Addition is good, but removal is not -- at least, if it already eixsts in the earlier versions. Then it's a kind of regression.
- Try to keep the lower letters in hex numbers (abcdef)
Could you fix the above and repost? Add my address to Cc at the next time so that it certainly reaches me.
thanks,
Takashi
-- Ivan N. Zlatev
Web: http://www.i-nZ.net "It's all some kind of whacked out conspiracy." [2 apple_alsa.patch <text/x-patch; ANSI_X3.4-1968 (base64)>] diff -r 337962e19de6 Documentation/ALSA-Configuration.txt --- a/Documentation/ALSA-Configuration.txt Fri May 25 12:18:49 2007 +0200 +++ b/Documentation/ALSA-Configuration.txt Sun May 27 22:20:34 2007 +0100 @@ -923,12 +923,11 @@ Prior to version 0.9.0rc4 options had a ref Reference board 3stack D945 3stack 5stack D945 5stack + SPDIF
macmini Intel Mac Mini
macbook Intel Mac Book
macbook-pro-v1 Intel Mac Book Pro 1st generation
macbook-pro Intel Mac Book Pro 2nd generation
imac-intel Intel iMac
imac-intel-20 Intel iMac (newer version)
intel-mac-v1 Intel Mac Type 1
intel-mac-v2 Intel Mac Type 2
intel-mac-v3 Intel Mac Type 3
intel-mac-v4 Intel Mac Type 4
intel-mac-v5 Intel Mac Type 5
STAC9202/9250/9251 ref Reference board, base config
diff -r 337962e19de6 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri May 25 12:18:49 2007 +0200 +++ b/pci/hda/patch_sigmatel.c Sun May 27 22:19:14 2007 +0100 @@ -59,12 +59,11 @@ enum { STAC_D945_REF, STAC_D945GTP3, STAC_D945GTP5,
- STAC_MACMINI,
- STAC_MACBOOK,
- STAC_MACBOOK_PRO_V1,
- STAC_MACBOOK_PRO_V2,
- STAC_IMAC_INTEL,
- STAC_IMAC_INTEL_20,
- STAC_INTEL_MAC_V1,
- STAC_INTEL_MAC_V2,
- STAC_INTEL_MAC_V3,
- STAC_INTEL_MAC_V4,
- STAC_INTEL_MAC_V5, STAC_922X_MODELS
};
@@ -550,27 +549,33 @@ static unsigned int d945gtp5_pin_configs 0x02a19320, 0x40000100, };
-static unsigned int macbook_pro_v1_pin_configs[10] = {
- 0x0321e230, 0x03a1e020, 0x9017e110, 0x01014010,
- 0x01a19021, 0x0381e021, 0x1345e240, 0x13c5e22e,
- 0x02a19320, 0x400000fb
-};
-static unsigned int macbook_pro_v2_pin_configs[10] = {
- 0x0221401f, 0x90a70120, 0x01813024, 0x01014010,
- 0x400000fd, 0x01016011, 0x1345e240, 0x13c5e22e,
- 0x400000fc, 0x400000fb,
-};
-static unsigned int imac_intel_pin_configs[10] = {
- 0x0121e230, 0x90a70120, 0x9017e110, 0x400000fe,
- 0x400000fd, 0x0181e021, 0x1145e040, 0x400000fa,
- 0x400000fc, 0x400000fb,
-};
-static unsigned int imac_intel_20_pin_configs[10] = { +static unsigned int apple_mac_v1_pin_configs[10] = {
- 0x0121E21F, 0x400000FF, 0x9017E110, 0x400000FD,
- 0x400000FE, 0x0181E020, 0x1145E030, 0x11C5E240,
- 0x400000FC, 0x400000FB,
+};
+static unsigned int apple_mac_v2_pin_configs[10] = {
- 0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD,
- 0x400000FE, 0x0181E020, 0x1145E230, 0x500000FA,
- 0x400000FC, 0x400000FB,
+};
+static unsigned int apple_mac_v3_pin_configs[10] = { 0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD, 0x400000FE, 0x0181E020, 0x1145E230, 0x11C5E240,
- 0x400000FC, 0x400000FB,
+};
+static unsigned int apple_mac_v4_pin_configs[10] = {
- 0x0321E21F, 0x03A1E02E, 0x9017E110, 0x9017E11F,
- 0x400000FE, 0x0381E020, 0x1345E230, 0x13C5E240,
- 0x400000FC, 0x400000FB,
+};
+static unsigned int apple_mac_v5_pin_configs[10] = {
- 0x0321E21F, 0x03A1E02E, 0x9017E110, 0x9017E11F,
- 0x400000FE, 0x0381E020, 0x1345E230, 0x13C5E240, 0x400000FC, 0x400000FB,
};
@@ -578,24 +583,22 @@ static unsigned int *stac922x_brd_tbl[ST [STAC_D945_REF] = ref922x_pin_configs, [STAC_D945GTP3] = d945gtp3_pin_configs, [STAC_D945GTP5] = d945gtp5_pin_configs,
- [STAC_MACMINI] = macbook_pro_v1_pin_configs,
- [STAC_MACBOOK] = macbook_pro_v1_pin_configs,
- [STAC_MACBOOK_PRO_V1] = macbook_pro_v1_pin_configs,
- [STAC_MACBOOK_PRO_V2] = macbook_pro_v2_pin_configs,
- [STAC_IMAC_INTEL] = imac_intel_pin_configs,
- [STAC_IMAC_INTEL_20] = imac_intel_20_pin_configs,
- [STAC_INTEL_MAC_V1] = apple_mac_v1_pin_configs,
- [STAC_INTEL_MAC_V2] = apple_mac_v2_pin_configs,
- [STAC_INTEL_MAC_V3] = apple_mac_v3_pin_configs,
- [STAC_INTEL_MAC_V4] = apple_mac_v4_pin_configs,
- [STAC_INTEL_MAC_V5] = apple_mac_v5_pin_configs,
};
static const char *stac922x_models[STAC_922X_MODELS] = { [STAC_D945_REF] = "ref", [STAC_D945GTP5] = "5stack", [STAC_D945GTP3] = "3stack",
- [STAC_MACMINI] = "macmini",
- [STAC_MACBOOK] = "macbook",
- [STAC_MACBOOK_PRO_V1] = "macbook-pro-v1",
- [STAC_MACBOOK_PRO_V2] = "macbook-pro",
- [STAC_IMAC_INTEL] = "imac-intel",
- [STAC_IMAC_INTEL_20] = "imac-intel-20",
- [STAC_INTEL_MAC_V1] = "intel-mac-v1",
- [STAC_INTEL_MAC_V2] = "intel-mac-v2",
- [STAC_INTEL_MAC_V3] = "intel-mac-v3",
- [STAC_INTEL_MAC_V4] = "intel-mac-v4",
- [STAC_INTEL_MAC_V5] = "intel-mac-v5",
};
static struct snd_pci_quirk stac922x_cfg_tbl[] = { @@ -658,7 +661,7 @@ static struct snd_pci_quirk stac922x_cfg /* other systems */ /* Apple Mac Mini (early 2006) */ SND_PCI_QUIRK(0x8384, 0x7680,
"Mac Mini", STAC_MACMINI),
{} /* terminator */"Mac Mini", STAC_INTEL_MAC_V3),
};
@@ -2012,27 +2015,36 @@ static int patch_stac922x(struct hda_cod spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, stac922x_models, stac922x_cfg_tbl);
- if (spec->board_config == STAC_MACMINI) {
- if (spec->board_config == STAC_INTEL_MAC_V3) { spec->gpio_mute = 1; /* Intel Macs have all same PCI SSID, so we need to check
*/ printk(KERN_INFO "hda_codec: STAC922x, Apple subsys_id=%x\n", codec->subsystem_id); switch (codec->subsystem_id) {
- codec SSID to distinguish the exact models
case 0x106b0a00: /* MacBook First generatoin */
spec->board_config = STAC_MACBOOK;
case 0x106B0800:
spec->board_config = STAC_INTEL_MAC_V1; break;
case 0x106b0200: /* MacBook Pro first generation */
spec->board_config = STAC_MACBOOK_PRO_V1;
case 0x106B0600:
case 0x106B0700:
spec->board_config = STAC_INTEL_MAC_V2; break;
case 0x106b1e00: /* MacBook Pro second generation */
spec->board_config = STAC_MACBOOK_PRO_V2;
case 0x106B0E00:
case 0x106B0F00:
case 0x106B1600:
case 0x106B1700:
case 0x106B0200:
case 0x106B1E00:
spec->board_config = STAC_INTEL_MAC_V3; break;
case 0x106b0700: /* Intel-based iMac */
spec->board_config = STAC_IMAC_INTEL;
case 0x106B1A00:
case 0x00000100:
spec->board_config = STAC_INTEL_MAC_V4; break;
case 0x106b1700: /* Intel iMac 20 */
spec->board_config = STAC_IMAC_INTEL_20;
case 0x106b0A00:
case 0x106B2200:
} }spec->board_config = STAC_INTEL_MAC_V5; break;
[3 <text/plain; us-ascii (7bit)>] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Patch updated not to remove old models, but to rather alias them with lowercase pinconfigs.
Regards.
At Tue, 29 May 2007 13:57:38 +0100, Ivan N. Zlatev wrote:
Patch updated not to remove old models, but to rather alias them with lowercase pinconfigs.
The patch looks good. Could you give a final changelog your sign-off? (sorry I forgot to mention) It's a formal requirement for merging to the upstream.
Thanks,
Takashi
On 5/29/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 29 May 2007 13:57:38 +0100, Ivan N. Zlatev wrote:
Patch updated not to remove old models, but to rather alias them with lowercase pinconfigs.
The patch looks good. Could you give a final changelog your sign-off? (sorry I forgot to mention) It's a formal requirement for merging to the upstream.
Actually I forgot to lowercase the subystem ids and do diff the ALSA-Configuration.txt. Also this time the patch is actually an "hg export tip" one with a changelog entry and sign-off. I hope that's what you wanted, else just to make sure:
This patch is contributed under the GPL license. Signed-off-by: Ivan N. Zlatev <contact i-nz.net>
Regards.
At Tue, 29 May 2007 14:38:54 +0100, Ivan N. Zlatev wrote:
On 5/29/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 29 May 2007 13:57:38 +0100, Ivan N. Zlatev wrote:
Patch updated not to remove old models, but to rather alias them with lowercase pinconfigs.
The patch looks good. Could you give a final changelog your sign-off? (sorry I forgot to mention) It's a formal requirement for merging to the upstream.
Actually I forgot to lowercase the subystem ids and do diff the ALSA-Configuration.txt. Also this time the patch is actually an "hg export tip" one with a changelog entry and sign-off. I hope that's what you wanted, else just to make sure:
This patch is contributed under the GPL license. Signed-off-by: Ivan N. Zlatev <contact i-nz.net>
Well, I meant a changelog as the list or description of changes you made, like your first post :) Anyway, I gathered it from there, tidied it up, and committed to ALSA tree now. Could you please check the HG tree whether it works for you?
Thanks!
Takashi
participants (2)
-
Ivan N. Zlatev
-
Takashi Iwai