1. 23 8月, 2012 1 次提交
    • M
      ALSA: hda - add runtime PM support · b8dfc462
      Mengdong Lin 提交于
      Runtime PM can bring more power saving:
      - When the controller is suspended, its parent device will also have a chance
        to suspend.
      - PCI subsystem can choose the lowest power state the controller can signal
        wake up from. This state can be D3cold on platforms with ACPI PM support.
      And runtime PM can provide a gerneral sysfs interface for a system policy
      manager.
      
      Runtime PM support is based on current HDA power saving implementation. The user
      can enable runtime PM on platfroms that provide acceptable latency on transition
      from D3 to D0.
      
      Details:
      - When both power saving and runtime PM are enabled:
        -- If a codec supports 'stop-clock' in D3, it will request suspending the
           controller after it enters D3 and request resuming the controller before
           back to D0. Thus the controller will be suspended only when all codecs are
           suspended and support stop-clock in D3.
        -- User IO operations and HW wakeup signal can resume the controller back to
           D0.
      - If runtime PM is disabled, power saving just works as before.
      - If power saving is disabled, the controller won't be suspended because the
        power usage counter can never be 0.
      
      More about 'stop-clock' feature:
      If a codec can support targeted pass-through operations in D3 state when there
      is no BCLK present on the link, it will set CLKSTOP flag in the supported power
      states and report PS-ClkStopOk when entering D3 state. Please refer to HDA spec
      section 7.3.3.10 Power state and 7.3.4.12 Supported Power State.
      
      [Fixed CONFIG_PM_RUNTIME dependency in hda_intel.c by tiwai]
      Signed-off-by: NMengdong Lin <mengdong.lin@intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b8dfc462
  2. 22 8月, 2012 1 次提交
  3. 21 8月, 2012 1 次提交
  4. 20 8月, 2012 2 次提交
  5. 10 8月, 2012 1 次提交
  6. 09 8月, 2012 1 次提交
  7. 08 8月, 2012 1 次提交
  8. 04 7月, 2012 1 次提交
  9. 03 7月, 2012 1 次提交
  10. 26 6月, 2012 2 次提交
  11. 22 6月, 2012 1 次提交
  12. 18 6月, 2012 1 次提交
    • D
      ALSA: hda - Handle open while transitioning to D3. · b4a91cf0
      Dylan Reid 提交于
      This addresses an issue encountered when a pcm is opened while
      transitioning to low power state (codec->power_on == 1 &&
      codec->power_transition == -1).  Add snd_pcm_power_up_d3wait to
      hda_codec.  This function is used to power up from azx_open as opposed
      to snd_hda_power_up used from codec_exec_verb. When powering up from
      azx_open, wait for pending power downs to complete, avoiding the power
      up continuing in parallel with the power down on the work queue.
      
      The specific issue seen was with the CS4210 codec, it powers off the ADC
      and DAC nid in its suspend handler.  If it is re-opened before the
      ~100ms power down process completes, the ADC and DAC nid are initialized
      while powered down and audio is lost until another suspend/resume cycle.
      Signed-off-by: NDylan Reid <dgreid@chromium.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b4a91cf0
  13. 08 6月, 2012 1 次提交
  14. 07 6月, 2012 2 次提交
  15. 19 5月, 2012 1 次提交
  16. 14 5月, 2012 1 次提交
  17. 12 5月, 2012 1 次提交
  18. 10 5月, 2012 2 次提交
  19. 09 5月, 2012 6 次提交
  20. 08 5月, 2012 2 次提交
  21. 20 4月, 2012 3 次提交
  22. 13 3月, 2012 2 次提交
  23. 12 3月, 2012 1 次提交
  24. 10 3月, 2012 1 次提交
    • T
      ALSA: hda - Initialize vmaster slave volumes · 18478e8b
      Takashi Iwai 提交于
      When the driver is changed to use vmaster or a new slave element is
      added by the improvement of the parser code, user may face often the
      silent output because of the muted slave mixer although Master volume
      is properly set.  And they complain.  And I get upset.
      
      Although such a mixer element should be initialized via "alsactl init",
      it'd be more user-friendly if the known output slaves are unmuted and
      set to 0dB so that user can control the volume only with Master as
      default.  Since Master is still set muted as default even with this
      change, no risk of the speaker blow up, too.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      18478e8b
  25. 07 3月, 2012 1 次提交
    • T
      ALSA: hda - Set codec to D3 forcibly even if not used · 785f857d
      Takashi Iwai 提交于
      We've seen a problem with a pop-noise at suspend/resume on a HP
      machine with ALC269, and it turned out to be an issue that the
      controller going to D3 while the codec is unused.
      
      When the device is once suspended and resumed and kept unused, the
      driver doesn't initialize the codecs.  Instead, the codec chips are
      set up dynamically at the first usage.  Now, suppose the device going
      to suspend again before the codec is set up.  The controller is turned
      off to D3 while the codec chips are untouched.  This caused a pop
      noise because the codec chip might have been turned on implicitly by
      the hardware.
      
      As a workaround, the codec chip needs to be set to D3 when going to
      suspend no matter whether it was used or not.  Also, for making it
      happening, the controller has to be always set up in the resume path.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      785f857d
  26. 02 3月, 2012 1 次提交
  27. 01 3月, 2012 1 次提交
    • T
      ALSA: hda - Add a fake mute feature · 3868137e
      Takashi Iwai 提交于
      Some codecs don't supply the mute amp-capabilities although the lowest
      volume gives the mute.  It'd be handy if the parser provides the mute
      mixers in such a case.
      
      This patch adds an extension amp-cap bit (which is used only in the
      driver) to represent the min volume = mute state.  Also modified the
      amp cache code to support the fake mute feature when this bit is set
      but the real mute bit is unset.
      
      In addition, conexant cx5051 parser uses this new feature to implement
      the missing mute controls.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42825
      
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3868137e