sound fixes for 4.1-rc7

It was a fairly calm week; here you can find only a few trivial
 quirks and fixes for USB and HD-audio.  All changes are pretty
 device specific.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJVbxybAAoJEGwxgFQ9KSmk3hAQAK8KBsNFkg+jxw9kA+gv3Gjp
 p2eZw+PwZTN0lgCReqWTaEa2i2hHqFkuzYlEXjEp2PN8BU1u2eewAMchqO7RSubq
 fqKMP1V5HnZ5B//sOi397mrQAB9Yw/l4jCmMWBzYF80iPdvp5anBaoZjOmt1uCu2
 13BZoquF5oGNWsRSMJSduzAjpOOzNHE2RSFqRnWsyjpIGQc3KvNXrf/VkNN90KKL
 Uij09fy1H26IYolWxmk61nKdBNE0ll2BteuN3JZYw1fX/gPZCrwR0ZOorOZGZI/5
 HsmDP7OBGeRXSB70Vr70AxrE6dYqL6M/jXaTYwxwH79K0w5xuZwJHdLfP83CkqZk
 FQNFJIAWXS0bKfYIzziZCVi9di07hc6o+/GsKoeU77fnJgbL43TteU7yoqQAiSZe
 u8HzpzUjPNN6MUSUHEX0W8D2tjYkj91kguJuZKRpAh9WftMW680+acF8WQZnVgLt
 hiBHZMRp8MdzODl80H3BzpxoE0aEx6n7m3n29/esf8K3WFgCI61hSQzOme9vk/Y4
 gTfFmYisbpvuwe/sJuqdXorXpy3DahLx0aozVYWtMWvIWhNTNGekuYEfA6E9Io8c
 tcACatN3Kyzm4QDjLgYCFYwe7YjdkKjOAjdMixkbdp/8wu74ZbqvyKVsv+MDy6Q2
 32OoFygOKx1vi/ZMbTeW
 =p9yL
 -----END PGP SIGNATURE-----

Merge tag 'sound-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "It was a fairly calm week; here you can find only a few trivial quirks
  and fixes for USB and HD-audio.  All changes are pretty device
  specific"

* tag 'sound-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: usb-audio: fix missing input volume controls in MAYA44 USB(+)
  ALSA: usb-audio: add MAYA44 USB+ mixer control names
  ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420
  ALSA: hda - Fix jack detection at resume with VT codecs
  ALSA: usb-audio: don't try to get Outlaw RR2150 sample rate
  ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion
  ALSA: hda/realtek - Suooprt Dell headset mode for ALC256
This commit is contained in:
Linus Torvalds 2015-06-05 10:16:52 -07:00
commit 6e6f9e0b00
5 changed files with 28 additions and 6 deletions

View File

@ -2168,6 +2168,7 @@ static const struct hda_fixup alc882_fixups[] = {
static const struct snd_pci_quirk alc882_fixup_tbl[] = {
SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD),
SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_FIXUP_ACER_EAPD),
SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_FIXUP_ACER_EAPD),
@ -5376,6 +5377,13 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
{0x17, 0x40000000},
{0x1d, 0x40700001},
{0x21, 0x02211040}),
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
ALC255_STANDARD_PINS,
{0x12, 0x90a60160},
{0x14, 0x90170120},
{0x17, 0x40000000},
{0x1d, 0x40700001},
{0x21, 0x02211030}),
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
ALC256_STANDARD_PINS,
{0x13, 0x40000000}),

View File

@ -449,6 +449,15 @@ static int via_suspend(struct hda_codec *codec)
return 0;
}
static int via_resume(struct hda_codec *codec)
{
/* some delay here to make jack detection working (bko#98921) */
msleep(10);
codec->patch_ops.init(codec);
regcache_sync(codec->core.regmap);
return 0;
}
#endif
#ifdef CONFIG_PM
@ -475,6 +484,7 @@ static const struct hda_codec_ops via_patch_ops = {
.stream_pm = snd_hda_gen_stream_pm,
#ifdef CONFIG_PM
.suspend = via_suspend,
.resume = via_resume,
.check_power_status = via_check_power_status,
#endif
};

View File

@ -918,6 +918,7 @@ static void volume_control_quirks(struct usb_mixer_elem_info *cval,
case USB_ID(0x046d, 0x081d): /* HD Webcam c510 */
case USB_ID(0x046d, 0x0825): /* HD Webcam c270 */
case USB_ID(0x046d, 0x0826): /* HD Webcam c525 */
case USB_ID(0x046d, 0x08ca): /* Logitech Quickcam Fusion */
case USB_ID(0x046d, 0x0991):
/* Most audio usb devices lie about volume resolution.
* Most Logitech webcams have res = 384.
@ -1582,12 +1583,6 @@ static int parse_audio_mixer_unit(struct mixer_build *state, int unitid,
unitid);
return -EINVAL;
}
/* no bmControls field (e.g. Maya44) -> ignore */
if (desc->bLength <= 10 + input_pins) {
usb_audio_dbg(state->chip, "MU %d has no bmControls field\n",
unitid);
return 0;
}
num_ins = 0;
ich = 0;
@ -1595,6 +1590,9 @@ static int parse_audio_mixer_unit(struct mixer_build *state, int unitid,
err = parse_audio_unit(state, desc->baSourceID[pin]);
if (err < 0)
continue;
/* no bmControls field (e.g. Maya44) -> ignore */
if (desc->bLength <= 10 + input_pins)
continue;
err = check_input_term(state, desc->baSourceID[pin], &iterm);
if (err < 0)
return err;

View File

@ -436,6 +436,11 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
.id = USB_ID(0x200c, 0x1018),
.map = ebox44_map,
},
{
/* MAYA44 USB+ */
.id = USB_ID(0x2573, 0x0008),
.map = maya44_map,
},
{
/* KEF X300A */
.id = USB_ID(0x27ac, 0x1000),

View File

@ -1120,6 +1120,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
case USB_ID(0x045E, 0x0772): /* MS Lifecam Studio */
case USB_ID(0x045E, 0x0779): /* MS Lifecam HD-3000 */
case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */
return true;
}
return false;