linux_dsm_epyc7002/sound/pci/hda
Takashi Iwai 029d92c289 ALSA: hda: Refactor display power management
The current HD-audio code manages the DRM audio power via too complex
redirections, and this seems even still unbalanced in a corner case as
Intel DRM CI has been intermittently reporting.  This patch is a big
surgery for addressing the complexity and the possible unbalance.

Basically the patch changes the display PM in the following ways:

- Both HD-audio controller and codec drivers call a single helper,
  snd_hdac_display_power().  (Formerly, the display power control from
  a codec was done indirectly via link_power bus ops.)

- snd_hdac_display_power() receives the codec address index.  For
  turning on/off from the controller, pass HDA_CODEC_IDX_CONTROLLER.

- snd_hdac_display_power() doesn't manage refcounts any longer, but
  keeps the power status in bitmap.  If any of controller or codecs is
  turned on, the function updates the DRM power state via get_power()
  or put_power().

Also this refactor allows us more cleanup:

- The link_power bus ops is dropped, so there is no longer indirect
  management, as mentioned in the above.

- hdac_device link_power_control flag is moved to hda_codec
  display_power_control flag, as it's only for HDA legacy.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106525
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-12-11 08:06:55 +01:00
..
ca0132_regs.h
dell_wmi_helper.c ALSA: update dell-wmi mic-mute registration to new world order 2018-08-15 19:08:10 -07:00
hda_auto_parser.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_auto_parser.h
hda_beep.c ALSA: hda-beep: add SPDX identifiers 2018-02-20 16:49:59 +01:00
hda_beep.h ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_bind.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_codec.c ALSA: hda: Refactor display power management 2018-12-11 08:06:55 +01:00
hda_controller_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_controller.c ALSA: hda: Refactor display power management 2018-12-11 08:06:55 +01:00
hda_controller.h ALSA: hda: fix unused variable warning 2018-09-11 16:46:42 +02:00
hda_eld.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_generic.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_generic.h ALSA: hda - Move mic mute LED helper to the generic parser 2018-06-21 13:51:26 +02:00
hda_hwdep.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_intel_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_intel.c ALSA: hda: Refactor display power management 2018-12-11 08:06:55 +01:00
hda_intel.h ALSA: hda - Enable runtime PM only for discrete GPU 2018-09-13 17:58:30 +02:00
hda_jack.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_jack.h
hda_local.h ALSA: hda - Fix runtime PM 2018-05-24 20:16:47 +02:00
hda_proc.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_sysfs.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
hda_tegra.c ALSA: Move hda_codec.h to include/sound 2018-08-30 16:55:38 +02:00
hp_x360_helper.c ALSA: hda/realtek - Fixup for HP x360 laptops with B&O speakers 2018-05-29 22:33:37 +02:00
Kconfig ALSA: hda - Enforce CONFIG_SND_DYNAMIC_MINORS for HDMI/DP codec 2018-05-02 09:08:16 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
patch_analog.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
patch_ca0110.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
patch_ca0132.c ALSA: hda/ca0132 - fix AE-5 pincfg 2018-11-19 12:18:43 +01:00
patch_cirrus.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
patch_cmedia.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
patch_conexant.c ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) 2018-10-12 08:07:17 +02:00
patch_hdmi.c ALSA: hda: Refactor display power management 2018-12-11 08:06:55 +01:00
patch_realtek.c ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon 2018-12-09 08:43:34 +01:00
patch_si3054.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
patch_sigmatel.c ALSA: hda/sigmatel - Disable automute for Elo VuPoint 2018-10-04 21:22:47 +02:00
patch_via.c ALSA: hda: move hda_codec.h to include/sound 2018-08-30 15:45:10 +01:00
thinkpad_helper.c ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks 2018-11-06 16:33:53 +01:00