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

📄 patch_realtek.c

📁 linux2.6.16版本
💻 C
📖 第 1 页 / 共 5 页
字号:
		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,		.name = "Channel Mode",		.info = alc_ch_mode_info,		.get = alc_ch_mode_get,		.put = alc_ch_mode_put,	},	{ } /* end */};static struct hda_verb alc880_test_init_verbs[] = {	/* Unmute inputs of 0x0c - 0x0f */	{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},	{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},	{0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},	{0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},	{0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},	{0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},	{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},	{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},	/* Vol output for 0x0c-0x0f */	{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},	{0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},	{0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},	{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},	/* Set output pins 0x14-0x17 */	{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},	{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},	{0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},	{0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},	/* Unmute output pins 0x14-0x17 */	{0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},	{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},	{0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},	{0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},	/* Set input pins 0x18-0x1c */	{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},	{0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},	{0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},	{0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},	{0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},	/* Mute input pins 0x18-0x1b */	{0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},	{0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},	{0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},	{0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},	/* ADC set up */	{0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},	{0x07, AC_VERB_SET_CONNECT_SEL, 0x00},	{0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},	{0x08, AC_VERB_SET_CONNECT_SEL, 0x00},	{0x09, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},	{0x09, AC_VERB_SET_CONNECT_SEL, 0x00},	/* Analog input/passthru */	{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},	{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},	{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},	{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},	{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},	{ }};#endif/* */static struct hda_board_config alc880_cfg_tbl[] = {	/* Back 3 jack, front 2 jack */	{ .modelname = "3stack", .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe200, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe201, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe202, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe203, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe204, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe205, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe206, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe207, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe208, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe209, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20a, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20b, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20c, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20d, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20e, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe20f, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe210, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe211, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe214, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe302, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe303, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe304, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe306, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe307, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe404, .config = ALC880_3ST },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xa101, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x3031, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4036, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4037, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4038, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4040, .config = ALC880_3ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4041, .config = ALC880_3ST },	/* TCL S700 */	{ .pci_subvendor = 0x19db, .pci_subdevice = 0x4188, .config = ALC880_TCL_S700 },	/* Back 3 jack, front 2 jack (Internal add Aux-In) */	{ .pci_subvendor = 0x1025, .pci_subdevice = 0xe310, .config = ALC880_3ST },	{ .pci_subvendor = 0x104d, .pci_subdevice = 0x81d6, .config = ALC880_3ST }, 	{ .pci_subvendor = 0x104d, .pci_subdevice = 0x81a0, .config = ALC880_3ST },	/* Back 3 jack plus 1 SPDIF out jack, front 2 jack */	{ .modelname = "3stack-digout", .config = ALC880_3ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe308, .config = ALC880_3ST_DIG },	{ .pci_subvendor = 0x1025, .pci_subdevice = 0x0070, .config = ALC880_3ST_DIG },	/* Clevo m520G NB */	{ .pci_subvendor = 0x1558, .pci_subdevice = 0x0520, .config = ALC880_CLEVO },	/* Back 3 jack plus 1 SPDIF out jack, front 2 jack (Internal add Aux-In)*/	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe305, .config = ALC880_3ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xd402, .config = ALC880_3ST_DIG },	{ .pci_subvendor = 0x1025, .pci_subdevice = 0xe309, .config = ALC880_3ST_DIG },	/* Back 5 jack, front 2 jack */	{ .modelname = "5stack", .config = ALC880_5ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x3033, .config = ALC880_5ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x4039, .config = ALC880_5ST },	{ .pci_subvendor = 0x107b, .pci_subdevice = 0x3032, .config = ALC880_5ST },	{ .pci_subvendor = 0x103c, .pci_subdevice = 0x2a09, .config = ALC880_5ST },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x814e, .config = ALC880_5ST },	/* Back 5 jack plus 1 SPDIF out jack, front 2 jack */	{ .modelname = "5stack-digout", .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe224, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe400, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe401, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xe402, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xd400, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xd401, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0xa100, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x1565, .pci_subdevice = 0x8202, .config = ALC880_5ST_DIG },	{ .pci_subvendor = 0x1019, .pci_subdevice = 0xa880, .config = ALC880_5ST_DIG },	/* { .pci_subvendor = 0x1019, .pci_subdevice = 0xa884, .config = ALC880_5ST_DIG }, */ /* conflict with 6stack */	{ .pci_subvendor = 0x1695, .pci_subdevice = 0x400d, .config = ALC880_5ST_DIG },	/* note subvendor = 0 below */	/* { .pci_subvendor = 0x0000, .pci_subdevice = 0x8086, .config = ALC880_5ST_DIG }, */	{ .modelname = "w810", .config = ALC880_W810 },	{ .pci_subvendor = 0x161f, .pci_subdevice = 0x203d, .config = ALC880_W810 },	{ .modelname = "z71v", .config = ALC880_Z71V },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1964, .config = ALC880_Z71V },	{ .modelname = "6stack", .config = ALC880_6ST },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x8196, .config = ALC880_6ST }, /* ASUS P5GD1-HVM */	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x81b4, .config = ALC880_6ST },	{ .pci_subvendor = 0x1019, .pci_subdevice = 0xa884, .config = ALC880_6ST }, /* Acer APFV */	{ .pci_subvendor = 0x1458, .pci_subdevice = 0xa102, .config = ALC880_6ST }, /* Gigabyte K8N51 */	{ .modelname = "6stack-digout", .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x2668, .pci_subdevice = 0x8086, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x8086, .pci_subdevice = 0x2668, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1462, .pci_subdevice = 0x1150, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0xe803, .pci_subdevice = 0x1019, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1039, .pci_subdevice = 0x1234, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1025, .pci_subdevice = 0x0077, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1025, .pci_subdevice = 0x0078, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1025, .pci_subdevice = 0x0087, .config = ALC880_6ST_DIG },	{ .pci_subvendor = 0x1297, .pci_subdevice = 0xc790, .config = ALC880_6ST_DIG }, /* Shuttle ST20G5 */	{ .modelname = "asus", .config = ALC880_ASUS },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1964, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1973, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x19b3, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1113, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1173, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1993, .config = ALC880_ASUS },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x10c3, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1133, .config = ALC880_ASUS },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1123, .config = ALC880_ASUS_DIG },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x1143, .config = ALC880_ASUS },	{ .pci_subvendor = 0x1043, .pci_subdevice = 0x10b3, .config = ALC880_ASUS_W1V },	{ .pci_subvendor = 0x1558, .pci_subdevice = 0x5401, .config = ALC880_ASUS_DIG2 },	{ .modelname = "uniwill", .config = ALC880_UNIWILL_DIG },	{ .pci_subvendor = 0x1584, .pci_subdevice = 0x9050, .config = ALC880_UNIWILL_DIG },		{ .modelname = "F1734", .config = ALC880_F1734 },	{ .pci_subvendor = 0x1734, .pci_subdevice = 0x107c, .config = ALC880_F1734 },	{ .pci_subvendor = 0x1584, .pci_subdevice = 0x9054, .config = ALC880_F1734 },#ifdef CONFIG_SND_DEBUG	{ .modelname = "test", .config = ALC880_TEST },#endif	{ .modelname = "auto", .config = ALC880_AUTO },	{}};/* * ALC880 codec presets */static struct alc_config_preset alc880_presets[] = {	[ALC880_3ST] = {		.mixers = { alc880_three_stack_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_3stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.num_channel_mode = ARRAY_SIZE(alc880_threestack_modes),		.channel_mode = alc880_threestack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_3ST_DIG] = {		.mixers = { alc880_three_stack_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_3stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_threestack_modes),		.channel_mode = alc880_threestack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_TCL_S700] = {		.mixers = { alc880_tcl_s700_mixer },		.init_verbs = { alc880_volume_init_verbs,				alc880_pin_tcl_S700_init_verbs,				alc880_gpio2_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.hp_nid = 0x03,		.num_channel_mode = ARRAY_SIZE(alc880_2_jack_modes),		.channel_mode = alc880_2_jack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_5ST] = {		.mixers = { alc880_three_stack_mixer, alc880_five_stack_mixer},		.init_verbs = { alc880_volume_init_verbs, alc880_pin_5stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.num_channel_mode = ARRAY_SIZE(alc880_fivestack_modes),		.channel_mode = alc880_fivestack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_5ST_DIG] = {		.mixers = { alc880_three_stack_mixer, alc880_five_stack_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_5stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_fivestack_modes),		.channel_mode = alc880_fivestack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_6ST] = {		.mixers = { alc880_six_stack_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_6stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_6st_dac_nids),		.dac_nids = alc880_6st_dac_nids,		.num_channel_mode = ARRAY_SIZE(alc880_sixstack_modes),		.channel_mode = alc880_sixstack_modes,		.input_mux = &alc880_6stack_capture_source,	},	[ALC880_6ST_DIG] = {		.mixers = { alc880_six_stack_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_6stack_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_6st_dac_nids),		.dac_nids = alc880_6st_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_sixstack_modes),		.channel_mode = alc880_sixstack_modes,		.input_mux = &alc880_6stack_capture_source,	},	[ALC880_W810] = {		.mixers = { alc880_w810_base_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_w810_init_verbs,				alc880_gpio2_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_w810_dac_nids),		.dac_nids = alc880_w810_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_w810_modes),		.channel_mode = alc880_w810_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_Z71V] = {		.mixers = { alc880_z71v_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_z71v_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_z71v_dac_nids),		.dac_nids = alc880_z71v_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.hp_nid = 0x03,		.num_channel_mode = ARRAY_SIZE(alc880_2_jack_modes),		.channel_mode = alc880_2_jack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_F1734] = {		.mixers = { alc880_f1734_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_f1734_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_f1734_dac_nids),		.dac_nids = alc880_f1734_dac_nids,		.hp_nid = 0x02,		.num_channel_mode = ARRAY_SIZE(alc880_2_jack_modes),		.channel_mode = alc880_2_jack_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_ASUS] = {		.mixers = { alc880_asus_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_asus_init_verbs,				alc880_gpio1_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),		.dac_nids = alc880_asus_dac_nids,		.num_channel_mode = ARRAY_SIZE(alc880_asus_modes),		.channel_mode = alc880_asus_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_ASUS_DIG] = {		.mixers = { alc880_asus_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_asus_init_verbs,				alc880_gpio1_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),		.dac_nids = alc880_asus_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_asus_modes),		.channel_mode = alc880_asus_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_ASUS_DIG2] = {		.mixers = { alc880_asus_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_asus_init_verbs,				alc880_gpio2_init_verbs }, /* use GPIO2 */		.num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),		.dac_nids = alc880_asus_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_asus_modes),		.channel_mode = alc880_asus_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_ASUS_W1V] = {		.mixers = { alc880_asus_mixer, alc880_asus_w1v_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_asus_init_verbs,				alc880_gpio1_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),		.dac_nids = alc880_asus_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_asus_modes),		.channel_mode = alc880_asus_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_UNIWILL_DIG] = {		.mixers = { alc880_asus_mixer, alc880_pcbeep_mixer },		.init_verbs = { alc880_volume_init_verbs, alc880_pin_asus_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),		.dac_nids = alc880_asus_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_asus_modes),		.channel_mode = alc880_asus_modes,		.input_mux = &alc880_capture_source,	},	[ALC880_CLEVO] = {		.mixers = { alc880_three_stack_mixer },		.init_verbs = { alc880_volume_init_verbs,				alc880_pin_clevo_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_dac_nids),		.dac_nids = alc880_dac_nids,		.hp_nid = 0x03,		.num_channel_mode = ARRAY_SIZE(alc880_threestack_modes),		.channel_mode = alc880_threestack_modes,		.input_mux = &alc880_capture_source,	},#ifdef CONFIG_SND_DEBUG	[ALC880_TEST] = {		.mixers = { alc880_test_mixer },		.init_verbs = { alc880_test_init_verbs },		.num_dacs = ARRAY_SIZE(alc880_test_dac_nids),		.dac_nids = alc880_test_dac_nids,		.dig_out_nid = ALC880_DIGOUT_NID,		.num_channel_mode = ARRAY_SIZE(alc880_test_modes),		.channel_mode = alc880_test_modes,		.input_mux = &alc880_test_capture_source,	},#endi

⌨️ 快捷键说明

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