sound fixes for 4.12-rc3
This contains a few HD-audio device-specific quirks and an endianess fix for USB-audio, as well as the update of quirk model list document. All fixes are small and trivial. The document update could have been postponed, but it's a good thing for user and has absolutely zero risk of breakage, so included here. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABAgAGBQJZJ+BaAAoJEGwxgFQ9KSmk19wQAJYCJ/ffZfmcj+DRCMTJpA1c LMVj5IYZAQydiLBSZjI9zAiPICE80GDH3d+aEK1Cd2ZDxAZcfNtiGqcOsE/f3xC/ TN9bfi7yBIlrEq+N24h8Ev2qGwGYlcpvI/jnEskAz+SfXF0Do17yzfE9a2e9YDb+ 781egeLiD5Df32orUbFxqsREIwnycMpR8kSSCdAV068D3h8jnbOqupa54Xiovoc3 cdf+iuY66FtifHv7K7LEJh7SckWtrDIXSq6fdiA7rRX1+ki9G73fu/hTKgRUvINU 6lqYS5m9mBNyz5a/yfbklP92E1LuwmrtFJhWnM9AEbk7QNkThq96brHtwLETBI2S fGHUu7nI0LM9TOlmDTc36OZvqve84i0NdBoVrdFYrkT6mFEvtvTUwG7bFmlCw13x 6NcRpJHqf3n9HWi4RKxXmUPANRPbQvGoU7ukNVc7+TU3yDXlGCqCcXmApRsWc4qV 9tnPHpiQYOYb8sRvwcrZmghQV6Lgzn49+g8oHm8g63+kI2ABtKFeqdNM/Aw37h0D dpKkzTfbVAHB8PtxXMBaiKK1WPvelA7sRBT0lDSJ4Kl/x93OEeCyKaIvOU3krQOd c9NhsL99eEf3vLS/irM6v2TzyNula8NU8y2uC+TdrYJ1ac7HGa3bnJimIXGVBk9p g12kBwe9vrEi8OkjjQUk =L01h -----END PGP SIGNATURE----- Merge tag 'sound-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "This contains a few HD-audio device-specific quirks and an endianess fix for USB-audio, as well as the update of quirk model list document. All fixes are small and trivial. The document update could have been postponed, but it's a good thing for user and has absolutely zero risk of breakage, so included here" * tag 'sound-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430 ALSA: hda - Update the list of quirk models ALSA: hda - Provide dual-codecs model option for a few Realtek codecs ALSA: hda - Apply dual-codec quirk for MSI Z270-Gaming mobo ALSA: hda - No loopback on ALC299 codec ALSA: usb-audio: fix Amanero Combo384 quirk on big-endian hosts
This commit is contained in:
Коммит
e95806dffc
|
@ -16,6 +16,8 @@ ALC880
|
||||||
6-jack in back, 2-jack in front
|
6-jack in back, 2-jack in front
|
||||||
6stack-digout
|
6stack-digout
|
||||||
6-jack with a SPDIF out
|
6-jack with a SPDIF out
|
||||||
|
6stack-automute
|
||||||
|
6-jack with headphone jack detection
|
||||||
|
|
||||||
ALC260
|
ALC260
|
||||||
======
|
======
|
||||||
|
@ -62,6 +64,8 @@ lenovo-dock
|
||||||
Enables docking station I/O for some Lenovos
|
Enables docking station I/O for some Lenovos
|
||||||
hp-gpio-led
|
hp-gpio-led
|
||||||
GPIO LED support on HP laptops
|
GPIO LED support on HP laptops
|
||||||
|
hp-dock-gpio-mic1-led
|
||||||
|
HP dock with mic LED support
|
||||||
dell-headset-multi
|
dell-headset-multi
|
||||||
Headset jack, which can also be used as mic-in
|
Headset jack, which can also be used as mic-in
|
||||||
dell-headset-dock
|
dell-headset-dock
|
||||||
|
@ -72,6 +76,12 @@ alc283-sense-combo
|
||||||
Combo jack sensing on ALC283
|
Combo jack sensing on ALC283
|
||||||
tpt440-dock
|
tpt440-dock
|
||||||
Pin configs for Lenovo Thinkpad Dock support
|
Pin configs for Lenovo Thinkpad Dock support
|
||||||
|
tpt440
|
||||||
|
Lenovo Thinkpad T440s setup
|
||||||
|
tpt460
|
||||||
|
Lenovo Thinkpad T460/560 setup
|
||||||
|
dual-codecs
|
||||||
|
Lenovo laptops with dual codecs
|
||||||
|
|
||||||
ALC66x/67x/892
|
ALC66x/67x/892
|
||||||
==============
|
==============
|
||||||
|
@ -97,6 +107,8 @@ inv-dmic
|
||||||
Inverted internal mic workaround
|
Inverted internal mic workaround
|
||||||
dell-headset-multi
|
dell-headset-multi
|
||||||
Headset jack, which can also be used as mic-in
|
Headset jack, which can also be used as mic-in
|
||||||
|
dual-codecs
|
||||||
|
Lenovo laptops with dual codecs
|
||||||
|
|
||||||
ALC680
|
ALC680
|
||||||
======
|
======
|
||||||
|
@ -114,6 +126,8 @@ inv-dmic
|
||||||
Inverted internal mic workaround
|
Inverted internal mic workaround
|
||||||
no-primary-hp
|
no-primary-hp
|
||||||
VAIO Z/VGC-LN51JGB workaround (for fixed speaker DAC)
|
VAIO Z/VGC-LN51JGB workaround (for fixed speaker DAC)
|
||||||
|
dual-codecs
|
||||||
|
ALC1220 dual codecs for Gaming mobos
|
||||||
|
|
||||||
ALC861/660
|
ALC861/660
|
||||||
==========
|
==========
|
||||||
|
@ -206,65 +220,47 @@ auto
|
||||||
|
|
||||||
Conexant 5045
|
Conexant 5045
|
||||||
=============
|
=============
|
||||||
laptop-hpsense
|
cap-mix-amp
|
||||||
Laptop with HP sense (old model laptop)
|
Fix max input level on mixer widget
|
||||||
laptop-micsense
|
toshiba-p105
|
||||||
Laptop with Mic sense (old model fujitsu)
|
Toshiba P105 quirk
|
||||||
laptop-hpmicsense
|
hp-530
|
||||||
Laptop with HP and Mic senses
|
HP 530 quirk
|
||||||
benq
|
|
||||||
Benq R55E
|
|
||||||
laptop-hp530
|
|
||||||
HP 530 laptop
|
|
||||||
test
|
|
||||||
for testing/debugging purpose, almost all controls can be
|
|
||||||
adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y
|
|
||||||
|
|
||||||
Conexant 5047
|
Conexant 5047
|
||||||
=============
|
=============
|
||||||
laptop
|
cap-mix-amp
|
||||||
Basic Laptop config
|
Fix max input level on mixer widget
|
||||||
laptop-hp
|
|
||||||
Laptop config for some HP models (subdevice 30A5)
|
|
||||||
laptop-eapd
|
|
||||||
Laptop config with EAPD support
|
|
||||||
test
|
|
||||||
for testing/debugging purpose, almost all controls can be
|
|
||||||
adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y
|
|
||||||
|
|
||||||
Conexant 5051
|
Conexant 5051
|
||||||
=============
|
=============
|
||||||
laptop
|
lenovo-x200
|
||||||
Basic Laptop config (default)
|
Lenovo X200 quirk
|
||||||
hp
|
|
||||||
HP Spartan laptop
|
|
||||||
hp-dv6736
|
|
||||||
HP dv6736
|
|
||||||
hp-f700
|
|
||||||
HP Compaq Presario F700
|
|
||||||
ideapad
|
|
||||||
Lenovo IdeaPad laptop
|
|
||||||
toshiba
|
|
||||||
Toshiba Satellite M300
|
|
||||||
|
|
||||||
Conexant 5066
|
Conexant 5066
|
||||||
=============
|
=============
|
||||||
laptop
|
stereo-dmic
|
||||||
Basic Laptop config (default)
|
Workaround for inverted stereo digital mic
|
||||||
hp-laptop
|
gpio1
|
||||||
HP laptops, e g G60
|
Enable GPIO1 pin
|
||||||
asus
|
headphone-mic-pin
|
||||||
Asus K52JU, Lenovo G560
|
Enable headphone mic NID 0x18 without detection
|
||||||
dell-laptop
|
tp410
|
||||||
Dell laptops
|
Thinkpad T400 & co quirks
|
||||||
dell-vostro
|
|
||||||
Dell Vostro
|
|
||||||
olpc-xo-1_5
|
|
||||||
OLPC XO 1.5
|
|
||||||
ideapad
|
|
||||||
Lenovo IdeaPad U150
|
|
||||||
thinkpad
|
thinkpad
|
||||||
Lenovo Thinkpad
|
Thinkpad mute/mic LED quirk
|
||||||
|
lemote-a1004
|
||||||
|
Lemote A1004 quirk
|
||||||
|
lemote-a1205
|
||||||
|
Lemote A1205 quirk
|
||||||
|
olpc-xo
|
||||||
|
OLPC XO quirk
|
||||||
|
mute-led-eapd
|
||||||
|
Mute LED control via EAPD
|
||||||
|
hp-dock
|
||||||
|
HP dock support
|
||||||
|
mute-led-gpio
|
||||||
|
Mute LED control via GPIO
|
||||||
|
|
||||||
STAC9200
|
STAC9200
|
||||||
========
|
========
|
||||||
|
@ -444,6 +440,8 @@ dell-eq
|
||||||
Dell desktops/laptops
|
Dell desktops/laptops
|
||||||
alienware
|
alienware
|
||||||
Alienware M17x
|
Alienware M17x
|
||||||
|
asus-mobo
|
||||||
|
Pin configs for ASUS mobo with 5.1/SPDIF out
|
||||||
auto
|
auto
|
||||||
BIOS setup (default)
|
BIOS setup (default)
|
||||||
|
|
||||||
|
@ -477,6 +475,8 @@ hp-envy-ts-bass
|
||||||
Pin fixup for HP Envy TS bass speaker (NID 0x10)
|
Pin fixup for HP Envy TS bass speaker (NID 0x10)
|
||||||
hp-bnb13-eq
|
hp-bnb13-eq
|
||||||
Hardware equalizer setup for HP laptops
|
Hardware equalizer setup for HP laptops
|
||||||
|
hp-envy-ts-bass
|
||||||
|
HP Envy TS bass support
|
||||||
auto
|
auto
|
||||||
BIOS setup (default)
|
BIOS setup (default)
|
||||||
|
|
||||||
|
@ -496,10 +496,22 @@ auto
|
||||||
|
|
||||||
Cirrus Logic CS4206/4207
|
Cirrus Logic CS4206/4207
|
||||||
========================
|
========================
|
||||||
|
mbp53
|
||||||
|
MacBook Pro 5,3
|
||||||
mbp55
|
mbp55
|
||||||
MacBook Pro 5,5
|
MacBook Pro 5,5
|
||||||
imac27
|
imac27
|
||||||
IMac 27 Inch
|
IMac 27 Inch
|
||||||
|
imac27_122
|
||||||
|
iMac 12,2
|
||||||
|
apple
|
||||||
|
Generic Apple quirk
|
||||||
|
mbp101
|
||||||
|
MacBookPro 10,1
|
||||||
|
mbp81
|
||||||
|
MacBookPro 8,1
|
||||||
|
mba42
|
||||||
|
MacBookAir 4,2
|
||||||
auto
|
auto
|
||||||
BIOS setup (default)
|
BIOS setup (default)
|
||||||
|
|
||||||
|
@ -509,6 +521,10 @@ mba6
|
||||||
MacBook Air 6,1 and 6,2
|
MacBook Air 6,1 and 6,2
|
||||||
gpio0
|
gpio0
|
||||||
Enable GPIO 0 amp
|
Enable GPIO 0 amp
|
||||||
|
mbp11
|
||||||
|
MacBookPro 11,2
|
||||||
|
macmini
|
||||||
|
MacMini 7,1
|
||||||
auto
|
auto
|
||||||
BIOS setup (default)
|
BIOS setup (default)
|
||||||
|
|
||||||
|
|
|
@ -2328,6 +2328,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
||||||
SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
|
SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
|
||||||
SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE),
|
SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE),
|
||||||
SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
|
SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
|
||||||
|
SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
|
||||||
SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
|
SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
|
||||||
SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
|
SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
|
||||||
SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
|
SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
|
||||||
|
@ -2342,6 +2343,7 @@ static const struct hda_model_fixup alc882_fixup_models[] = {
|
||||||
{.id = ALC883_FIXUP_ACER_EAPD, .name = "acer-aspire"},
|
{.id = ALC883_FIXUP_ACER_EAPD, .name = "acer-aspire"},
|
||||||
{.id = ALC882_FIXUP_INV_DMIC, .name = "inv-dmic"},
|
{.id = ALC882_FIXUP_INV_DMIC, .name = "inv-dmic"},
|
||||||
{.id = ALC882_FIXUP_NO_PRIMARY_HP, .name = "no-primary-hp"},
|
{.id = ALC882_FIXUP_NO_PRIMARY_HP, .name = "no-primary-hp"},
|
||||||
|
{.id = ALC1220_FIXUP_GB_DUAL_CODECS, .name = "dual-codecs"},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6014,6 +6016,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
|
||||||
{.id = ALC292_FIXUP_TPT440_DOCK, .name = "tpt440-dock"},
|
{.id = ALC292_FIXUP_TPT440_DOCK, .name = "tpt440-dock"},
|
||||||
{.id = ALC292_FIXUP_TPT440, .name = "tpt440"},
|
{.id = ALC292_FIXUP_TPT440, .name = "tpt440"},
|
||||||
{.id = ALC292_FIXUP_TPT460, .name = "tpt460"},
|
{.id = ALC292_FIXUP_TPT460, .name = "tpt460"},
|
||||||
|
{.id = ALC233_FIXUP_LENOVO_MULTI_CODECS, .name = "dual-codecs"},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
#define ALC225_STANDARD_PINS \
|
#define ALC225_STANDARD_PINS \
|
||||||
|
@ -6465,8 +6468,11 @@ static int patch_alc269(struct hda_codec *codec)
|
||||||
break;
|
break;
|
||||||
case 0x10ec0225:
|
case 0x10ec0225:
|
||||||
case 0x10ec0295:
|
case 0x10ec0295:
|
||||||
|
spec->codec_variant = ALC269_TYPE_ALC225;
|
||||||
|
break;
|
||||||
case 0x10ec0299:
|
case 0x10ec0299:
|
||||||
spec->codec_variant = ALC269_TYPE_ALC225;
|
spec->codec_variant = ALC269_TYPE_ALC225;
|
||||||
|
spec->gen.mixer_nid = 0; /* no loopback on ALC299 */
|
||||||
break;
|
break;
|
||||||
case 0x10ec0234:
|
case 0x10ec0234:
|
||||||
case 0x10ec0274:
|
case 0x10ec0274:
|
||||||
|
@ -7338,6 +7344,7 @@ static const struct hda_model_fixup alc662_fixup_models[] = {
|
||||||
{.id = ALC662_FIXUP_ASUS_MODE8, .name = "asus-mode8"},
|
{.id = ALC662_FIXUP_ASUS_MODE8, .name = "asus-mode8"},
|
||||||
{.id = ALC662_FIXUP_INV_DMIC, .name = "inv-dmic"},
|
{.id = ALC662_FIXUP_INV_DMIC, .name = "inv-dmic"},
|
||||||
{.id = ALC668_FIXUP_DELL_MIC_NO_PRESENCE, .name = "dell-headset-multi"},
|
{.id = ALC668_FIXUP_DELL_MIC_NO_PRESENCE, .name = "dell-headset-multi"},
|
||||||
|
{.id = ALC662_FIXUP_LENOVO_MULTI_CODECS, .name = "dual-codecs"},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1559,6 +1559,8 @@ static const struct snd_pci_quirk stac9200_fixup_tbl[] = {
|
||||||
"Dell Inspiron 1501", STAC_9200_DELL_M26),
|
"Dell Inspiron 1501", STAC_9200_DELL_M26),
|
||||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6,
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f6,
|
||||||
"unknown Dell", STAC_9200_DELL_M26),
|
"unknown Dell", STAC_9200_DELL_M26),
|
||||||
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0201,
|
||||||
|
"Dell Latitude D430", STAC_9200_DELL_M22),
|
||||||
/* Panasonic */
|
/* Panasonic */
|
||||||
SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC),
|
SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC),
|
||||||
/* Gateway machines needs EAPD to be set on resume */
|
/* Gateway machines needs EAPD to be set on resume */
|
||||||
|
|
|
@ -1364,7 +1364,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
|
||||||
/* Amanero Combo384 USB interface with native DSD support */
|
/* Amanero Combo384 USB interface with native DSD support */
|
||||||
case USB_ID(0x16d0, 0x071a):
|
case USB_ID(0x16d0, 0x071a):
|
||||||
if (fp->altsetting == 2) {
|
if (fp->altsetting == 2) {
|
||||||
switch (chip->dev->descriptor.bcdDevice) {
|
switch (le16_to_cpu(chip->dev->descriptor.bcdDevice)) {
|
||||||
case 0x199:
|
case 0x199:
|
||||||
return SNDRV_PCM_FMTBIT_DSD_U32_LE;
|
return SNDRV_PCM_FMTBIT_DSD_U32_LE;
|
||||||
case 0x19b:
|
case 0x19b:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче