Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull sound fixes from Takashi Iwai:
"This has been a calm week again: one minor lockdep fix for PCM core,
and the most of the rest are HD-audio quirks and fixups for various
chips and machines"

* tag 'sound-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Add headset mic pin quirk for a Dell device
ALSA: hda - remove one pin from ALC292_STANDARD_PINS
ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda
ALSA: hda: add new AMD PCI IDs with proper driver caps
ALSA: hda - Fix Skylake codec timeout
ALSA: hda - Add headset mic support for Acer Aspire V5-573G
ALSA: sparc: Add missing kfree in error path
ALSA: pcm: Fix lockdep warning with nonatomic PCM ops

+57 -18
+1 -1
sound/core/pcm_native.c
··· 85 85 void snd_pcm_stream_lock(struct snd_pcm_substream *substream) 86 86 { 87 87 if (substream->pcm->nonatomic) { 88 - down_read(&snd_pcm_link_rwsem); 88 + down_read_nested(&snd_pcm_link_rwsem, SINGLE_DEPTH_NESTING); 89 89 mutex_lock(&substream->self_group.mutex); 90 90 } else { 91 91 read_lock(&snd_pcm_link_rwlock);
+4 -1
sound/hda/hdac_i915.c
··· 56 56 enable ? "enable" : "disable"); 57 57 58 58 if (enable) { 59 - if (!bus->i915_power_refcount++) 59 + if (!bus->i915_power_refcount++) { 60 60 acomp->ops->get_power(acomp->dev); 61 + snd_hdac_set_codec_wakeup(bus, true); 62 + snd_hdac_set_codec_wakeup(bus, false); 63 + } 61 64 } else { 62 65 WARN_ON(!bus->i915_power_refcount); 63 66 if (!--bus->i915_power_refcount)
+18 -8
sound/pci/hda/hda_intel.c
··· 979 979 if (!azx_has_pm_runtime(chip)) 980 980 return 0; 981 981 982 - if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL 983 - && hda->need_i915_power) { 984 - bus = azx_bus(chip); 985 - snd_hdac_display_power(bus, true); 986 - haswell_set_bclk(hda); 987 - /* toggle codec wakeup bit for STATESTS read */ 988 - snd_hdac_set_codec_wakeup(bus, true); 989 - snd_hdac_set_codec_wakeup(bus, false); 982 + if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL) { 983 + bus = azx_bus(chip); 984 + if (hda->need_i915_power) { 985 + snd_hdac_display_power(bus, true); 986 + haswell_set_bclk(hda); 987 + } else { 988 + /* toggle codec wakeup bit for STATESTS read */ 989 + snd_hdac_set_codec_wakeup(bus, true); 990 + snd_hdac_set_codec_wakeup(bus, false); 991 + } 990 992 } 991 993 992 994 /* Read STATESTS before controller reset */ ··· 2184 2182 /* ATI HDMI */ 2185 2183 { PCI_DEVICE(0x1002, 0x1308), 2186 2184 .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2185 + { PCI_DEVICE(0x1002, 0x157a), 2186 + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2187 2187 { PCI_DEVICE(0x1002, 0x793b), 2188 2188 .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, 2189 2189 { PCI_DEVICE(0x1002, 0x7919), ··· 2240 2236 .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2241 2237 { PCI_DEVICE(0x1002, 0xaab0), 2242 2238 .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2239 + { PCI_DEVICE(0x1002, 0xaac0), 2240 + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2243 2241 { PCI_DEVICE(0x1002, 0xaac8), 2242 + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2243 + { PCI_DEVICE(0x1002, 0xaad8), 2244 + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2245 + { PCI_DEVICE(0x1002, 0xaae8), 2244 2246 .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, 2245 2247 /* VIA VT8251/VT8237A */ 2246 2248 { PCI_DEVICE(0x1106, 0x3288),
+2
sound/pci/hda/patch_hdmi.c
··· 3512 3512 { .id = 0x10de0070, .name = "GPU 70 HDMI/DP", .patch = patch_nvhdmi }, 3513 3513 { .id = 0x10de0071, .name = "GPU 71 HDMI/DP", .patch = patch_nvhdmi }, 3514 3514 { .id = 0x10de0072, .name = "GPU 72 HDMI/DP", .patch = patch_nvhdmi }, 3515 + { .id = 0x10de007d, .name = "GPU 7d HDMI/DP", .patch = patch_nvhdmi }, 3515 3516 { .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch }, 3516 3517 { .id = 0x11069f80, .name = "VX900 HDMI/DP", .patch = patch_via_hdmi }, 3517 3518 { .id = 0x11069f81, .name = "VX900 HDMI/DP", .patch = patch_via_hdmi }, ··· 3577 3576 MODULE_ALIAS("snd-hda-codec-id:10de0070"); 3578 3577 MODULE_ALIAS("snd-hda-codec-id:10de0071"); 3579 3578 MODULE_ALIAS("snd-hda-codec-id:10de0072"); 3579 + MODULE_ALIAS("snd-hda-codec-id:10de007d"); 3580 3580 MODULE_ALIAS("snd-hda-codec-id:10de8001"); 3581 3581 MODULE_ALIAS("snd-hda-codec-id:11069f80"); 3582 3582 MODULE_ALIAS("snd-hda-codec-id:11069f81");
+31 -8
sound/pci/hda/patch_realtek.c
··· 5061 5061 { 0x14, 0x90170110 }, 5062 5062 { 0x17, 0x40000008 }, 5063 5063 { 0x18, 0x411111f0 }, 5064 - { 0x19, 0x411111f0 }, 5064 + { 0x19, 0x01a1913c }, 5065 5065 { 0x1a, 0x411111f0 }, 5066 5066 { 0x1b, 0x411111f0 }, 5067 5067 { 0x1d, 0x40f89b2d }, ··· 5430 5430 {0x15, 0x0221401f}, \ 5431 5431 {0x1a, 0x411111f0}, \ 5432 5432 {0x1b, 0x411111f0}, \ 5433 - {0x1d, 0x40700001}, \ 5434 - {0x1e, 0x411111f0} 5433 + {0x1d, 0x40700001} 5435 5434 5436 5435 #define ALC298_STANDARD_PINS \ 5437 5436 {0x18, 0x411111f0}, \ ··· 5461 5462 {0x17, 0x40000000}, 5462 5463 {0x1d, 0x40700001}, 5463 5464 {0x21, 0x02211030}), 5465 + SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, 5466 + {0x12, 0x40000000}, 5467 + {0x14, 0x90170130}, 5468 + {0x17, 0x411111f0}, 5469 + {0x18, 0x411111f0}, 5470 + {0x19, 0x411111f0}, 5471 + {0x1a, 0x411111f0}, 5472 + {0x1b, 0x01014020}, 5473 + {0x1d, 0x4054c029}, 5474 + {0x1e, 0x411111f0}, 5475 + {0x21, 0x0221103f}), 5464 5476 SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, 5465 5477 {0x12, 0x90a60160}, 5466 5478 {0x14, 0x90170120}, ··· 5700 5690 {0x13, 0x411111f0}, 5701 5691 {0x16, 0x01014020}, 5702 5692 {0x18, 0x411111f0}, 5703 - {0x19, 0x01a19030}), 5693 + {0x19, 0x01a19030}, 5694 + {0x1e, 0x411111f0}), 5704 5695 SND_HDA_PIN_QUIRK(0x10ec0292, 0x1028, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, 5705 5696 ALC292_STANDARD_PINS, 5706 5697 {0x12, 0x90a60140}, 5707 5698 {0x13, 0x411111f0}, 5708 5699 {0x16, 0x01014020}, 5709 5700 {0x18, 0x02a19031}, 5710 - {0x19, 0x01a1903e}), 5701 + {0x19, 0x01a1903e}, 5702 + {0x1e, 0x411111f0}), 5711 5703 SND_HDA_PIN_QUIRK(0x10ec0292, 0x1028, "Dell", ALC269_FIXUP_DELL3_MIC_NO_PRESENCE, 5712 5704 ALC292_STANDARD_PINS, 5713 5705 {0x12, 0x90a60140}, 5714 5706 {0x13, 0x411111f0}, 5715 5707 {0x16, 0x411111f0}, 5716 5708 {0x18, 0x411111f0}, 5717 - {0x19, 0x411111f0}), 5709 + {0x19, 0x411111f0}, 5710 + {0x1e, 0x411111f0}), 5718 5711 SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, 5719 5712 ALC292_STANDARD_PINS, 5720 5713 {0x12, 0x40000000}, 5721 5714 {0x13, 0x90a60140}, 5722 5715 {0x16, 0x21014020}, 5723 5716 {0x18, 0x411111f0}, 5724 - {0x19, 0x21a19030}), 5717 + {0x19, 0x21a19030}, 5718 + {0x1e, 0x411111f0}), 5725 5719 SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, 5726 5720 ALC292_STANDARD_PINS, 5727 5721 {0x12, 0x40000000}, 5728 5722 {0x13, 0x90a60140}, 5729 5723 {0x16, 0x411111f0}, 5730 5724 {0x18, 0x411111f0}, 5731 - {0x19, 0x411111f0}), 5725 + {0x19, 0x411111f0}, 5726 + {0x1e, 0x411111f0}), 5727 + SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, 5728 + ALC292_STANDARD_PINS, 5729 + {0x12, 0x40000000}, 5730 + {0x13, 0x90a60140}, 5731 + {0x16, 0x21014020}, 5732 + {0x18, 0x411111f0}, 5733 + {0x19, 0x21a19030}, 5734 + {0x1e, 0x411111ff}), 5732 5735 SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, 5733 5736 ALC298_STANDARD_PINS, 5734 5737 {0x12, 0x90a60130},
+1
sound/sparc/amd7930.c
··· 956 956 if (!amd->regs) { 957 957 snd_printk(KERN_ERR 958 958 "amd7930-%d: Unable to map chip registers.\n", dev); 959 + kfree(amd); 959 960 return -EIO; 960 961 } 961 962