mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 11:06:41 -05:00
Merge tag 'sound-5.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Just a handful small device-specific fixes including a couple of reverts" * tag 'sound-5.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: Revert "ALSA: usb-audio: Disable Lenovo P620 Rear line-in volume control" Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO" ALSA: usb-audio: Add delay quirk for H570e USB headsets ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520 ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged ALSA: asihpi: fix iounmap in error handler
This commit is contained in:
@@ -343,7 +343,7 @@ int asihpi_adapter_probe(struct pci_dev *pci_dev,
|
||||
struct hpi_message hm;
|
||||
struct hpi_response hr;
|
||||
struct hpi_adapter adapter;
|
||||
struct hpi_pci pci;
|
||||
struct hpi_pci pci = { 0 };
|
||||
|
||||
memset(&adapter, 0, sizeof(adapter));
|
||||
|
||||
@@ -499,7 +499,7 @@ int asihpi_adapter_probe(struct pci_dev *pci_dev,
|
||||
return 0;
|
||||
|
||||
err:
|
||||
for (idx = 0; idx < HPI_MAX_ADAPTER_MEM_SPACES; idx++) {
|
||||
while (--idx >= 0) {
|
||||
if (pci.ap_mem_base[idx]) {
|
||||
iounmap(pci.ap_mem_base[idx]);
|
||||
pci.ap_mem_base[idx] = NULL;
|
||||
|
||||
@@ -2475,7 +2475,6 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
|
||||
SND_PCI_QUIRK(0x1462, 0x9c37, "MSI X570-A PRO", ALC1220_FIXUP_CLEVO_P950),
|
||||
SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
|
||||
SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
|
||||
SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
|
||||
@@ -3428,7 +3427,11 @@ static void alc256_shutup(struct hda_codec *codec)
|
||||
|
||||
/* 3k pull low control for Headset jack. */
|
||||
/* NOTE: call this before clearing the pin, otherwise codec stalls */
|
||||
alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
|
||||
/* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
|
||||
* when booting with headset plugged. So skip setting it for the codec alc257
|
||||
*/
|
||||
if (codec->core.vendor_id != 0x10ec0257)
|
||||
alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
|
||||
|
||||
if (!spec->no_shutup_pins)
|
||||
snd_hda_codec_write(codec, hp_pin, 0,
|
||||
@@ -6051,6 +6054,7 @@ static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
|
||||
#include "hp_x360_helper.c"
|
||||
|
||||
enum {
|
||||
ALC269_FIXUP_GPIO2,
|
||||
ALC269_FIXUP_SONY_VAIO,
|
||||
ALC275_FIXUP_SONY_VAIO_GPIO2,
|
||||
ALC269_FIXUP_DELL_M101Z,
|
||||
@@ -6232,6 +6236,10 @@ enum {
|
||||
};
|
||||
|
||||
static const struct hda_fixup alc269_fixups[] = {
|
||||
[ALC269_FIXUP_GPIO2] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc_fixup_gpio2,
|
||||
},
|
||||
[ALC269_FIXUP_SONY_VAIO] = {
|
||||
.type = HDA_FIXUP_PINCTLS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
@@ -7051,6 +7059,8 @@ static const struct hda_fixup alc269_fixups[] = {
|
||||
[ALC233_FIXUP_LENOVO_MULTI_CODECS] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc233_alc662_fixup_lenovo_dual_codecs,
|
||||
.chained = true,
|
||||
.chain_id = ALC269_FIXUP_GPIO2
|
||||
},
|
||||
[ALC233_FIXUP_ACER_HEADSET_MIC] = {
|
||||
.type = HDA_FIXUP_VERBS,
|
||||
|
||||
@@ -371,7 +371,6 @@ static const struct usbmix_name_map asus_rog_map[] = {
|
||||
};
|
||||
|
||||
static const struct usbmix_name_map lenovo_p620_rear_map[] = {
|
||||
{ 19, NULL, 2 }, /* FU, Volume */
|
||||
{ 19, NULL, 12 }, /* FU, Input Gain Pad */
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -1678,12 +1678,13 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
|
||||
&& (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
||||
msleep(20);
|
||||
|
||||
/* Zoom R16/24, Logitech H650e, Jabra 550a, Kingston HyperX needs a tiny
|
||||
* delay here, otherwise requests like get/set frequency return as
|
||||
* failed despite actually succeeding.
|
||||
/* Zoom R16/24, Logitech H650e/H570e, Jabra 550a, Kingston HyperX
|
||||
* needs a tiny delay here, otherwise requests like get/set
|
||||
* frequency return as failed despite actually succeeding.
|
||||
*/
|
||||
if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
|
||||
chip->usb_id == USB_ID(0x046d, 0x0a46) ||
|
||||
chip->usb_id == USB_ID(0x046d, 0x0a56) ||
|
||||
chip->usb_id == USB_ID(0x0b0e, 0x0349) ||
|
||||
chip->usb_id == USB_ID(0x0951, 0x16ad)) &&
|
||||
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
||||
|
||||
Reference in New Issue
Block a user