linux/sound/soc/intel
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
..
atom ASoC: add for_each_card_rtds() macro 2018-09-20 10:21:28 -07:00
baytrail ASoC: intel: baytrail: replace platform to component 2018-02-12 11:45:10 +00:00
boards ASoC: Fixes for v4.20 2018-11-27 16:06:42 +01:00
common ASoC: intel: don't pass GFP_DMA32 to dma_alloc_coherent 2018-10-17 11:10:48 +01:00
haswell ASoC: Intel: Haswell: fix endianness handling 2018-07-25 17:21:07 +01:00
skylake ALSA: hda: Refactor display power management 2018-12-11 08:06:55 +01:00
Kconfig ASoC: Intel: Skylake: fix Kconfigs, make HDaudio codec optional 2018-11-20 16:52:19 +00:00
Makefile ASoC: Intel: Fix Kconfig with top-level selector 2018-01-08 16:18:48 +00:00