ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen
The auto-parser assigns the bass speaker to DAC3 (NID 0x06) which is without the volume control. I do not see a reason to use DAC2, because the shared output to all speakers produces the sufficient and well balanced sound. The stereo support is enough for this purpose (laptop). Signed-off-by: Jaroslav Kysela <perex@perex.cz> Link: https://lore.kernel.org/r/20191129144027.14765-1-perex@perex.cz Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
609f548534
commit
d2cd795c4e
@ -5547,6 +5547,16 @@ static void alc295_fixup_disable_dac3(struct hda_codec *codec,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* force NID 0x17 (Bass Speaker) to DAC1 to share it with the main speaker */
|
||||||
|
static void alc285_fixup_speaker2_to_dac1(struct hda_codec *codec,
|
||||||
|
const struct hda_fixup *fix, int action)
|
||||||
|
{
|
||||||
|
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
|
||||||
|
hda_nid_t conn[1] = { 0x02 };
|
||||||
|
snd_hda_override_conn_list(codec, 0x17, 1, conn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Hook to update amp GPIO4 for automute */
|
/* Hook to update amp GPIO4 for automute */
|
||||||
static void alc280_hp_gpio4_automute_hook(struct hda_codec *codec,
|
static void alc280_hp_gpio4_automute_hook(struct hda_codec *codec,
|
||||||
struct hda_jack_callback *jack)
|
struct hda_jack_callback *jack)
|
||||||
@ -5849,6 +5859,7 @@ enum {
|
|||||||
ALC225_FIXUP_DISABLE_MIC_VREF,
|
ALC225_FIXUP_DISABLE_MIC_VREF,
|
||||||
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
|
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
|
||||||
ALC295_FIXUP_DISABLE_DAC3,
|
ALC295_FIXUP_DISABLE_DAC3,
|
||||||
|
ALC285_FIXUP_SPEAKER2_TO_DAC1,
|
||||||
ALC280_FIXUP_HP_HEADSET_MIC,
|
ALC280_FIXUP_HP_HEADSET_MIC,
|
||||||
ALC221_FIXUP_HP_FRONT_MIC,
|
ALC221_FIXUP_HP_FRONT_MIC,
|
||||||
ALC292_FIXUP_TPT460,
|
ALC292_FIXUP_TPT460,
|
||||||
@ -6649,6 +6660,10 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||||||
.type = HDA_FIXUP_FUNC,
|
.type = HDA_FIXUP_FUNC,
|
||||||
.v.func = alc295_fixup_disable_dac3,
|
.v.func = alc295_fixup_disable_dac3,
|
||||||
},
|
},
|
||||||
|
[ALC285_FIXUP_SPEAKER2_TO_DAC1] = {
|
||||||
|
.type = HDA_FIXUP_FUNC,
|
||||||
|
.v.func = alc285_fixup_speaker2_to_dac1,
|
||||||
|
},
|
||||||
[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = {
|
[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = {
|
||||||
.type = HDA_FIXUP_PINS,
|
.type = HDA_FIXUP_PINS,
|
||||||
.v.pins = (const struct hda_pintbl[]) {
|
.v.pins = (const struct hda_pintbl[]) {
|
||||||
@ -7224,6 +7239,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|||||||
SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
|
SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
|
SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||||
|
SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
||||||
@ -7408,6 +7424,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
|
|||||||
{.id = ALC255_FIXUP_DELL_SPK_NOISE, .name = "dell-spk-noise"},
|
{.id = ALC255_FIXUP_DELL_SPK_NOISE, .name = "dell-spk-noise"},
|
||||||
{.id = ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "alc225-dell1"},
|
{.id = ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "alc225-dell1"},
|
||||||
{.id = ALC295_FIXUP_DISABLE_DAC3, .name = "alc295-disable-dac3"},
|
{.id = ALC295_FIXUP_DISABLE_DAC3, .name = "alc295-disable-dac3"},
|
||||||
|
{.id = ALC285_FIXUP_SPEAKER2_TO_DAC1, .name = "alc285-speaker2-to-dac1"},
|
||||||
{.id = ALC280_FIXUP_HP_HEADSET_MIC, .name = "alc280-hp-headset"},
|
{.id = ALC280_FIXUP_HP_HEADSET_MIC, .name = "alc280-hp-headset"},
|
||||||
{.id = ALC221_FIXUP_HP_FRONT_MIC, .name = "alc221-hp-mic"},
|
{.id = ALC221_FIXUP_HP_FRONT_MIC, .name = "alc221-hp-mic"},
|
||||||
{.id = ALC298_FIXUP_SPK_VOLUME, .name = "alc298-spk-volume"},
|
{.id = ALC298_FIXUP_SPK_VOLUME, .name = "alc298-spk-volume"},
|
||||||
|
Loading…
Reference in New Issue
Block a user