⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patch_sigmatel.c

📁 linux 内核源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/* This needs to be generated dynamically based on sequence */static struct snd_kcontrol_new stac922x_mixer[] = {	STAC_INPUT_SOURCE(2),	HDA_CODEC_VOLUME_IDX("Capture Volume", 0x0, 0x17, 0x0, HDA_INPUT),	HDA_CODEC_MUTE_IDX("Capture Switch", 0x0, 0x17, 0x0, HDA_INPUT),	HDA_CODEC_VOLUME_IDX("Mux Capture Volume", 0x0, 0x12, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Capture Volume", 0x1, 0x18, 0x0, HDA_INPUT),	HDA_CODEC_MUTE_IDX("Capture Switch", 0x1, 0x18, 0x0, HDA_INPUT),	HDA_CODEC_VOLUME_IDX("Mux Capture Volume", 0x1, 0x13, 0x0, HDA_OUTPUT),	{ } /* end */};static struct snd_kcontrol_new stac927x_mixer[] = {	STAC_INPUT_SOURCE(3),	STAC_ANALOG_LOOPBACK(0xFEB, 0x7EB),	HDA_CODEC_VOLUME_IDX("Capture Volume", 0x0, 0x18, 0x0, HDA_INPUT),	HDA_CODEC_MUTE_IDX("Capture Switch", 0x0, 0x1b, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Mux Capture Volume", 0x0, 0x15, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Capture Volume", 0x1, 0x19, 0x0, HDA_INPUT),	HDA_CODEC_MUTE_IDX("Capture Switch", 0x1, 0x1c, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Mux Capture Volume", 0x1, 0x16, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Capture Volume", 0x2, 0x1A, 0x0, HDA_INPUT),	HDA_CODEC_MUTE_IDX("Capture Switch", 0x2, 0x1d, 0x0, HDA_OUTPUT),	HDA_CODEC_VOLUME_IDX("Mux Capture Volume", 0x2, 0x17, 0x0, HDA_OUTPUT),	{ } /* end */};static int stac92xx_build_controls(struct hda_codec *codec){	struct sigmatel_spec *spec = codec->spec;	int err;	int i;	err = snd_hda_add_new_ctls(codec, spec->mixer);	if (err < 0)		return err;	for (i = 0; i < spec->num_mixers; i++) {		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);		if (err < 0)			return err;	}	if (spec->multiout.dig_out_nid) {		err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid);		if (err < 0)			return err;	}	if (spec->dig_in_nid) {		err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid);		if (err < 0)			return err;	}	return 0;	}static unsigned int ref9200_pin_configs[8] = {	0x01c47010, 0x01447010, 0x0221401f, 0x01114010,	0x02a19020, 0x01a19021, 0x90100140, 0x01813122,};/*     STAC 9200 pin configs for    102801A8    102801DE    102801E8*/static unsigned int dell9200_d21_pin_configs[8] = {	0x400001f0, 0x400001f1, 0x02214030, 0x01014010, 	0x02a19020, 0x01a19021, 0x90100140, 0x01813122,};/*     STAC 9200 pin configs for    102801C0    102801C1*/static unsigned int dell9200_d22_pin_configs[8] = {	0x400001f0, 0x400001f1, 0x0221401f, 0x01014010, 	0x01813020, 0x02a19021, 0x90100140, 0x400001f2,};/*     STAC 9200 pin configs for    102801C4 (Dell Dimension E310)    102801C5    102801C7    102801D9    102801DA    102801E3*/static unsigned int dell9200_d23_pin_configs[8] = {	0x400001f0, 0x400001f1, 0x0221401f, 0x01014010, 	0x01813020, 0x01a19021, 0x90100140, 0x400001f2, };/*     STAC 9200-32 pin configs for    102801B5 (Dell Inspiron 630m)    102801D8 (Dell Inspiron 640m)*/static unsigned int dell9200_m21_pin_configs[8] = {	0x40c003fa, 0x03441340, 0x0321121f, 0x90170310,	0x408003fb, 0x03a11020, 0x401003fc, 0x403003fd,};/*     STAC 9200-32 pin configs for    102801C2 (Dell Latitude D620)    102801C8     102801CC (Dell Latitude D820)    102801D4     102801D6 */static unsigned int dell9200_m22_pin_configs[8] = {	0x40c003fa, 0x0144131f, 0x0321121f, 0x90170310, 	0x90a70321, 0x03a11020, 0x401003fb, 0x40f000fc,};/*     STAC 9200-32 pin configs for    102801CE (Dell XPS M1710)    102801CF (Dell Precision M90)*/static unsigned int dell9200_m23_pin_configs[8] = {	0x40c003fa, 0x01441340, 0x0421421f, 0x90170310,	0x408003fb, 0x04a1102e, 0x90170311, 0x403003fc,};/*    STAC 9200-32 pin configs for     102801C9    102801CA    102801CB (Dell Latitude 120L)    102801D3*/static unsigned int dell9200_m24_pin_configs[8] = {	0x40c003fa, 0x404003fb, 0x0321121f, 0x90170310, 	0x408003fc, 0x03a11020, 0x401003fd, 0x403003fe, };/*    STAC 9200-32 pin configs for    102801BD (Dell Inspiron E1505n)    102801EE    102801EF*/static unsigned int dell9200_m25_pin_configs[8] = {	0x40c003fa, 0x01441340, 0x0421121f, 0x90170310, 	0x408003fb, 0x04a11020, 0x401003fc, 0x403003fd,};/*    STAC 9200-32 pin configs for    102801F5 (Dell Inspiron 1501)    102801F6*/static unsigned int dell9200_m26_pin_configs[8] = {	0x40c003fa, 0x404003fb, 0x0421121f, 0x90170310, 	0x408003fc, 0x04a11020, 0x401003fd, 0x403003fe,};/*    STAC 9200-32    102801CD (Dell Inspiron E1705/9400)*/static unsigned int dell9200_m27_pin_configs[8] = {	0x40c003fa, 0x01441340, 0x0421121f, 0x90170310,	0x90170310, 0x04a11020, 0x90170310, 0x40f003fc,};static unsigned int *stac9200_brd_tbl[STAC_9200_MODELS] = {	[STAC_REF] = ref9200_pin_configs,	[STAC_9200_DELL_D21] = dell9200_d21_pin_configs,	[STAC_9200_DELL_D22] = dell9200_d22_pin_configs,	[STAC_9200_DELL_D23] = dell9200_d23_pin_configs,	[STAC_9200_DELL_M21] = dell9200_m21_pin_configs,	[STAC_9200_DELL_M22] = dell9200_m22_pin_configs,	[STAC_9200_DELL_M23] = dell9200_m23_pin_configs,	[STAC_9200_DELL_M24] = dell9200_m24_pin_configs,	[STAC_9200_DELL_M25] = dell9200_m25_pin_configs,	[STAC_9200_DELL_M26] = dell9200_m26_pin_configs,	[STAC_9200_DELL_M27] = dell9200_m27_pin_configs,};static const char *stac9200_models[STAC_9200_MODELS] = {	[STAC_REF] = "ref",	[STAC_9200_DELL_D21] = "dell-d21",	[STAC_9200_DELL_D22] = "dell-d22",	[STAC_9200_DELL_D23] = "dell-d23",	[STAC_9200_DELL_M21] = "dell-m21",	[STAC_9200_DELL_M22] = "dell-m22",	[STAC_9200_DELL_M23] = "dell-m23",	[STAC_9200_DELL_M24] = "dell-m24",	[STAC_9200_DELL_M25] = "dell-m25",	[STAC_9200_DELL_M26] = "dell-m26",	[STAC_9200_DELL_M27] = "dell-m27",	[STAC_9200_GATEWAY] = "gateway",};static struct snd_pci_quirk stac9200_cfg_tbl[] = {	/* SigmaTel reference board */	SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,		      "DFI LanParty", STAC_REF),	/* Dell laptops have BIOS problem */	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01a8,		      "unknown Dell", STAC_9200_DELL_D21),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01b5,		      "Dell Inspiron 630m", STAC_9200_DELL_M21),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01bd,		      "Dell Inspiron E1505n", STAC_9200_DELL_M25),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c0,		      "unknown Dell", STAC_9200_DELL_D22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c1,		      "unknown Dell", STAC_9200_DELL_D22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c2,		      "Dell Latitude D620", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c5,		      "unknown Dell", STAC_9200_DELL_D23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c7,		      "unknown Dell", STAC_9200_DELL_D23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c8,		      "unknown Dell", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01c9,		      "unknown Dell", STAC_9200_DELL_M24),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01ca,		      "unknown Dell", STAC_9200_DELL_M24),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cb,		      "Dell Latitude 120L", STAC_9200_DELL_M24),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cc,		      "Dell Latitude D820", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cd,		      "Dell Inspiron E1705/9400", STAC_9200_DELL_M27),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01ce,		      "Dell XPS M1710", STAC_9200_DELL_M23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cf,		      "Dell Precision M90", STAC_9200_DELL_M23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d3,		      "unknown Dell", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d4,		      "unknown Dell", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d6,		      "unknown Dell", STAC_9200_DELL_M22),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d8,		      "Dell Inspiron 640m", STAC_9200_DELL_M21),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d9,		      "unknown Dell", STAC_9200_DELL_D23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01da,		      "unknown Dell", STAC_9200_DELL_D23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01de,		      "unknown Dell", STAC_9200_DELL_D21),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01e3,		      "unknown Dell", STAC_9200_DELL_D23),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01e8,		      "unknown Dell", STAC_9200_DELL_D21),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01ee,		      "unknown Dell", STAC_9200_DELL_M25),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01ef,		      "unknown Dell", STAC_9200_DELL_M25),	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f5,		      "Dell Inspiron 1501", STAC_9200_DELL_M26),	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),	/* 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*",		      STAC_9200_GATEWAY),	SND_PCI_QUIRK(0x107b, 0x0318, "Gateway ML3019, MT3707",		      STAC_9200_GATEWAY),	{} /* terminator */};static unsigned int ref925x_pin_configs[8] = {	0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,	0x90a70320, 0x02214210, 0x400003f1, 0x9033032e,};static unsigned int stac925x_MA6_pin_configs[8] = {	0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,	0x90a70320, 0x90100211, 0x400003f1, 0x9033032e,};static unsigned int stac925x_PA6_pin_configs[8] = {	0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,	0x50a103f0, 0x90100211, 0x400003f1, 0x9033032e,};static unsigned int stac925xM2_2_pin_configs[8] = {	0x40c003f3, 0x424503f2, 0x04180011, 0x02a19020,	0x50a103f0, 0x90100212, 0x400003f1, 0x9033032e,};static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = {	[STAC_REF] = ref925x_pin_configs,	[STAC_M2_2] = stac925xM2_2_pin_configs,	[STAC_MA6] = stac925x_MA6_pin_configs,	[STAC_PA6] = stac925x_PA6_pin_configs,};static const char *stac925x_models[STAC_925x_MODELS] = {	[STAC_REF] = "ref",	[STAC_M2_2] = "m2-2",	[STAC_MA6] = "m6",	[STAC_PA6] = "pa6",};static struct snd_pci_quirk stac925x_cfg_tbl[] = {	/* SigmaTel reference board */	SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, "DFI LanParty", STAC_REF),	SND_PCI_QUIRK(0x8384, 0x7632, "Stac9202 Reference Board", STAC_REF),	SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_REF),	SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF),	SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_MA6),	SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_PA6),	SND_PCI_QUIRK(0x1002, 0x437b, "Gateway MX6453", STAC_M2_2),	{} /* terminator */};static unsigned int ref922x_pin_configs[10] = {	0x01014010, 0x01016011, 0x01012012, 0x0221401f,	0x01813122, 0x01011014, 0x01441030, 0x01c41030,	0x40000100, 0x40000100,};/*    STAC 922X pin configs for    102801A7    102801AB    102801A9    102801D1    102801D2*/static unsigned int dell_922x_d81_pin_configs[10] = {	0x02214030, 0x01a19021, 0x01111012, 0x01114010,	0x02a19020, 0x01117011, 0x400001f0, 0x400001f1,	0x01813122, 0x400001f2,};/*    STAC 922X pin configs for    102801AC    102801D0*/static unsigned int dell_922x_d82_pin_configs[10] = {	0x02214030, 0x01a19021, 0x01111012, 0x01114010,	0x02a19020, 0x01117011, 0x01451140, 0x400001f0,	0x01813122, 0x400001f1,};/*    STAC 922X pin configs for    102801BF*/static unsigned int dell_922x_m81_pin_configs[10] = {	0x0321101f, 0x01112024, 0x01111222, 0x91174220,	0x03a11050, 0x01116221, 0x90a70330, 0x01452340, 	0x40C003f1, 0x405003f0,};/*    STAC 9221 A1 pin configs for    102801D7 (Dell XPS M1210)*/static unsigned int dell_922x_m82_pin_configs[10] = {	0x0221121f, 0x408103ff, 0x02111212, 0x90100310, 	0x408003f1, 0x02111211, 0x03451340, 0x40c003f2, 	0x508003f3, 0x405003f4, };static unsigned int d945gtp3_pin_configs[10] = {	0x0221401f, 0x01a19022, 0x01813021, 0x01014010,	0x40000100, 0x40000100, 0x40000100, 0x40000100,	0x02a19120, 0x40000100,};static unsigned int d945gtp5_pin_configs[10] = {	0x0221401f, 0x01011012, 0x01813024, 0x01014010,	0x01a19021, 0x01016011, 0x01452130, 0x40000100,	0x02a19320, 0x40000100,};static unsigned int intel_mac_v1_pin_configs[10] = {	0x0121e21f, 0x400000ff, 0x9017e110, 0x400000fd,	0x400000fe, 0x0181e020, 0x1145e030, 0x11c5e240,	0x400000fc, 0x400000fb,};static unsigned int intel_mac_v2_pin_configs[10] = {	0x0121e21f, 0x90a7012e, 0x9017e110, 0x400000fd,	0x400000fe, 0x0181e020, 0x1145e230, 0x500000fa,	0x400000fc, 0x400000fb,};static unsigned int intel_mac_v3_pin_configs[10] = {	0x0121e21f, 0x90a7012e, 0x9017e110, 0x400000fd,	0x400000fe, 0x0181e020, 0x1145e230, 0x11c5e240,	0x400000fc, 0x400000fb,};static unsigned int intel_mac_v4_pin_configs[10] = {	0x0321e21f, 0x03a1e02e, 0x9017e110, 0x9017e11f,	0x400000fe, 0x0381e020, 0x1345e230, 0x13c5e240,	0x400000fc, 0x400000fb,};static unsigned int intel_mac_v5_pin_configs[10] = {	0x0321e21f, 0x03a1e02e, 0x9017e110, 0x9017e11f,	0x400000fe, 0x0381e020, 0x1345e230, 0x13c5e240,	0x400000fc, 0x400000fb,};static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {	[STAC_D945_REF] = ref922x_pin_configs,	[STAC_D945GTP3] = d945gtp3_pin_configs,	[STAC_D945GTP5] = d945gtp5_pin_configs,	[STAC_INTEL_MAC_V1] = intel_mac_v1_pin_configs,	[STAC_INTEL_MAC_V2] = intel_mac_v2_pin_configs,	[STAC_INTEL_MAC_V3] = intel_mac_v3_pin_configs,	[STAC_INTEL_MAC_V4] = intel_mac_v4_pin_configs,	[STAC_INTEL_MAC_V5] = intel_mac_v5_pin_configs,	/* for backward compatibility */	[STAC_MACMINI] = intel_mac_v3_pin_configs,	[STAC_MACBOOK] = intel_mac_v5_pin_configs,	[STAC_MACBOOK_PRO_V1] = intel_mac_v3_pin_configs,	[STAC_MACBOOK_PRO_V2] = intel_mac_v3_pin_configs,	[STAC_IMAC_INTEL] = intel_mac_v2_pin_configs,	[STAC_IMAC_INTEL_20] = intel_mac_v3_pin_configs,	[STAC_922X_DELL_D81] = dell_922x_d81_pin_configs,	[STAC_922X_DELL_D82] = dell_922x_d82_pin_configs,		[STAC_922X_DELL_M81] = dell_922x_m81_pin_configs,	[STAC_922X_DELL_M82] = dell_922x_m82_pin_configs,	};static const char *stac922x_models[STAC_922X_MODELS] = {	[STAC_D945_REF]	= "ref",	[STAC_D945GTP5]	= "5stack",	[STAC_D945GTP3]	= "3stack",	[STAC_INTEL_MAC_V1] = "intel-mac-v1",	[STAC_INTEL_MAC_V2] = "intel-mac-v2",	[STAC_INTEL_MAC_V3] = "intel-mac-v3",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -