diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-18 13:28:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-18 13:28:27 -0400 |
commit | 2f3e12bd9c52bbda42adc8c41612b1e9ab7acb1e (patch) | |
tree | a988190285cd1caa77c4dbe038bde542d761f00d | |
parent | 345ef87b3741351a1b068a8b4828eb9d188b03f1 (diff) | |
parent | 8dc9abb93dde94e7f2bc719032fe16f5713df05c (diff) |
Merge tag 'sound-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"Just a copule of HD-audio device/codec-specific quirks, and a trivial
replacement of udelay() with mdelay() in the old es18xx driver code.
All should be safe to apply"
* tag 'sound-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda/realtek - Add headset Mic support for Dell machine
ALSA: hda - add headset mic detect quirk for a Dell laptop
ALSA: es18xx driver should use udelay error
ALSA: hda/realtek - Add support of ALC288 codec
-rw-r--r-- | sound/isa/es18xx.c | 10 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 1c16830af3d8..6faaac60161a 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c | |||
@@ -520,7 +520,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip, | |||
520 | snd_es18xx_mixer_write(chip, 0x78, 0x93); | 520 | snd_es18xx_mixer_write(chip, 0x78, 0x93); |
521 | #ifdef AVOID_POPS | 521 | #ifdef AVOID_POPS |
522 | /* Avoid pops */ | 522 | /* Avoid pops */ |
523 | udelay(100000); | 523 | mdelay(100); |
524 | if (chip->caps & ES18XX_PCM2) | 524 | if (chip->caps & ES18XX_PCM2) |
525 | /* Restore Audio 2 volume */ | 525 | /* Restore Audio 2 volume */ |
526 | snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol); | 526 | snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol); |
@@ -537,7 +537,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip, | |||
537 | /* Stop DMA */ | 537 | /* Stop DMA */ |
538 | snd_es18xx_mixer_write(chip, 0x78, 0x00); | 538 | snd_es18xx_mixer_write(chip, 0x78, 0x00); |
539 | #ifdef AVOID_POPS | 539 | #ifdef AVOID_POPS |
540 | udelay(25000); | 540 | mdelay(25); |
541 | if (chip->caps & ES18XX_PCM2) | 541 | if (chip->caps & ES18XX_PCM2) |
542 | /* Set Audio 2 volume to 0 */ | 542 | /* Set Audio 2 volume to 0 */ |
543 | snd_es18xx_mixer_write(chip, 0x7C, 0); | 543 | snd_es18xx_mixer_write(chip, 0x7C, 0); |
@@ -596,7 +596,7 @@ static int snd_es18xx_capture_prepare(struct snd_pcm_substream *substream) | |||
596 | snd_es18xx_write(chip, 0xA5, count >> 8); | 596 | snd_es18xx_write(chip, 0xA5, count >> 8); |
597 | 597 | ||
598 | #ifdef AVOID_POPS | 598 | #ifdef AVOID_POPS |
599 | udelay(100000); | 599 | mdelay(100); |
600 | #endif | 600 | #endif |
601 | 601 | ||
602 | /* Set format */ | 602 | /* Set format */ |
@@ -691,7 +691,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip, | |||
691 | snd_es18xx_write(chip, 0xB8, 0x05); | 691 | snd_es18xx_write(chip, 0xB8, 0x05); |
692 | #ifdef AVOID_POPS | 692 | #ifdef AVOID_POPS |
693 | /* Avoid pops */ | 693 | /* Avoid pops */ |
694 | udelay(100000); | 694 | mdelay(100); |
695 | /* Enable Audio 1 */ | 695 | /* Enable Audio 1 */ |
696 | snd_es18xx_dsp_command(chip, 0xD1); | 696 | snd_es18xx_dsp_command(chip, 0xD1); |
697 | #endif | 697 | #endif |
@@ -705,7 +705,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip, | |||
705 | snd_es18xx_write(chip, 0xB8, 0x00); | 705 | snd_es18xx_write(chip, 0xB8, 0x00); |
706 | #ifdef AVOID_POPS | 706 | #ifdef AVOID_POPS |
707 | /* Avoid pops */ | 707 | /* Avoid pops */ |
708 | udelay(25000); | 708 | mdelay(25); |
709 | /* Disable Audio 1 */ | 709 | /* Disable Audio 1 */ |
710 | snd_es18xx_dsp_command(chip, 0xD3); | 710 | snd_es18xx_dsp_command(chip, 0xD3); |
711 | #endif | 711 | #endif |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 14ae979a92ea..c643dfc0a826 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4621,6 +4621,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
4621 | SND_PCI_QUIRK(0x1028, 0x0667, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), | 4621 | SND_PCI_QUIRK(0x1028, 0x0667, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), |
4622 | SND_PCI_QUIRK(0x1028, 0x0668, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE), | 4622 | SND_PCI_QUIRK(0x1028, 0x0668, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE), |
4623 | SND_PCI_QUIRK(0x1028, 0x0669, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE), | 4623 | SND_PCI_QUIRK(0x1028, 0x0669, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE), |
4624 | SND_PCI_QUIRK(0x1028, 0x067f, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE), | ||
4624 | SND_PCI_QUIRK(0x1028, 0x15cc, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), | 4625 | SND_PCI_QUIRK(0x1028, 0x15cc, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), |
4625 | SND_PCI_QUIRK(0x1028, 0x15cd, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), | 4626 | SND_PCI_QUIRK(0x1028, 0x15cd, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), |
4626 | SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), | 4627 | SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), |
@@ -4912,6 +4913,7 @@ static int patch_alc269(struct hda_codec *codec) | |||
4912 | spec->codec_variant = ALC269_TYPE_ALC285; | 4913 | spec->codec_variant = ALC269_TYPE_ALC285; |
4913 | break; | 4914 | break; |
4914 | case 0x10ec0286: | 4915 | case 0x10ec0286: |
4916 | case 0x10ec0288: | ||
4915 | spec->codec_variant = ALC269_TYPE_ALC286; | 4917 | spec->codec_variant = ALC269_TYPE_ALC286; |
4916 | break; | 4918 | break; |
4917 | case 0x10ec0255: | 4919 | case 0x10ec0255: |
@@ -5539,6 +5541,8 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { | |||
5539 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 5541 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
5540 | SND_PCI_QUIRK(0x1028, 0x0628, "Dell", ALC668_FIXUP_AUTO_MUTE), | 5542 | SND_PCI_QUIRK(0x1028, 0x0628, "Dell", ALC668_FIXUP_AUTO_MUTE), |
5541 | SND_PCI_QUIRK(0x1028, 0x064e, "Dell", ALC668_FIXUP_AUTO_MUTE), | 5543 | SND_PCI_QUIRK(0x1028, 0x064e, "Dell", ALC668_FIXUP_AUTO_MUTE), |
5544 | SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | ||
5545 | SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | ||
5542 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), | 5546 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), |
5543 | SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A), | 5547 | SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A), |
5544 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP), | 5548 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP), |
@@ -5781,6 +5785,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = { | |||
5781 | { .id = 0x10ec0284, .name = "ALC284", .patch = patch_alc269 }, | 5785 | { .id = 0x10ec0284, .name = "ALC284", .patch = patch_alc269 }, |
5782 | { .id = 0x10ec0285, .name = "ALC285", .patch = patch_alc269 }, | 5786 | { .id = 0x10ec0285, .name = "ALC285", .patch = patch_alc269 }, |
5783 | { .id = 0x10ec0286, .name = "ALC286", .patch = patch_alc269 }, | 5787 | { .id = 0x10ec0286, .name = "ALC286", .patch = patch_alc269 }, |
5788 | { .id = 0x10ec0288, .name = "ALC288", .patch = patch_alc269 }, | ||
5784 | { .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 }, | 5789 | { .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 }, |
5785 | { .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 }, | 5790 | { .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 }, |
5786 | { .id = 0x10ec0293, .name = "ALC293", .patch = patch_alc269 }, | 5791 | { .id = 0x10ec0293, .name = "ALC293", .patch = patch_alc269 }, |