aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-04-18 13:28:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-18 13:28:27 -0400
commit2f3e12bd9c52bbda42adc8c41612b1e9ab7acb1e (patch)
treea988190285cd1caa77c4dbe038bde542d761f00d
parent345ef87b3741351a1b068a8b4828eb9d188b03f1 (diff)
parent8dc9abb93dde94e7f2bc719032fe16f5713df05c (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.c10
-rw-r--r--sound/pci/hda/patch_realtek.c5
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 },