|
@@ -60,7 +60,8 @@ enum {
|
|
|
STAC_D945GTP5,
|
|
|
STAC_MACMINI,
|
|
|
STAC_MACBOOK,
|
|
|
- STAC_MACBOOK_PRO,
|
|
|
+ STAC_MACBOOK_PRO_V1,
|
|
|
+ STAC_MACBOOK_PRO_V2,
|
|
|
STAC_922X_MODELS
|
|
|
};
|
|
|
|
|
@@ -529,7 +530,13 @@ static unsigned int macbook_pin_configs[10] = {
|
|
|
0x400000fc, 0x400000fb,
|
|
|
};
|
|
|
|
|
|
-static unsigned int macbook_pro_pin_configs[10] = {
|
|
|
+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,
|
|
@@ -541,7 +548,8 @@ static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
|
|
|
[STAC_D945GTP5] = d945gtp5_pin_configs,
|
|
|
[STAC_MACMINI] = d945gtp5_pin_configs,
|
|
|
[STAC_MACBOOK] = macbook_pin_configs,
|
|
|
- [STAC_MACBOOK_PRO] = macbook_pro_pin_configs,
|
|
|
+ [STAC_MACBOOK_PRO_V1] = macbook_pro_v1_pin_configs,
|
|
|
+ [STAC_MACBOOK_PRO_V2] = macbook_pro_v2_pin_configs,
|
|
|
};
|
|
|
|
|
|
static const char *stac922x_models[STAC_922X_MODELS] = {
|
|
@@ -550,7 +558,8 @@ static const char *stac922x_models[STAC_922X_MODELS] = {
|
|
|
[STAC_D945GTP3] = "3stack",
|
|
|
[STAC_MACMINI] = "macmini",
|
|
|
[STAC_MACBOOK] = "macbook",
|
|
|
- [STAC_MACBOOK_PRO] = "macbook-pro",
|
|
|
+ [STAC_MACBOOK_PRO_V1] = "macbook-pro-v1",
|
|
|
+ [STAC_MACBOOK_PRO_V2] = "macbook-pro",
|
|
|
};
|
|
|
|
|
|
static struct snd_pci_quirk stac922x_cfg_tbl[] = {
|
|
@@ -1894,9 +1903,13 @@ static int patch_stac922x(struct hda_codec *codec)
|
|
|
/* Intel Macs have all same PCI SSID, so we need to check
|
|
|
* codec SSID to distinguish the exact models
|
|
|
*/
|
|
|
+ printk(KERN_INFO "hda_codec: STAC922x, Apple subsys_id=%x\n", codec->subsystem_id);
|
|
|
switch (codec->subsystem_id) {
|
|
|
- case 0x106b1e00:
|
|
|
- spec->board_config = STAC_MACBOOK_PRO;
|
|
|
+ case 0x106b0200: /* MacBook Pro first generation */
|
|
|
+ spec->board_config = STAC_MACBOOK_PRO_V1;
|
|
|
+ break;
|
|
|
+ case 0x106b1e00: /* MacBook Pro second generation */
|
|
|
+ spec->board_config = STAC_MACBOOK_PRO_V2;
|
|
|
break;
|
|
|
}
|
|
|
}
|