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

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

Pull sound fixes from Takashi Iwai:
"Things seem to calm down so far, just a small few HD-audio fixes
(regression fixes and a new codec ID addition) popping up"

* tag 'sound-3.16-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Fix broken PM due to incomplete i915 initialization
ALSA: hda - Revert stream assignment order for Intel controllers
ALSA: hda - Add new GPU codec ID 0x10de0070 to snd-hda
ALSA: hda: Fix build warning

+12 -8
+2 -1
sound/pci/hda/hda_controller.c
··· 193 193 dsp_unlock(azx_dev); 194 194 return azx_dev; 195 195 } 196 - if (!res) 196 + if (!res || 197 + (chip->driver_caps & AZX_DCAPS_REVERSE_ASSIGN)) 197 198 res = azx_dev; 198 199 } 199 200 dsp_unlock(azx_dev);
+6 -6
sound/pci/hda/hda_intel.c
··· 227 227 /* quirks for Intel PCH */ 228 228 #define AZX_DCAPS_INTEL_PCH_NOPM \ 229 229 (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \ 230 - AZX_DCAPS_COUNT_LPIB_DELAY) 230 + AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_REVERSE_ASSIGN) 231 231 232 232 #define AZX_DCAPS_INTEL_PCH \ 233 233 (AZX_DCAPS_INTEL_PCH_NOPM | AZX_DCAPS_PM_RUNTIME) ··· 596 596 struct azx *chip = card->private_data; 597 597 struct azx_pcm *p; 598 598 599 - if (chip->disabled) 599 + if (chip->disabled || chip->init_failed) 600 600 return 0; 601 601 602 602 snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); ··· 628 628 struct snd_card *card = dev_get_drvdata(dev); 629 629 struct azx *chip = card->private_data; 630 630 631 - if (chip->disabled) 631 + if (chip->disabled || chip->init_failed) 632 632 return 0; 633 633 634 634 if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL) { ··· 665 665 struct snd_card *card = dev_get_drvdata(dev); 666 666 struct azx *chip = card->private_data; 667 667 668 - if (chip->disabled) 668 + if (chip->disabled || chip->init_failed) 669 669 return 0; 670 670 671 671 if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME)) ··· 692 692 struct hda_codec *codec; 693 693 int status; 694 694 695 - if (chip->disabled) 695 + if (chip->disabled || chip->init_failed) 696 696 return 0; 697 697 698 698 if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME)) ··· 729 729 struct snd_card *card = dev_get_drvdata(dev); 730 730 struct azx *chip = card->private_data; 731 731 732 - if (chip->disabled) 732 + if (chip->disabled || chip->init_failed) 733 733 return 0; 734 734 735 735 if (!power_save_controller ||
+1
sound/pci/hda/hda_priv.h
··· 186 186 #define AZX_DCAPS_BUFSIZE (1 << 21) /* no buffer size alignment */ 187 187 #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer size alignment */ 188 188 #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23) /* BDLE in 4k boundary */ 189 + #define AZX_DCAPS_REVERSE_ASSIGN (1 << 24) /* Assign devices in reverse order */ 189 190 #define AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */ 190 191 #define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM support */ 191 192 #define AZX_DCAPS_I915_POWERWELL (1 << 27) /* HSW i915 powerwell support */
+1 -1
sound/pci/hda/hda_tegra.c
··· 236 236 return rc; 237 237 } 238 238 239 + #ifdef CONFIG_PM_SLEEP 239 240 static void hda_tegra_disable_clocks(struct hda_tegra *data) 240 241 { 241 242 clk_disable_unprepare(data->hda2hdmi_clk); ··· 244 243 clk_disable_unprepare(data->hda_clk); 245 244 } 246 245 247 - #ifdef CONFIG_PM_SLEEP 248 246 /* 249 247 * power management 250 248 */
+2
sound/pci/hda/patch_hdmi.c
··· 3337 3337 { .id = 0x10de0051, .name = "GPU 51 HDMI/DP", .patch = patch_nvhdmi }, 3338 3338 { .id = 0x10de0060, .name = "GPU 60 HDMI/DP", .patch = patch_nvhdmi }, 3339 3339 { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch }, 3340 + { .id = 0x10de0070, .name = "GPU 70 HDMI/DP", .patch = patch_nvhdmi }, 3340 3341 { .id = 0x10de0071, .name = "GPU 71 HDMI/DP", .patch = patch_nvhdmi }, 3341 3342 { .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch }, 3342 3343 { .id = 0x11069f80, .name = "VX900 HDMI/DP", .patch = patch_via_hdmi }, ··· 3395 3394 MODULE_ALIAS("snd-hda-codec-id:10de0051"); 3396 3395 MODULE_ALIAS("snd-hda-codec-id:10de0060"); 3397 3396 MODULE_ALIAS("snd-hda-codec-id:10de0067"); 3397 + MODULE_ALIAS("snd-hda-codec-id:10de0070"); 3398 3398 MODULE_ALIAS("snd-hda-codec-id:10de0071"); 3399 3399 MODULE_ALIAS("snd-hda-codec-id:10de8001"); 3400 3400 MODULE_ALIAS("snd-hda-codec-id:11069f80");