]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: hda - divide controller and codec dependency on i915 gfx power well
authorMengdong Lin <mengdong.lin@intel.com>
Wed, 29 Apr 2015 09:43:36 +0000 (17:43 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 29 Apr 2015 10:27:53 +0000 (12:27 +0200)
commit26ed724bcae82e5c2f71d32b298d91d7bf27f7d1
treeca2576888eb4343dc9dcb2ca15e9f2b2bad58623
parentac5af4102dd9dd0791e695d99f3c2afea8f6bd13
ALSA: hda - divide controller and codec dependency on i915 gfx power well

This patch can improve power saving for Intel platforms on which only the
display audio codec is in the shared i915 power well:

- Add a flag "need_i915_power" to indicate whether the controller needs the
  i915 power well.

- The driver will always request the i915 power when probing the controller
  and codecs if AZX_DCAPS_I915_POWERWELL is set (either the controller or a
  codec needs this power).

- If the controller needs the i915 power, the power will be held after probe
  until the controller is runtime suspended or S3. If the controller doesn't
  need the power, the power will be released the after probe, and a codec
  that needs the power can request/release the power via bus link_power ops.

Background:
- For Haswell/Broadwell, which has a separate HD-A controller for display audio,
  both the controller and the display codec are in the i915 power well.

- For Baytrail/Braswell, the display and analog audio share the same HDA
  controller and link, and only the display codec is in the i915 power well.

- For Skylake, the display and analog audio share the same HDA controller but
  use separate links. Only the display codec is in the i915 power well. And in
  legacy mode we take the two links as one. So it can follow Baytrail/Braswell.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.h