mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
Merge branch 'fix/hda' into for-linus
This commit is contained in:
commit
12180024cc
@ -1591,6 +1591,21 @@ static int patch_cxt5047(struct hda_codec *codec)
|
||||
#endif
|
||||
}
|
||||
spec->vmaster_nid = 0x13;
|
||||
|
||||
switch (codec->subsystem_id >> 16) {
|
||||
case 0x103c:
|
||||
/* HP laptops have really bad sound over 0 dB on NID 0x10.
|
||||
* Fix max PCM level to 0 dB (originally it has 0x1e steps
|
||||
* with 0 dB offset 0x17)
|
||||
*/
|
||||
snd_hda_override_amp_caps(codec, 0x10, HDA_INPUT,
|
||||
(0x17 << AC_AMPCAP_OFFSET_SHIFT) |
|
||||
(0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
|
||||
(0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
|
||||
(1 << AC_AMPCAP_MUTE_SHIFT));
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -538,8 +538,6 @@ static int patch_nvhdmi_2ch(struct hda_codec *codec)
|
||||
* patch entries
|
||||
*/
|
||||
static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
|
||||
{ .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch },
|
||||
{ .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch },
|
||||
{ .id = 0x10de0002, .name = "MCP77/78 HDMI",
|
||||
.patch = patch_nvhdmi_8ch_7x },
|
||||
{ .id = 0x10de0003, .name = "MCP77/78 HDMI",
|
||||
@ -550,12 +548,16 @@ static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
|
||||
.patch = patch_nvhdmi_8ch_7x },
|
||||
{ .id = 0x10de0007, .name = "MCP79/7A HDMI",
|
||||
.patch = patch_nvhdmi_8ch_7x },
|
||||
{ .id = 0x10de000c, .name = "MCP89 HDMI",
|
||||
{ .id = 0x10de000a, .name = "GT220 HDMI",
|
||||
.patch = patch_nvhdmi_8ch_89 },
|
||||
{ .id = 0x10de000b, .name = "GT21x HDMI",
|
||||
.patch = patch_nvhdmi_8ch_89 },
|
||||
{ .id = 0x10de000c, .name = "MCP89 HDMI",
|
||||
.patch = patch_nvhdmi_8ch_89 },
|
||||
{ .id = 0x10de000d, .name = "GT240 HDMI",
|
||||
.patch = patch_nvhdmi_8ch_89 },
|
||||
{ .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch },
|
||||
{ .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch },
|
||||
{} /* terminator */
|
||||
};
|
||||
|
||||
@ -564,11 +566,12 @@ MODULE_ALIAS("snd-hda-codec-id:10de0003");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de0005");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de0006");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de0007");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000a");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000b");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000c");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000d");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de0067");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de8001");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000c");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000b");
|
||||
MODULE_ALIAS("snd-hda-codec-id:10de000d");
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("NVIDIA HDMI HD-audio codec");
|
||||
|
@ -2532,8 +2532,6 @@ static int alc_build_controls(struct hda_codec *codec)
|
||||
return err;
|
||||
}
|
||||
|
||||
alc_free_kctls(codec); /* no longer needed */
|
||||
|
||||
/* assign Capture Source enums to NID */
|
||||
kctl = snd_hda_find_mixer_ctl(codec, "Capture Source");
|
||||
if (!kctl)
|
||||
@ -2602,6 +2600,9 @@ static int alc_build_controls(struct hda_codec *codec)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alc_free_kctls(codec); /* no longer needed */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1730,6 +1730,8 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = {
|
||||
"HP HDX", STAC_HP_HDX), /* HDX16 */
|
||||
SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x3620,
|
||||
"HP dv6", STAC_HP_DV5),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3061,
|
||||
"HP dv6", STAC_HP_DV5), /* HP dv6-1110ax */
|
||||
SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x7010,
|
||||
"HP", STAC_HP_DV5),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0233,
|
||||
|
Loading…
Reference in New Issue
Block a user