Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f0778d8 authored by Nicolas Boichat's avatar Nicolas Boichat Committed by Jaroslav Kysela
Browse files

[ALSA] hda-codec - Add support for MacBook Pro 1st generation



Fix audio on Macbook Pro 1st generation.

Signed-off-by: default avatarNicolas Boichat <nicolas@boichat.ch>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent 717aa9fd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -907,7 +907,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
	  5stack	D945 5stack + SPDIF
	  macmini	Intel Mac Mini
	  macbook	Intel Mac Book
	  macbook-pro	Intel Mac Book Pro
	  macbook-pro-v1 Intel Mac Book Pro 1st generation
	  macbook-pro	Intel Mac Book Pro 2nd generation

	STAC9202/9250/9251
	  ref		Reference board, base config
+19 −6
Original line number Diff line number Diff line
@@ -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;
		}
	}