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

Commit d207df2d authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'fix/hda' into topic/hda

parents 1aa924e2 c8900a0f
Loading
Loading
Loading
Loading
+3 −7
Original line number Original line Diff line number Diff line
@@ -17,13 +17,9 @@
/*
/*
 * R6 (0x06) - Mic Bias Control 0
 * R6 (0x06) - Mic Bias Control 0
 */
 */
#define WM8903_MICDET_HYST_ENA                  0x0080  /* MICDET_HYST_ENA */
#define WM8903_MICDET_THR_MASK                  0x0030  /* MICDET_THR - [5:4] */
#define WM8903_MICDET_HYST_ENA_MASK             0x0080  /* MICDET_HYST_ENA */
#define WM8903_MICDET_THR_SHIFT                      4  /* MICDET_THR - [5:4] */
#define WM8903_MICDET_HYST_ENA_SHIFT                 7  /* MICDET_HYST_ENA */
#define WM8903_MICDET_THR_WIDTH                      2  /* MICDET_THR - [5:4] */
#define WM8903_MICDET_HYST_ENA_WIDTH                 1  /* MICDET_HYST_ENA */
#define WM8903_MICDET_THR_MASK                  0x0070  /* MICDET_THR - [6:4] */
#define WM8903_MICDET_THR_SHIFT                      4  /* MICDET_THR - [6:4] */
#define WM8903_MICDET_THR_WIDTH                      3  /* MICDET_THR - [6:4] */
#define WM8903_MICSHORT_THR_MASK                0x000C  /* MICSHORT_THR - [3:2] */
#define WM8903_MICSHORT_THR_MASK                0x000C  /* MICSHORT_THR - [3:2] */
#define WM8903_MICSHORT_THR_SHIFT                    2  /* MICSHORT_THR - [3:2] */
#define WM8903_MICSHORT_THR_SHIFT                    2  /* MICSHORT_THR - [3:2] */
#define WM8903_MICSHORT_THR_WIDTH                    2  /* MICSHORT_THR - [3:2] */
#define WM8903_MICSHORT_THR_WIDTH                    2  /* MICSHORT_THR - [3:2] */
+5 −0
Original line number Original line Diff line number Diff line
@@ -1638,6 +1638,9 @@ static struct hda_codec_preset snd_hda_preset_hdmi[] = {
{ .id = 0x10de0012, .name = "GPU 12 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0012, .name = "GPU 12 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0013, .name = "GPU 13 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0013, .name = "GPU 13 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0014, .name = "GPU 14 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0014, .name = "GPU 14 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0015, .name = "GPU 15 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0016, .name = "GPU 16 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
/* 17 is known to be absent */
{ .id = 0x10de0018, .name = "GPU 18 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0018, .name = "GPU 18 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0019, .name = "GPU 19 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de0019, .name = "GPU 19 HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de001a, .name = "GPU 1a HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
{ .id = 0x10de001a, .name = "GPU 1a HDMI/DP",	.patch = patch_nvhdmi_8ch_89 },
@@ -1680,6 +1683,8 @@ MODULE_ALIAS("snd-hda-codec-id:10de0011");
MODULE_ALIAS("snd-hda-codec-id:10de0012");
MODULE_ALIAS("snd-hda-codec-id:10de0012");
MODULE_ALIAS("snd-hda-codec-id:10de0013");
MODULE_ALIAS("snd-hda-codec-id:10de0013");
MODULE_ALIAS("snd-hda-codec-id:10de0014");
MODULE_ALIAS("snd-hda-codec-id:10de0014");
MODULE_ALIAS("snd-hda-codec-id:10de0015");
MODULE_ALIAS("snd-hda-codec-id:10de0016");
MODULE_ALIAS("snd-hda-codec-id:10de0018");
MODULE_ALIAS("snd-hda-codec-id:10de0018");
MODULE_ALIAS("snd-hda-codec-id:10de0019");
MODULE_ALIAS("snd-hda-codec-id:10de0019");
MODULE_ALIAS("snd-hda-codec-id:10de001a");
MODULE_ALIAS("snd-hda-codec-id:10de001a");
+3 −6
Original line number Original line Diff line number Diff line
@@ -1133,11 +1133,8 @@ static void alc_automute_speaker(struct hda_codec *codec, int pinctl)
		nid = spec->autocfg.hp_pins[i];
		nid = spec->autocfg.hp_pins[i];
		if (!nid)
		if (!nid)
			break;
			break;
		if (snd_hda_jack_detect(codec, nid)) {
		alc_report_jack(codec, nid);
			spec->jack_present = 1;
		spec->jack_present |= snd_hda_jack_detect(codec, nid);
			break;
		}
		alc_report_jack(codec, spec->autocfg.hp_pins[i]);
	}
	}
	mute = spec->jack_present ? HDA_AMP_MUTE : 0;
	mute = spec->jack_present ? HDA_AMP_MUTE : 0;
@@ -15014,7 +15011,7 @@ static struct snd_pci_quirk alc269_cfg_tbl[] = {
	SND_PCI_QUIRK(0x1043, 0x11e3, "ASUS U33Jc", ALC269VB_AMIC),
	SND_PCI_QUIRK(0x1043, 0x11e3, "ASUS U33Jc", ALC269VB_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1273, "ASUS UL80Jt", ALC269VB_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1273, "ASUS UL80Jt", ALC269VB_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1283, "ASUS U53Jc", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1283, "ASUS U53Jc", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x12b3, "ASUS N82Jv", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x12b3, "ASUS N82JV", ALC269VB_AMIC),
	SND_PCI_QUIRK(0x1043, 0x12d3, "ASUS N61Jv", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x12d3, "ASUS N61Jv", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x13a3, "ASUS UL30Vt", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x13a3, "ASUS UL30Vt", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1373, "ASUS G73JX", ALC269_AMIC),
	SND_PCI_QUIRK(0x1043, 0x1373, "ASUS G73JX", ALC269_AMIC),
+12 −3
Original line number Original line Diff line number Diff line
@@ -586,7 +586,12 @@ static hda_nid_t stac92hd83xxx_pin_nids[10] = {
	0x0f, 0x10, 0x11, 0x1f, 0x20,
	0x0f, 0x10, 0x11, 0x1f, 0x20,
};
};


static hda_nid_t stac92hd88xxx_pin_nids[10] = {
static hda_nid_t stac92hd87xxx_pin_nids[6] = {
	0x0a, 0x0b, 0x0c, 0x0d,
	0x0f, 0x11,
};

static hda_nid_t stac92hd88xxx_pin_nids[8] = {
	0x0a, 0x0b, 0x0c, 0x0d,
	0x0a, 0x0b, 0x0c, 0x0d,
	0x0f, 0x11, 0x1f, 0x20,
	0x0f, 0x11, 0x1f, 0x20,
};
};
@@ -5430,12 +5435,13 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
	switch (codec->vendor_id) {
	switch (codec->vendor_id) {
	case 0x111d76d1:
	case 0x111d76d1:
	case 0x111d76d9:
	case 0x111d76d9:
	case 0x111d76e5:
		spec->dmic_nids = stac92hd87b_dmic_nids;
		spec->dmic_nids = stac92hd87b_dmic_nids;
		spec->num_dmics = stac92xx_connected_ports(codec,
		spec->num_dmics = stac92xx_connected_ports(codec,
				stac92hd87b_dmic_nids,
				stac92hd87b_dmic_nids,
				STAC92HD87B_NUM_DMICS);
				STAC92HD87B_NUM_DMICS);
		spec->num_pins = ARRAY_SIZE(stac92hd88xxx_pin_nids);
		spec->num_pins = ARRAY_SIZE(stac92hd87xxx_pin_nids);
		spec->pin_nids = stac92hd88xxx_pin_nids;
		spec->pin_nids = stac92hd87xxx_pin_nids;
		spec->mono_nid = 0;
		spec->mono_nid = 0;
		spec->num_pwrs = 0;
		spec->num_pwrs = 0;
		break;
		break;
@@ -5443,6 +5449,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
	case 0x111d7667:
	case 0x111d7667:
	case 0x111d7668:
	case 0x111d7668:
	case 0x111d7669:
	case 0x111d7669:
	case 0x111d76e3:
		spec->num_dmics = stac92xx_connected_ports(codec,
		spec->num_dmics = stac92xx_connected_ports(codec,
				stac92hd88xxx_dmic_nids,
				stac92hd88xxx_dmic_nids,
				STAC92HD88XXX_NUM_DMICS);
				STAC92HD88XXX_NUM_DMICS);
@@ -6387,6 +6394,8 @@ static struct hda_codec_preset snd_hda_preset_sigmatel[] = {
	{ .id = 0x111d76cd, .name = "92HD89F2", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76cd, .name = "92HD89F2", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76ce, .name = "92HD89F1", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76ce, .name = "92HD89F1", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76e0, .name = "92HD91BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e0, .name = "92HD91BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e7, .name = "92HD90BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e7, .name = "92HD90BXX", .patch = patch_stac92hd83xxx},
	{} /* terminator */
	{} /* terminator */
};
};
+1 −1
Original line number Original line Diff line number Diff line
@@ -367,7 +367,7 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec)
	return 0;
	return 0;
}
}


static const u8 cx20442_reg = CX20442_TELOUT | CX20442_MIC;
static const u8 cx20442_reg;


static struct snd_soc_codec_driver cx20442_codec_dev = {
static struct snd_soc_codec_driver cx20442_codec_dev = {
	.probe = 	cx20442_codec_probe,
	.probe = 	cx20442_codec_probe,
Loading